mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Issue 7832. Document changes to unittest.TestCase.assertSameElements and assertItemsEqual
This commit is contained in:
parent
91c9da34bc
commit
abd91d5f2c
4 changed files with 32 additions and 13 deletions
|
@ -785,7 +785,7 @@ Test cases
|
||||||
will be included in the error message. This method is used by default
|
will be included in the error message. This method is used by default
|
||||||
when comparing strings with :meth:`assertEqual`.
|
when comparing strings with :meth:`assertEqual`.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
@ -806,7 +806,7 @@ Test cases
|
||||||
Tests that *first* is or is not in *second* with an explanatory error
|
Tests that *first* is or is not in *second* with an explanatory error
|
||||||
message as appropriate.
|
message as appropriate.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
@ -819,12 +819,31 @@ Test cases
|
||||||
|
|
||||||
Duplicate elements are ignored when comparing *actual* and *expected*.
|
Duplicate elements are ignored when comparing *actual* and *expected*.
|
||||||
It is the equivalent of ``assertEqual(set(expected), set(actual))``
|
It is the equivalent of ``assertEqual(set(expected), set(actual))``
|
||||||
but it works with sequences of unhashable objects as well.
|
but it works with sequences of unhashable objects as well. Because
|
||||||
|
duplicates are ignored, this method has been deprecated in favour of
|
||||||
|
:meth:`assertItemsEqual`.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
.. deprecated:: 3.2
|
||||||
|
|
||||||
|
.. method:: assertItemsEqual(actual, expected, msg=None)
|
||||||
|
|
||||||
|
Test that sequence *expected* contains the same elements as *actual*,
|
||||||
|
regardless of their order. When they don't, an error message listing the
|
||||||
|
differences between the sequences will be generated.
|
||||||
|
|
||||||
|
Duplicate elements are *not* ignored when comparing *actual* and
|
||||||
|
*expected*. It verifies if each element has the same count in both
|
||||||
|
sequences. It is the equivalent of ``assertEqual(sorted(expected),
|
||||||
|
sorted(actual))`` but it works with sequences of unhashable objects as
|
||||||
|
well.
|
||||||
|
|
||||||
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
|
.. versionadded:: 3.2
|
||||||
|
|
||||||
.. method:: assertSetEqual(set1, set2, msg=None)
|
.. method:: assertSetEqual(set1, set2, msg=None)
|
||||||
|
|
||||||
|
@ -835,7 +854,7 @@ Test cases
|
||||||
Fails if either of *set1* or *set2* does not have a :meth:`set.difference`
|
Fails if either of *set1* or *set2* does not have a :meth:`set.difference`
|
||||||
method.
|
method.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
@ -847,7 +866,7 @@ Test cases
|
||||||
method will be used by default to compare dictionaries in
|
method will be used by default to compare dictionaries in
|
||||||
calls to :meth:`assertEqual`.
|
calls to :meth:`assertEqual`.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
@ -858,7 +877,7 @@ Test cases
|
||||||
superset of those in *expected*. If not, an error message listing
|
superset of those in *expected*. If not, an error message listing
|
||||||
the missing keys and mismatched values is generated.
|
the missing keys and mismatched values is generated.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
@ -872,7 +891,7 @@ Test cases
|
||||||
These methods are used by default when comparing lists or tuples with
|
These methods are used by default when comparing lists or tuples with
|
||||||
:meth:`assertEqual`.
|
:meth:`assertEqual`.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
.. versionadded:: 3.1
|
.. versionadded:: 3.1
|
||||||
|
|
||||||
|
@ -884,7 +903,7 @@ Test cases
|
||||||
be raised. If the sequences are different an error message is
|
be raised. If the sequences are different an error message is
|
||||||
constructed that shows the difference between the two.
|
constructed that shows the difference between the two.
|
||||||
|
|
||||||
If specified *msg* will be used as the error message on failure.
|
If specified, *msg* will be used as the error message on failure.
|
||||||
|
|
||||||
This method is used to implement :meth:`assertListEqual` and
|
This method is used to implement :meth:`assertListEqual` and
|
||||||
:meth:`assertTupleEqual`.
|
:meth:`assertTupleEqual`.
|
||||||
|
@ -1225,7 +1244,7 @@ Loading and running tests
|
||||||
|
|
||||||
:class:`TestLoader` objects have the following methods:
|
:class:`TestLoader` objects have the following methods:
|
||||||
|
|
||||||
|
a
|
||||||
.. method:: loadTestsFromTestCase(testCaseClass)
|
.. method:: loadTestsFromTestCase(testCaseClass)
|
||||||
|
|
||||||
Return a suite of all tests cases contained in the :class:`TestCase`\ -derived
|
Return a suite of all tests cases contained in the :class:`TestCase`\ -derived
|
||||||
|
|
|
@ -960,7 +960,7 @@ GvR worked on merging them into Python's version of :mod:`unittest`.
|
||||||
* :meth:`assertIn` and :meth:`assertNotIn` tests whether
|
* :meth:`assertIn` and :meth:`assertNotIn` tests whether
|
||||||
*first* is or is not in *second*.
|
*first* is or is not in *second*.
|
||||||
|
|
||||||
* :meth:`assertSameElements` tests whether two provided sequences
|
* :meth:`assertItemsEqual` tests whether two provided sequences
|
||||||
contain the same elements.
|
contain the same elements.
|
||||||
|
|
||||||
* :meth:`assertSetEqual` compares whether two sets are equal, and
|
* :meth:`assertSetEqual` compares whether two sets are equal, and
|
||||||
|
|
|
@ -131,7 +131,7 @@ class CgiTests(unittest.TestCase):
|
||||||
if isinstance(expect, dict):
|
if isinstance(expect, dict):
|
||||||
# test dict interface
|
# test dict interface
|
||||||
self.assertEqual(len(expect), len(fs))
|
self.assertEqual(len(expect), len(fs))
|
||||||
self.assertEqual(norm(expect.keys()), norm(fs.keys()))
|
self.assertItemsEqual(expect.keys(), fs.keys())
|
||||||
##self.assertEqual(norm(expect.values()), norm(fs.values()))
|
##self.assertEqual(norm(expect.values()), norm(fs.values()))
|
||||||
##self.assertEqual(norm(expect.items()), norm(fs.items()))
|
##self.assertEqual(norm(expect.items()), norm(fs.items()))
|
||||||
self.assertEqual(fs.getvalue("nonexistent field", "default"), "default")
|
self.assertEqual(fs.getvalue("nonexistent field", "default"), "default")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python
|
||||||
|
|
||||||
# Make a reST file compliant to our pre-commit hook.
|
# Make a reST file compliant to our pre-commit hook.
|
||||||
# Currently just remove trailing whitespace.
|
# Currently just remove trailing whitespace.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue