summaryrefslogtreecommitdiff
path: root/Lib
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-12-31 02:01:33 +0000
committerRaymond Hettinger <python@rcn.com>2003-12-31 02:01:33 +0000
commit9854e879a03396d6961322c26de2c99534f05e29 (patch)
treeec1ac67d40749971200f34a4e9d0e356ae9bcb9c /Lib
parentd7987facb945b789e3f508db12f4dea4a4fd6422 (diff)
downloadcpython-9854e879a03396d6961322c26de2c99534f05e29.tar.gz
Strengthen the test for hash effectiveness
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_set.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 5d3716967c..2104ee90e1 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -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