Strengthen the test for hash effectiveness

This commit is contained in:
Raymond Hettinger 2003-12-31 02:01:33 +00:00
parent ed54d91ef5
commit 6e70accaff
1 changed files with 4 additions and 4 deletions

View File

@ -389,12 +389,12 @@ class TestFrozenSet(TestJointOps):
def test_hash_effectiveness(self):
n = 13
rng = range(n)
hashvalues = set()
addhashvalue = hashvalues.add
elemmasks = [(i+1, 1<<i) for i in range(n)]
for i in xrange(2**n):
combination = [j for j in rng if (1<<j)&i]
hashvalues.add(hash(self.thetype(combination)))
self.assert_(len(hashvalues) >= 2**(n-2))
addhashvalue(hash(frozenset([e for e, m in elemmasks if m&i])))
self.assertEqual(len(hashvalues), 2**n)
class FrozenSetSubclass(frozenset):
pass