MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_weak_valued_iters

Method test_weak_valued_iters

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

Source from the content-addressed store, hash-verified

1450 self.assertEqual(len(objects2), 0)
1451
1452 def test_weak_valued_iters(self):
1453 dict, objects = self.make_weak_valued_dict()
1454 self.check_iters(dict)
1455
1456 # Test valuerefs()
1457 refs = dict.valuerefs()
1458 self.assertEqual(len(refs), len(objects))
1459 objects2 = list(objects)
1460 for wr in refs:
1461 ob = wr()
1462 self.assertEqual(ob, dict[ob.arg])
1463 self.assertEqual(ob.arg, dict[ob.arg].arg)
1464 objects2.remove(ob)
1465 self.assertEqual(len(objects2), 0)
1466
1467 # Test itervaluerefs()
1468 objects2 = list(objects)
1469 self.assertEqual(len(list(dict.itervaluerefs())), len(objects))
1470 for wr in dict.itervaluerefs():
1471 ob = wr()
1472 self.assertEqual(ob, dict[ob.arg])
1473 self.assertEqual(ob.arg, dict[ob.arg].arg)
1474 objects2.remove(ob)
1475 self.assertEqual(len(objects2), 0)
1476
1477 def check_iters(self, dict):
1478 # item iterator:

Callers

nothing calls this directly

Calls 8

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

Tested by

no test coverage detected