Kaydet (Commit) 91c9da34 authored tarafından Michael Foord's avatar Michael Foord

Issue 7832. Deprecating assertSameElements in Py3k.

üst 8442a606
...@@ -2758,24 +2758,6 @@ class Test_TestCase(TestCase, TestEquality, TestHashing): ...@@ -2758,24 +2758,6 @@ class Test_TestCase(TestCase, TestEquality, TestHashing):
self.assertRaises(self.failureException, self.assertDictEqual, [], d) self.assertRaises(self.failureException, self.assertDictEqual, [], d)
self.assertRaises(self.failureException, self.assertDictEqual, 1, 1) 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): def testAssertItemsEqual(self):
a = object() a = object()
self.assertItemsEqual([1, 2, 3], [3, 2, 1]) self.assertItemsEqual([1, 2, 3], [3, 2, 1])
...@@ -3032,7 +3014,8 @@ test case ...@@ -3032,7 +3014,8 @@ test case
(self.failIfAlmostEqual, (3.0, 5.0)), (self.failIfAlmostEqual, (3.0, 5.0)),
(self.failUnless, (True,)), (self.failUnless, (True,)),
(self.failUnlessRaises, (TypeError, lambda _: 3.14 + 'spam')), (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: for meth, args in old:
with warnings.catch_warnings(record=True) as w: with warnings.catch_warnings(record=True) as w:
......
...@@ -700,10 +700,9 @@ class TestCase(object): ...@@ -700,10 +700,9 @@ class TestCase(object):
msg: Optional message to use on failure instead of a list of msg: Optional message to use on failure instead of a list of
differences. differences.
For more general containership equality, assertSameElements will work assertSetEqual uses ducktyping to support different types of sets, and
with things other than sets. This uses ducktyping to support is optimized for sets specifically (parameters must support a
different types of sets, and is optimized for sets specifically difference method).
(parameters must support a difference method).
""" """
try: try:
difference1 = set1.difference(set2) difference1 = set1.difference(set2)
...@@ -809,6 +808,8 @@ class TestCase(object): ...@@ -809,6 +808,8 @@ class TestCase(object):
set(actual))`` but it works with sequences of unhashable objects as set(actual))`` but it works with sequences of unhashable objects as
well. well.
""" """
warnings.warn('assertSameElements is deprecated',
DeprecationWarning)
try: try:
expected = set(expected_seq) expected = set(expected_seq)
actual = set(actual_seq) actual = set(actual_seq)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment