summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/unittest.mock-examples.rst24
-rw-r--r--Lib/unittest/mock.py31
2 files changed, 27 insertions, 28 deletions
diff --git a/Doc/library/unittest.mock-examples.rst b/Doc/library/unittest.mock-examples.rst
index b286d74..055abe0 100644
--- a/Doc/library/unittest.mock-examples.rst
+++ b/Doc/library/unittest.mock-examples.rst
@@ -756,16 +756,16 @@ When we try to test that ``grob`` calls ``frob`` with the correct argument look
what happens:
>>> with patch('mymodule.frob') as mock_frob:
- ... val = set([6])
+ ... val = {6}
... mymodule.grob(val)
...
>>> val
- set([])
- >>> mock_frob.assert_called_with(set([6]))
+ set()
+ >>> mock_frob.assert_called_with({6})
Traceback (most recent call last):
...
- AssertionError: Expected: ((set([6]),), {})
- Called with: ((set([]),), {})
+ AssertionError: Expected: (({6},), {})
+ Called with: ((set(),), {})
One possibility would be for mock to copy the arguments you pass in. This
could then cause problems if you do assertions that rely on object identity
@@ -793,12 +793,12 @@ me.
...
>>> with patch('mymodule.frob') as mock_frob:
... new_mock = copy_call_args(mock_frob)
- ... val = set([6])
+ ... val = {6}
... mymodule.grob(val)
...
- >>> new_mock.assert_called_with(set([6]))
+ >>> new_mock.assert_called_with({6})
>>> new_mock.call_args
- call(set([6]))
+ call({6})
``copy_call_args`` is called with the mock that will be called. It returns a new
mock that we do the assertion on. The ``side_effect`` function makes a copy of
@@ -811,10 +811,10 @@ the args and calls our ``new_mock`` with the copy.
checking inside a ``side_effect`` function.
>>> def side_effect(arg):
- ... assert arg == set([6])
+ ... assert arg == {6}
...
>>> mock = Mock(side_effect=side_effect)
- >>> mock(set([6]))
+ >>> mock({6})
>>> mock(set())
Traceback (most recent call last):
...
@@ -839,8 +839,8 @@ Here's an example implementation:
>>> c.assert_called_with(arg)
Traceback (most recent call last):
...
- AssertionError: Expected call: mock(set([1]))
- Actual call: mock(set([]))
+ AssertionError: Expected call: mock({1})
+ Actual call: mock(set())
>>> c.foo
<CopyingMock name='mock.foo' id='...'>
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 1c2dd1c..6b261d6 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -275,13 +275,11 @@ def _copy(value):
return value
-_allowed_names = set(
- [
- 'return_value', '_mock_return_value', 'side_effect',
- '_mock_side_effect', '_mock_parent', '_mock_new_parent',
- '_mock_name', '_mock_new_name'
- ]
-)
+_allowed_names = {
+ 'return_value', '_mock_return_value', 'side_effect',
+ '_mock_side_effect', '_mock_parent', '_mock_new_parent',
+ '_mock_name', '_mock_new_name'
+}
def _delegating_property(name):
@@ -1679,11 +1677,12 @@ right = ' '.join('r%s' % n for n in numerics.split())
# (as they are metaclass methods)
# __del__ is not supported at all as it causes problems if it exists
-_non_defaults = set('__%s__' % method for method in [
- 'get', 'set', 'delete', 'reversed', 'missing', 'reduce', 'reduce_ex',
- 'getinitargs', 'getnewargs', 'getstate', 'setstate', 'getformat',
- 'setformat', 'repr', 'dir', 'subclasses', 'format',
-])
+_non_defaults = {
+ '__get__', '__set__', '__delete__', '__reversed__', '__missing__',
+ '__reduce__', '__reduce_ex__', '__getinitargs__', '__getnewargs__',
+ '__getstate__', '__setstate__', '__getformat__', '__setformat__',
+ '__repr__', '__dir__', '__subclasses__', '__format__',
+)
def _get_method(name, func):
@@ -1694,19 +1693,19 @@ def _get_method(name, func):
return method
-_magics = set(
+_magics = {
'__%s__' % method for method in
' '.join([magic_methods, numerics, inplace, right]).split()
-)
+}
_all_magics = _magics | _non_defaults
-_unsupported_magics = set([
+_unsupported_magics = {
'__getattr__', '__setattr__',
'__init__', '__new__', '__prepare__'
'__instancecheck__', '__subclasscheck__',
'__del__'
-])
+}
_calculate_return_value = {
'__hash__': lambda self: object.__hash__(self),