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