(self)
| 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') |
nothing calls this directly
no test coverage detected