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

Method test_hamt_delete_2

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

Source from the content-addressed store, hash-verified

932 self.assertEqual(h.get(E), 'e')
933
934 def test_hamt_delete_2(self):
935 A = HashKey(100, 'A')
936 B = HashKey(201001, 'B')
937 C = HashKey(101001, 'C')
938 D = HashKey(103, 'D')
939 E = HashKey(104, 'E')
940 Z = HashKey(-100, 'Z')
941
942 Er = HashKey(201001, 'Er', error_on_eq_to=B)
943
944 h = hamt()
945 h = h.set(A, 'a')
946 h = h.set(B, 'b')
947 h = h.set(C, 'c')
948 h = h.set(D, 'd')
949 h = h.set(E, 'e')
950
951 orig_len = len(h)
952
953 # BitmapNode(size=8 bitmap=0b1110010000):
954 # <Key name:A hash:100>: 'a'
955 # <Key name:D hash:103>: 'd'
956 # <Key name:E hash:104>: 'e'
957 # NULL:
958 # BitmapNode(size=4 bitmap=0b100000000001000000000):
959 # <Key name:B hash:201001>: 'b'
960 # <Key name:C hash:101001>: 'c'
961
962 with self.assertRaisesRegex(ValueError, 'cannot compare'):
963 h.delete(Er)
964
965 h = h.delete(Z)
966 self.assertEqual(len(h), orig_len)
967
968 h = h.delete(C)
969 self.assertEqual(len(h), orig_len - 1)
970
971 h = h.delete(B)
972 self.assertEqual(len(h), orig_len - 2)
973
974 h = h.delete(A)
975 self.assertEqual(len(h), orig_len - 3)
976
977 self.assertEqual(h.get(D), 'd')
978 self.assertEqual(h.get(E), 'e')
979
980 h = h.delete(A)
981 h = h.delete(B)
982 h = h.delete(D)
983 h = h.delete(E)
984 self.assertEqual(len(h), 0)
985
986 def test_hamt_delete_3(self):
987 A = HashKey(100, 'A')

Callers

nothing calls this directly

Calls 6

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

Tested by

no test coverage detected