]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Strengthen the test for hash effectiveness
authorRaymond Hettinger <python@rcn.com>
Wed, 31 Dec 2003 02:01:33 +0000 (02:01 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 31 Dec 2003 02:01:33 +0000 (02:01 +0000)
Lib/test/test_set.py

index 5d3716967cf6cb9b961cd17834d5f1af547c394b..2104ee90e1eea74da71e4f17f4b1de2014c24e59 100644 (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