MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_hamt_delete_2

Method test_hamt_delete_2

Lib/test/test_context.py:721–771  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

719 self.assertEqual(h.get(E), 'e')
720
721 def test_hamt_delete_2(self):
722 A = HashKey(100, 'A')
723 B = HashKey(201001, 'B')
724 C = HashKey(101001, 'C')
725 D = HashKey(103, 'D')
726 E = HashKey(104, 'E')
727 Z = HashKey(-100, 'Z')
728
729 Er = HashKey(201001, 'Er', error_on_eq_to=B)
730
731 h = hamt()
732 h = h.set(A, 'a')
733 h = h.set(B, 'b')
734 h = h.set(C, 'c')
735 h = h.set(D, 'd')
736 h = h.set(E, 'e')
737
738 orig_len = len(h)
739
740 # BitmapNode(size=8 bitmap=0b1110010000):
741 # <Key name:A hash:100>: 'a'
742 # <Key name:D hash:103>: 'd'
743 # <Key name:E hash:104>: 'e'
744 # NULL:
745 # BitmapNode(size=4 bitmap=0b100000000001000000000):
746 # <Key name:B hash:201001>: 'b'
747 # <Key name:C hash:101001>: 'c'
748
749 with self.assertRaisesRegex(ValueError, 'cannot compare'):
750 h.delete(Er)
751
752 h = h.delete(Z)
753 self.assertEqual(len(h), orig_len)
754
755 h = h.delete(C)
756 self.assertEqual(len(h), orig_len - 1)
757
758 h = h.delete(B)
759 self.assertEqual(len(h), orig_len - 2)
760
761 h = h.delete(A)
762 self.assertEqual(len(h), orig_len - 3)
763
764 self.assertEqual(h.get(D), 'd')
765 self.assertEqual(h.get(E), 'e')
766
767 h = h.delete(A)
768 h = h.delete(B)
769 h = h.delete(D)
770 h = h.delete(E)
771 self.assertEqual(len(h), 0)
772
773 def test_hamt_delete_3(self):
774 A = HashKey(100, 'A')

Callers

nothing calls this directly

Calls 7

HashKeyClass · 0.85
lenFunction · 0.85
assertRaisesRegexMethod · 0.80
setMethod · 0.45
deleteMethod · 0.45
assertEqualMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected