(self)
| 674 | self.assertEqual(list(h.items()), []) |
| 675 | |
| 676 | def test_hamt_delete_1(self): |
| 677 | A = HashKey(100, 'A') |
| 678 | B = HashKey(101, 'B') |
| 679 | C = HashKey(102, 'C') |
| 680 | D = HashKey(103, 'D') |
| 681 | E = HashKey(104, 'E') |
| 682 | Z = HashKey(-100, 'Z') |
| 683 | |
| 684 | Er = HashKey(103, 'Er', error_on_eq_to=D) |
| 685 | |
| 686 | h = hamt() |
| 687 | h = h.set(A, 'a') |
| 688 | h = h.set(B, 'b') |
| 689 | h = h.set(C, 'c') |
| 690 | h = h.set(D, 'd') |
| 691 | h = h.set(E, 'e') |
| 692 | |
| 693 | orig_len = len(h) |
| 694 | |
| 695 | # BitmapNode(size=10 bitmap=0b111110000 id=0x10eadc618): |
| 696 | # <Key name:A hash:100>: 'a' |
| 697 | # <Key name:B hash:101>: 'b' |
| 698 | # <Key name:C hash:102>: 'c' |
| 699 | # <Key name:D hash:103>: 'd' |
| 700 | # <Key name:E hash:104>: 'e' |
| 701 | |
| 702 | h = h.delete(C) |
| 703 | self.assertEqual(len(h), orig_len - 1) |
| 704 | |
| 705 | with self.assertRaisesRegex(ValueError, 'cannot compare'): |
| 706 | h.delete(Er) |
| 707 | |
| 708 | h = h.delete(D) |
| 709 | self.assertEqual(len(h), orig_len - 2) |
| 710 | |
| 711 | h2 = h.delete(Z) |
| 712 | self.assertIs(h2, h) |
| 713 | |
| 714 | h = h.delete(A) |
| 715 | self.assertEqual(len(h), orig_len - 3) |
| 716 | |
| 717 | self.assertEqual(h.get(A, 42), 42) |
| 718 | self.assertEqual(h.get(B), 'b') |
| 719 | self.assertEqual(h.get(E), 'e') |
| 720 | |
| 721 | def test_hamt_delete_2(self): |
| 722 | A = HashKey(100, 'A') |
nothing calls this directly
no test coverage detected