Merged revisions 84301 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r84301 | daniel.stutzbach | 2010-08-24 15:49:57 -0500 (Tue, 24 Aug 2010) | 1 line
Issue 8750: Fixed MutableSet's methods to correctly handle reflexive operations, namely x -= x and x ^= x
........
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index f10f956..16c4552 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -526,6 +526,21 @@
s = MySet([5,43,2,1])
self.assertEqual(s.pop(), 1)
+ def test_issue8750(self):
+ empty = WithSet()
+ full = WithSet(range(10))
+ s = WithSet(full)
+ s -= s
+ self.assertEqual(s, empty)
+ s = WithSet(full)
+ s ^= s
+ self.assertEqual(s, empty)
+ s = WithSet(full)
+ s &= s
+ self.assertEqual(s, full)
+ s |= s
+ self.assertEqual(s, full)
+
def test_Mapping(self):
for sample in [dict]:
self.assertIsInstance(sample(), Mapping)