MCPcopy Create free account
hub / github.com/RustPython/RustPython / test_merge_operator

Method test_merge_operator

Lib/test/test_ordered_dict.py:690–731  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

688 support.check_free_after_iterating(self, lambda d: iter(d.items()), self.OrderedDict)
689
690 def test_merge_operator(self):
691 OrderedDict = self.OrderedDict
692
693 a = OrderedDict({0: 0, 1: 1, 2: 1})
694 b = OrderedDict({1: 1, 2: 2, 3: 3})
695
696 c = a.copy()
697 d = a.copy()
698 c |= b
699 d |= list(b.items())
700 expected = OrderedDict({0: 0, 1: 1, 2: 2, 3: 3})
701 self.assertEqual(a | dict(b), expected)
702 self.assertEqual(a | b, expected)
703 self.assertEqual(c, expected)
704 self.assertEqual(d, expected)
705
706 c = b.copy()
707 c |= a
708 expected = OrderedDict({1: 1, 2: 1, 3: 3, 0: 0})
709 self.assertEqual(dict(b) | a, expected)
710 self.assertEqual(b | a, expected)
711 self.assertEqual(c, expected)
712
713 self.assertIs(type(a | b), OrderedDict)
714 self.assertIs(type(dict(a) | b), OrderedDict)
715 self.assertIs(type(a | dict(b)), OrderedDict)
716
717 expected = a.copy()
718 a |= ()
719 a |= ""
720 self.assertEqual(a, expected)
721
722 with self.assertRaises(TypeError):
723 a | None
724 with self.assertRaises(TypeError):
725 a | ()
726 with self.assertRaises(TypeError):
727 a | "BAD"
728 with self.assertRaises(TypeError):
729 a | ""
730 with self.assertRaises(ValueError):
731 a |= "BAD"
732
733 @support.cpython_only
734 def test_ordered_dict_items_result_gc(self):

Callers

nothing calls this directly

Calls 7

copyMethod · 0.95
itemsMethod · 0.95
listClass · 0.85
OrderedDictClass · 0.70
assertEqualMethod · 0.45
assertIsMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected