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

Method test_do_not_rehash_dict_keys

Lib/test/test_set.py:336–353  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

334 self.assertEqual(repr(s), '%s({%s(...)})' % (name, name))
335
336 def test_do_not_rehash_dict_keys(self):
337 n = 10
338 d = dict.fromkeys(map(HashCountingInt, range(n)))
339 self.assertEqual(sum(elem.hash_count for elem in d), n)
340 s = self.thetype(d)
341 self.assertEqual(sum(elem.hash_count for elem in d), n)
342 s.difference(d)
343 self.assertEqual(sum(elem.hash_count for elem in d), n)
344 if hasattr(s, 'symmetric_difference_update'):
345 s.symmetric_difference_update(d)
346 self.assertEqual(sum(elem.hash_count for elem in d), n)
347 d2 = dict.fromkeys(set(d))
348 self.assertEqual(sum(elem.hash_count for elem in d), n)
349 d3 = dict.fromkeys(frozenset(d))
350 self.assertEqual(sum(elem.hash_count for elem in d), n)
351 d3 = dict.fromkeys(frozenset(d), 123)
352 self.assertEqual(sum(elem.hash_count for elem in d), n)
353 self.assertEqual(d3, dict.fromkeys(d, 123))
354
355 def test_container_iterator(self):
356 # Bug #3680: tp_traverse was not implemented for set iterator object

Callers

nothing calls this directly

Calls 5

setFunction · 0.85
differenceMethod · 0.80
fromkeysMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected