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

Method test_weak_valued_iters

Lib/test/test_weakref.py:1470–1493  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1468 self.assertEqual(len(objects2), 0)
1469
1470 def test_weak_valued_iters(self):
1471 dict, objects = self.make_weak_valued_dict()
1472 self.check_iters(dict)
1473
1474 # Test valuerefs()
1475 refs = dict.valuerefs()
1476 self.assertEqual(len(refs), len(objects))
1477 objects2 = list(objects)
1478 for wr in refs:
1479 ob = wr()
1480 self.assertEqual(ob, dict[ob.arg])
1481 self.assertEqual(ob.arg, dict[ob.arg].arg)
1482 objects2.remove(ob)
1483 self.assertEqual(len(objects2), 0)
1484
1485 # Test itervaluerefs()
1486 objects2 = list(objects)
1487 self.assertEqual(len(list(dict.itervaluerefs())), len(objects))
1488 for wr in dict.itervaluerefs():
1489 ob = wr()
1490 self.assertEqual(ob, dict[ob.arg])
1491 self.assertEqual(ob.arg, dict[ob.arg].arg)
1492 objects2.remove(ob)
1493 self.assertEqual(len(objects2), 0)
1494
1495 def check_iters(self, dict):
1496 # item iterator:

Callers

nothing calls this directly

Calls 7

make_weak_valued_dictMethod · 0.95
check_itersMethod · 0.95
listClass · 0.85
valuerefsMethod · 0.80
itervaluerefsMethod · 0.80
assertEqualMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected