summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Foord <fuzzyman@voidspace.org.uk>2010-03-20 17:21:27 (GMT)
committerMichael Foord <fuzzyman@voidspace.org.uk>2010-03-20 17:21:27 (GMT)
commit91c9da34bc155139618d3c837d9bc7cef1ac4a17 (patch)
treea4670094c20ab424654fbdfab0c5865e2f39ebf5
parent8442a606b82683121fc38b462f54754e22be3535 (diff)
downloadcpython-91c9da34bc155139618d3c837d9bc7cef1ac4a17.zip
cpython-91c9da34bc155139618d3c837d9bc7cef1ac4a17.tar.gz
cpython-91c9da34bc155139618d3c837d9bc7cef1ac4a17.tar.bz2
Issue 7832. Deprecating assertSameElements in Py3k.
-rw-r--r--Lib/test/test_unittest.py21
-rw-r--r--Lib/unittest/case.py9
2 files changed, 7 insertions, 23 deletions
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index cf734f7..f24a929 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -2758,24 +2758,6 @@ class Test_TestCase(TestCase, TestEquality, TestHashing):
self.assertRaises(self.failureException, self.assertDictEqual, [], d)
self.assertRaises(self.failureException, self.assertDictEqual, 1, 1)
- self.assertSameElements([1, 2, 3], [3, 2, 1])
- self.assertSameElements([1, 2] + [3] * 100, [1] * 100 + [2, 3])
- self.assertSameElements(['foo', 'bar', 'baz'], ['bar', 'baz', 'foo'])
- self.assertRaises(self.failureException, self.assertSameElements,
- [10], [10, 11])
- self.assertRaises(self.failureException, self.assertSameElements,
- [10, 11], [10])
-
- # Test that sequences of unhashable objects can be tested for sameness:
- self.assertSameElements([[1, 2], [3, 4]], [[3, 4], [1, 2]])
-
- self.assertSameElements([{'a': 1}, {'b': 2}], [{'b': 2}, {'a': 1}])
- self.assertRaises(self.failureException, self.assertSameElements,
- [[1]], [[2]])
- self.assertRaises(self.failureException, self.assertSameElements,
- [{'a': 1}, {'b': 2}], [{'b': 2}, {'a': 2}])
-
-
def testAssertItemsEqual(self):
a = object()
self.assertItemsEqual([1, 2, 3], [3, 2, 1])
@@ -3032,7 +3014,8 @@ test case
(self.failIfAlmostEqual, (3.0, 5.0)),
(self.failUnless, (True,)),
(self.failUnlessRaises, (TypeError, lambda _: 3.14 + 'spam')),
- (self.failIf, (False,))
+ (self.failIf, (False,)),
+ (self.assertSameElements, ([1, 1, 2, 3], [1, 2, 3]))
)
for meth, args in old:
with warnings.catch_warnings(record=True) as w:
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index d9f35fe..0d224d8 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -700,10 +700,9 @@ class TestCase(object):
msg: Optional message to use on failure instead of a list of
differences.
- For more general containership equality, assertSameElements will work
- with things other than sets. This uses ducktyping to support
- different types of sets, and is optimized for sets specifically
- (parameters must support a difference method).
+ assertSetEqual uses ducktyping to support different types of sets, and
+ is optimized for sets specifically (parameters must support a
+ difference method).
"""
try:
difference1 = set1.difference(set2)
@@ -809,6 +808,8 @@ class TestCase(object):
set(actual))`` but it works with sequences of unhashable objects as
well.
"""
+ warnings.warn('assertSameElements is deprecated',
+ DeprecationWarning)
try:
expected = set(expected_seq)
actual = set(actual_seq)