MCPcopy Index your code
hub / github.com/python/cpython / test_hamt_collision_1

Method test_hamt_collision_1

Lib/test/test_context.py:727–762  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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.

Callers

nothing calls this directly

Calls 4

HashKeyClass · 0.85
setMethod · 0.45
assertEqualMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected