Add test for hash commutativity.
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 26e38ab..46e4000 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -5,6 +5,7 @@
import copy
import pickle
import os
+from random import randrange, shuffle
class PassThru(Exception):
pass
@@ -399,6 +400,15 @@
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))