MCPcopy Index your code
hub / github.com/python/cpython / test_hamt_delete_1

Method test_hamt_delete_1

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

Source from the content-addressed store, hash-verified

887 self.assertEqual(list(h.items()), [])
888
889 def test_hamt_delete_1(self):
890 A = HashKey(100, 'A')
891 B = HashKey(101, 'B')
892 C = HashKey(102, 'C')
893 D = HashKey(103, 'D')
894 E = HashKey(104, 'E')
895 Z = HashKey(-100, 'Z')
896
897 Er = HashKey(103, 'Er', error_on_eq_to=D)
898
899 h = hamt()
900 h = h.set(A, 'a')
901 h = h.set(B, 'b')
902 h = h.set(C, 'c')
903 h = h.set(D, 'd')
904 h = h.set(E, 'e')
905
906 orig_len = len(h)
907
908 # BitmapNode(size=10 bitmap=0b111110000 id=0x10eadc618):
909 # <Key name:A hash:100>: 'a'
910 # <Key name:B hash:101>: 'b'
911 # <Key name:C hash:102>: 'c'
912 # <Key name:D hash:103>: 'd'
913 # <Key name:E hash:104>: 'e'
914
915 h = h.delete(C)
916 self.assertEqual(len(h), orig_len - 1)
917
918 with self.assertRaisesRegex(ValueError, 'cannot compare'):
919 h.delete(Er)
920
921 h = h.delete(D)
922 self.assertEqual(len(h), orig_len - 2)
923
924 h2 = h.delete(Z)
925 self.assertIs(h2, h)
926
927 h = h.delete(A)
928 self.assertEqual(len(h), orig_len - 3)
929
930 self.assertEqual(h.get(A, 42), 42)
931 self.assertEqual(h.get(B), 'b')
932 self.assertEqual(h.get(E), 'e')
933
934 def test_hamt_delete_2(self):
935 A = HashKey(100, 'A')

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected