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

Method test_setdefault

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

Source from the content-addressed store, hash-verified

402 self.assertIsInstance(r, str)
403
404 def test_setdefault(self):
405 OrderedDict = self.OrderedDict
406 pairs = [('c', 1), ('b', 2), ('a', 3), ('d', 4), ('e', 5), ('f', 6)]
407 shuffle(pairs)
408 od = OrderedDict(pairs)
409 pair_order = list(od.items())
410 self.assertEqual(od.setdefault('a', 10), 3)
411 # make sure order didn't change
412 self.assertEqual(list(od.items()), pair_order)
413 self.assertEqual(od.setdefault('x', 10), 10)
414 # make sure 'x' is added to the end
415 self.assertEqual(list(od.items())[-1], ('x', 10))
416 self.assertEqual(od.setdefault('g', default=9), 9)
417
418 # make sure setdefault still works when __missing__ is defined
419 class Missing(OrderedDict):
420 def __missing__(self, key):
421 return 0
422 self.assertEqual(Missing().setdefault(5, 9), 9)
423
424 def test_reinsert(self):
425 OrderedDict = self.OrderedDict

Callers

nothing calls this directly

Calls 7

itemsMethod · 0.95
setdefaultMethod · 0.95
listClass · 0.85
OrderedDictClass · 0.70
MissingClass · 0.70
assertEqualMethod · 0.45
setdefaultMethod · 0.45

Tested by

no test coverage detected