From 82cb9a235de45074d578d46bbf6680e726b13efd Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 5 Jul 2005 05:34:43 +0000 Subject: Add test for hash commutativity. --- Lib/test/test_set.py | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 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)) -- cgit v0.12