Commit 82cb9a23 authored by Raymond Hettinger's avatar Raymond Hettinger

Add test for hash commutativity.

parent 2dfc168b
......@@ -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))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment