summaryrefslogtreecommitdiff
path: root/Lib/test/test_weakset.py
diff options
context:
space:
mode:
authorRobert Schuppenies <okkotonushi@googlemail.com>2009-05-17 17:32:20 +0000
committerRobert Schuppenies <okkotonushi@googlemail.com>2009-05-17 17:32:20 +0000
commit926b28e3a1eeee2d0b6435135ce860b78a317e4e (patch)
tree7efa4ea8ac1c62ae05951723eef3ff9e937f9f5e /Lib/test/test_weakset.py
parentec0a59af028da56ec9b91cb04bd15597321b2c10 (diff)
downloadcpython-926b28e3a1eeee2d0b6435135ce860b78a317e4e.tar.gz
Issue 5964: Fixed WeakSet __eq__ comparison to handle non-WeakSet objects.
Diffstat (limited to 'Lib/test/test_weakset.py')
-rw-r--r--Lib/test/test_weakset.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/Lib/test/test_weakset.py b/Lib/test/test_weakset.py
index cff2045556..4d54576d15 100644
--- a/Lib/test/test_weakset.py
+++ b/Lib/test/test_weakset.py
@@ -134,13 +134,11 @@ class TestWeakSet(unittest.TestCase):
def test_gc(self):
# Create a nest of cycles to exercise overall ref count check
- class A:
- pass
- s = set(A() for i in range(1000))
+ s = WeakSet(Foo() for i in range(1000))
for elem in s:
elem.cycle = s
elem.sub = elem
- elem.set = set([elem])
+ elem.set = WeakSet([elem])
def test_subclass_with_custom_hash(self):
# Bug #1257731
@@ -169,17 +167,12 @@ class TestWeakSet(unittest.TestCase):
t = WeakSet(s)
self.assertNotEqual(id(s), id(t))
- def test_set_literal(self):
- s = set([1,2,3])
- t = {1,2,3}
- self.assertEqual(s, t)
-
def test_hash(self):
self.assertRaises(TypeError, hash, self.s)
def test_clear(self):
self.s.clear()
- self.assertEqual(self.s, set())
+ self.assertEqual(self.s, WeakSet([]))
self.assertEqual(len(self.s), 0)
def test_copy(self):
@@ -304,6 +297,16 @@ class TestWeakSet(unittest.TestCase):
t ^= t
self.assertEqual(t, WeakSet())
+ def test_eq(self):
+ # issue 5964
+ self.assertTrue(self.s == self.s)
+ self.assertTrue(self.s == WeakSet(self.items))
+ self.assertFalse(self.s == set(self.items))
+ self.assertFalse(self.s == list(self.items))
+ self.assertFalse(self.s == tuple(self.items))
+ self.assertFalse(self.s == WeakSet([Foo]))
+ self.assertFalse(self.s == 1)
+
def test_main(verbose=None):
support.run_unittest(TestWeakSet)