diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index 5acbb701b69..85d733f39c5 100644 --- a/Lib/_abcoll.py +++ b/Lib/_abcoll.py @@ -9,6 +9,7 @@ bootstrapping issues. Unit tests are in test_collections. """ from abc import ABCMeta, abstractmethod +import sys __all__ = ["Hashable", "Iterable", "Iterator", "Sized", "Container", "Callable", diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 4f823e393ce..99eb8cf9add 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -294,6 +294,21 @@ class TestCollectionABCs(unittest.TestCase): self.failUnless(isinstance(sample(), Set)) self.failUnless(issubclass(sample, Set)) + def test_hash_Set(self): + class OneTwoThreeSet(Set): + def __init__(self): + self.contents = [1, 2, 3] + def __contains__(self, x): + return x in self.contents + def __len__(self): + return len(self.contents) + def __iter__(self): + return iter(self.contents) + def __hash__(self): + return self._hash() + a, b = OneTwoThreeSet(), OneTwoThreeSet() + self.failUnless(hash(a) == hash(b)) + def test_MutableSet(self): self.failUnless(isinstance(set(), MutableSet)) self.failUnless(issubclass(set, MutableSet))