MCPcopy Create free account
hub / github.com/python/cpython / test_dict_merge

Method test_dict_merge

Lib/test/test_capi/test_dict.py:460–480  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

458 self.assertRaises(SystemError, update, NULL, {})
459
460 def test_dict_merge(self):
461 # Test PyDict_Merge()
462 merge = _testlimitedcapi.dict_merge
463 for cls1 in DICT_TYPES:
464 for cls2 in ANYDICT_TYPES + MAPPING_TYPES:
465 dct = cls1({'a': 1, 'b': 2})
466 merge(dct, cls2({'b': 3, 'c': 4}), 0)
467 self.assertEqual(dct, {'a': 1, 'b': 2, 'c': 4})
468 dct = cls1({'a': 1, 'b': 2})
469 merge(dct, cls2({'b': 3, 'c': 4}), 1)
470 self.assertEqual(dct, {'a': 1, 'b': 3, 'c': 4})
471
472 self.assertRaises(AttributeError, merge, {}, [], 0)
473 self.assertRaises(AttributeError, merge, {}, 42, 0)
474 for test_type in FROZENDICT_TYPES:
475 with self.frozendict_does_not_support('assignment'):
476 merge(test_type(), {}, 0)
477 for test_type in MAPPING_TYPES + OTHER_TYPES:
478 self.assertRaises(SystemError, merge, test_type(), {}, 0)
479 self.assertRaises(SystemError, merge, {}, NULL, 0)
480 self.assertRaises(SystemError, merge, NULL, {}, 0)
481
482 def test_dict_mergefromseq2(self):
483 # Test PyDict_MergeFromSeq2()

Callers

nothing calls this directly

Calls 4

mergeFunction · 0.85
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected