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