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

Method test_dict_mergefromseq2

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

Source from the content-addressed store, hash-verified

480 self.assertRaises(SystemError, merge, NULL, {}, 0)
481
482 def test_dict_mergefromseq2(self):
483 # Test PyDict_MergeFromSeq2()
484 mergefromseq2 = _testlimitedcapi.dict_mergefromseq2
485 for cls1 in DICT_TYPES:
486 for cls2 in list, iter:
487 dct = cls1({'a': 1, 'b': 2})
488 mergefromseq2(dct, cls2([('b', 3), ('c', 4)]), 0)
489 self.assertEqual(dct, {'a': 1, 'b': 2, 'c': 4})
490 dct = cls1({'a': 1, 'b': 2})
491 mergefromseq2(dct, cls2([('b', 3), ('c', 4)]), 1)
492 self.assertEqual(dct, {'a': 1, 'b': 3, 'c': 4})
493
494 self.assertRaises(ValueError, mergefromseq2, {}, [(1,)], 0)
495 self.assertRaises(ValueError, mergefromseq2, {}, [(1, 2, 3)], 0)
496 self.assertRaises(TypeError, mergefromseq2, {}, [1], 0)
497 self.assertRaises(TypeError, mergefromseq2, {}, 42, 0)
498 for test_type in FROZENDICT_TYPES:
499 with self.frozendict_does_not_support('assignment'):
500 mergefromseq2(test_type(), [], 0)
501 for test_type in MAPPING_TYPES + OTHER_TYPES:
502 self.assertRaises(SystemError, mergefromseq2, test_type(), [], 0)
503 # CRASHES mergefromseq2({}, NULL, 0)
504 # CRASHES mergefromseq2(NULL, {}, 0)
505
506 def test_dict_pop(self):
507 # Test PyDict_Pop()

Callers

nothing calls this directly

Calls 3

assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected