Add test for hash commutativity.
This commit is contained in:
parent
2dfc168bc3
commit
82cb9a235d
|
@ -5,6 +5,7 @@ import operator
|
|||
import copy
|
||||
import pickle
|
||||
import os
|
||||
from random import randrange, shuffle
|
||||
|
||||
class PassThru(Exception):
|
||||
pass
|
||||
|
@ -399,6 +400,15 @@ class TestFrozenSet(TestJointOps):
|
|||
self.assertEqual(hash(self.thetype('abcdeb')),
|
||||
hash(self.thetype('ebecda')))
|
||||
|
||||
# make sure that all permutations give the same hash value
|
||||
n = 100
|
||||
seq = [randrange(n) for i in xrange(n)]
|
||||
results = set()
|
||||
for i in xrange(200):
|
||||
shuffle(seq)
|
||||
results.add(hash(self.thetype(seq)))
|
||||
self.assertEqual(len(results), 1)
|
||||
|
||||
def test_copy(self):
|
||||
dup = self.s.copy()
|
||||
self.assertEqual(id(self.s), id(dup))
|
||||
|
|
Loading…
Reference in New Issue