Commit 8ebe27f3 authored by Raymond Hettinger's avatar Raymond Hettinger

Deprecate assertDictContainsSubset()

parent f2590767
...@@ -1078,9 +1078,6 @@ Test cases ...@@ -1078,9 +1078,6 @@ Test cases
| :meth:`assertNotRegex(s, re) | ``not regex.search(s)`` | 3.2 | | :meth:`assertNotRegex(s, re) | ``not regex.search(s)`` | 3.2 |
| <TestCase.assertNotRegex>` | | | | <TestCase.assertNotRegex>` | | |
+---------------------------------------+--------------------------------+--------------+ +---------------------------------------+--------------------------------+--------------+
| :meth:`assertDictContainsSubset(a, b) | all the key/value pairs | 3.1 |
| <TestCase.assertDictContainsSubset>` | in `a` exist in `b` | |
+---------------------------------------+--------------------------------+--------------+
| :meth:`assertCountEqual(a, b) | `a` and `b` have the same | 3.2 | | :meth:`assertCountEqual(a, b) | `a` and `b` have the same | 3.2 |
| <TestCase.assertCountEqual>` | elements in the same number, | | | <TestCase.assertCountEqual>` | elements in the same number, | |
| | regardless of their order | | | | regardless of their order | |
...@@ -1145,7 +1142,13 @@ Test cases ...@@ -1145,7 +1142,13 @@ Test cases
those in *subset*. If not, an error message listing the missing keys those in *subset*. If not, an error message listing the missing keys
and mismatched values is generated. and mismatched values is generated.
Note, the arguments are in the opposite order of what the method name
dictates. Instead, consider using the set-methods on :ref:`dictionary
views <dict-views>`, for example: ``d.keys() <= e.keys()`` or
``d.items() <= d.items()``.
.. versionadded:: 3.1 .. versionadded:: 3.1
.. deprecated:: 3.2
.. method:: assertCountEqual(actual, expected, msg=None) .. method:: assertCountEqual(actual, expected, msg=None)
......
...@@ -934,6 +934,8 @@ class TestCase(object): ...@@ -934,6 +934,8 @@ class TestCase(object):
def assertDictContainsSubset(self, subset, dictionary, msg=None): def assertDictContainsSubset(self, subset, dictionary, msg=None):
"""Checks whether dictionary is a superset of subset.""" """Checks whether dictionary is a superset of subset."""
warnings.warn('assertDictContainsSubset is deprecated',
DeprecationWarning)
missing = [] missing = []
mismatched = [] mismatched = []
for key, value in subset.items(): for key, value in subset.items():
......
...@@ -1079,6 +1079,7 @@ test case ...@@ -1079,6 +1079,7 @@ test case
(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])), (self.assertSameElements, ([1, 1, 2, 3], [1, 2, 3])),
(self.assertDictContainsSubset, (dict(a=1, b=2), dict(a=1, b=2, c=3))),
(self.assertRaisesRegexp, (KeyError, 'foo', lambda: {}['foo'])), (self.assertRaisesRegexp, (KeyError, 'foo', lambda: {}['foo'])),
(self.assertRegexpMatches, ('bar', 'bar')), (self.assertRegexpMatches, ('bar', 'bar')),
) )
...@@ -1093,7 +1094,7 @@ test case ...@@ -1093,7 +1094,7 @@ test case
deprecated_names = [ deprecated_names = [
'failIfEqual', 'failUnlessEqual', 'failUnlessAlmostEqual', 'failIfEqual', 'failUnlessEqual', 'failUnlessAlmostEqual',
'failIfAlmostEqual', 'failUnless', 'failUnlessRaises', 'failIf', 'failIfAlmostEqual', 'failUnless', 'failUnlessRaises', 'failIf',
'assertSameElements' 'assertSameElements', 'assertDictContainsSubset',
] ]
for deprecated_name in deprecated_names: for deprecated_name in deprecated_names:
with self.assertRaises(AttributeError): with self.assertRaises(AttributeError):
......
...@@ -2,6 +2,18 @@ ...@@ -2,6 +2,18 @@
Python News Python News
+++++++++++ +++++++++++
What's New in Python 3.2 Release Candidate 1
============================================
Core and Builtins
-----------------
Library
-------
- Deprecated assertDictContainsSubclass() in the unittest module.
What's New in Python 3.2 Beta 2? What's New in Python 3.2 Beta 2?
================================ ================================
......
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