(self)
| 725 | self.assertIsNot(h1.get('key'), h2.get('key')) |
| 726 | |
| 727 | def test_hamt_collision_1(self): |
| 728 | k1 = HashKey(10, 'aaa') |
| 729 | k2 = HashKey(10, 'bbb') |
| 730 | k3 = HashKey(10, 'ccc') |
| 731 | |
| 732 | h = hamt() |
| 733 | h2 = h.set(k1, 'a') |
| 734 | h3 = h2.set(k2, 'b') |
| 735 | |
| 736 | self.assertEqual(h.get(k1), None) |
| 737 | self.assertEqual(h.get(k2), None) |
| 738 | |
| 739 | self.assertEqual(h2.get(k1), 'a') |
| 740 | self.assertEqual(h2.get(k2), None) |
| 741 | |
| 742 | self.assertEqual(h3.get(k1), 'a') |
| 743 | self.assertEqual(h3.get(k2), 'b') |
| 744 | |
| 745 | h4 = h3.set(k2, 'cc') |
| 746 | h5 = h4.set(k3, 'aa') |
| 747 | |
| 748 | self.assertEqual(h3.get(k1), 'a') |
| 749 | self.assertEqual(h3.get(k2), 'b') |
| 750 | self.assertEqual(h4.get(k1), 'a') |
| 751 | self.assertEqual(h4.get(k2), 'cc') |
| 752 | self.assertEqual(h4.get(k3), None) |
| 753 | self.assertEqual(h5.get(k1), 'a') |
| 754 | self.assertEqual(h5.get(k2), 'cc') |
| 755 | self.assertEqual(h5.get(k2), 'cc') |
| 756 | self.assertEqual(h5.get(k3), 'aa') |
| 757 | |
| 758 | self.assertEqual(len(h), 0) |
| 759 | self.assertEqual(len(h2), 1) |
| 760 | self.assertEqual(len(h3), 2) |
| 761 | self.assertEqual(len(h4), 2) |
| 762 | self.assertEqual(len(h5), 3) |
| 763 | |
| 764 | def test_hamt_collision_3(self): |
| 765 | # Test that iteration works with the deepest tree possible. |
nothing calls this directly
no test coverage detected