mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #22823: Use set literals instead of creating a set from a list.
Fixed an output of sets in examples.
This commit is contained in:
parent
afd6f63739
commit
c02d188a84
2 changed files with 27 additions and 28 deletions
|
@ -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='...'>
|
||||
|
||||
|
|
|
@ -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),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue