From: Raymond Hettinger <python@rcn.com>
Date: Mon, 23 Jun 2008 03:29:28 +0000 (+0000)
Subject: Issue 3161: Missing import and test.
X-Git-Tag: v2.6b2~186
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c52f52ef3051af3b3504b7a0818e5948daa03a7;p=python

Issue 3161: Missing import and test.
---

diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index 5acbb701b6..85d733f39c 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 4f823e393c..99eb8cf9ad 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))