HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1953949/root/usr/lib/python3/dist-packages/mock/tests/__pycache__/
Upload File :
Current File : //proc/1953949/root/usr/lib/python3/dist-packages/mock/tests/__pycache__/testmock.cpython-311.pyc
�

f�LcX��(�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZddlmZmZddlmZGd�de��ZGd�d	e��Zd
�ZGd�dej��Zed
krej��dSdS)�N)�	ALWAYS_EQ)�is_instance)�call�DEFAULT�patch�sentinel�	MagicMock�Mock�NonCallableMock�NonCallableMagicMock�	AsyncMock�create_autospec�mock)�_Call�	_CallListc�$�eZdZd�Zd�Zd�ZeZdS)�Iterc�2�tgd���|_dS)N��this�is�an�iter)r�thing��selfs �5/usr/lib/python3/dist-packages/mock/tests/testmock.py�__init__z
Iter.__init__s���6�6�6�7�7��
�
�
�c��|S�N�rs r�__iter__z
Iter.__iter__s���rc�*�t|j��Sr!)�nextrrs rr%z	Iter.nexts���D�J���rN)�__name__�
__module__�__qualname__rr#r%�__next__r"rrrrsB������8�8�8���� � � ��H�H�Hrrc�F�eZdZdd�Zedd���Zedd���ZdS)�	SomethingNc��dSr!r"�r�a�b�c�ds     r�methzSomething.meth!����rc��dSr!r")�clsr.r/r0r1s     r�cmethzSomething.cmeth#s��%)�Trc��dSr!r"�r.r/r0r1s    r�smethzSomething.smeth&s�� $�rr!)r&r'r(r2�classmethodr6�staticmethodr9r"rrr+r+ sH������)�)�)�)��)�)�)��[�)��$�$�$��\�$�$�$rr+c��dSr!r"�r.s r�	somethingr>*r3rc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAd@�ZBdA�ZCdB�ZDdC�ZEdD�ZFdE�ZGdF�ZHdG�ZIdH�ZJdI�ZKdJ�ZLdK�ZMdL�ZNdM�ZOdN�ZPdO�ZQdP�ZRdQ�ZSdR�ZTdS�ZUdT�ZVdU�ZWdV�ZXdW�ZYdX�ZZdY�Z[dZ�Z\d[�Z]d\�Z^d]�Z_d^�Z`d_�Zad`�Zbda�Zcdb�Zddc�Zedd�Zfde�Zgdf�Zhdg�Zidh�Zjdi�Zkdj�Zldk�Zmdl�Zndm�Zodn�Zpdo�Zqdp�Zrdq�Zsdr�Ztds�Zudt�Zvdu�Zwdv�Zxdw�Zydx�Zzdy�Z{dz�Z|d{�Z}d|�Z~d}�Zd~�Z�d�Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d��Z�d�S)��MockTestc�$�td��dS)Nzfrom mock.mock import *)�execrs r�test_allzMockTest.test_all/s��	
�
&�'�'�'�'�'rc�p�t��}|�|jd��|�|jdd��|�t
|jt��d��|�|jdd��|�|j	gd��|�|j
gd��|�d|jd	��|�
|jd
��|�
|jd��|�|jid��dS)
Nz called not initialised correctlyrz$call_count not initialised correctlyz&return_value not initialised correctlyz#call_args not initialised correctly�(call_args_list not initialised correctlyz&method_calls not initialised correctly�_itemsz/default mock should not have '_items' attributez parent not initialised correctlyz!methods not initialised correctlyz$children not initialised incorrectly)r
�assertFalse�called�assertEqual�
call_count�
assertTruer�return_value�	call_args�call_args_list�method_calls�assertNotIn�__dict__�assertIsNone�_mock_parent�
_mock_methods�_mock_children�rrs  r�test_constructorzMockTest.test_constructor6s|���v�v�������&H�I�I�I������!�?�	A�	A�	A�����D�$5�t�<�<�@�	B�	B�	B�	
������>�	@�	@�	@�����,�b�C�	E�	E�	E�����*�B�B�	D�	D�	D�	
����4�=�J�	L�	L�	L�	
���$�+�<�	>�	>�	>����$�,�=�	?�	?�	?�����,�b�?�	A�	A�	A�	A�	Arc�\�td���}|�|jd��dS)N�rLz(return value in constructor not honoured)r
rRrLrVs  r� test_return_value_in_constructorz)MockTest.test_return_value_in_constructorRsA����&�&�&�����$�+�D�	F�	F�	F�	F�	Frc�~�d�}t|��}d|j_|�|��d��dS)Nc��dSr!r"r"rr�fz9MockTest.test_change_return_value_via_delegate.<locals>.fYr3r�)rrrLrI�rr]rs   r�%test_change_return_value_via_delegatez.MockTest.test_change_return_value_via_delegateXsB���
�
��q�!�!��!"��	����������#�#�#�#�#rc���d�}t|��}t��|j_|�t��5|��ddd��dS#1swxYwYdS)Nc��dSr!r"r"rrr]z8MockTest.test_change_side_effect_via_delegate.<locals>.f`r3r)r�	TypeErrorr�side_effect�assertRaisesr_s   r�$test_change_side_effect_via_delegatez-MockTest.test_change_side_effect_via_delegate_s����
�
��q�!�!�� )����	��
�
�
�y�
)�
)�	�	��D�F�F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A!�$A!c	���td���}|�dt|����|�dt|��zt|����t��dftd���dfg}|D�]W\}}|�d|zt|j����|�d|zt|j������|�d|zt|j��j����|�d	|zt|������|�d
|zt|��������|�d|zt|����jj���j������YdS)N�foo��namez'%s'r�barz%s.barz%s.foo()z
%s.foo().bingz%s()z%s()()z%s()().foo.bar.baz().bing)r
�assertIn�repr�idrkrh�bing�baz)rr�mocksrjs    r�	test_reprzMockTest.test_reprgs����������
�
�e�T�$�Z�Z�(�(�(��
�
�f�r�$�x�x�'��d���4�4�4��&�&�&�!�D�e�$4�$4�$4�e�#<�=���	=�	=�J�D�$��M�M�(�T�/�4���>�>�:�:�:��M�M�*�t�+�T�(�$�(�*�*�-=�-=�>�>�>��M�M�/�D�0�$�x�t�x�z�z��2G�2G�H�H�H��M�M�&�4�-��d�d�f�f���6�6�6��M�M�(�T�/�4��������>�>�:�:�:��M�M�5��<��v�t�t�v�v�x�x�|�/�3�3�5�5�:�;�;�
=�
=�
=�
=�
	=�	=rc���Gd�dt��}t|���}|�dt|����t|�����}|�dt|����t|���}|�dt|����t|�����}|�dt|����t|d���}|�dt|����|�d	t|����td�
��}|�dt|����t��}|�dt|����tdg���}|�dt|����dS)Nc��eZdZdS)�'MockTest.test_repr_with_spec.<locals>.XN�r&r'r(r"rr�Xrux��������Drrw��specz
 spec='X' ��spec_setz spec_set='X' rh)rzrjz name='foo' rirz)�objectr
rlrmrP�rrwrs   r�test_repr_with_speczMockTest.test_repr_with_specws���	�	�	�	�	��	�	�	���|�|�|���
�
�l�D��J�J�/�/�/������~�~�~���
�
�l�D��J�J�/�/�/��Q������
�
�&��T�
�
�3�3�3��Q�Q�S�S�!�!�!���
�
�&��T�
�
�3�3�3����'�'�'���
�
�l�D��J�J�/�/�/��
�
�n�d�4�j�j�1�1�1������������d���,�,�,��v�v�������d���,�,�,��%��!�!�!�������d���,�,�,�,�,rc�0��t��}d�}||_|�t|ddd���|jddd���gd���fd�}||_|�|��|��|��ggd�d	��ttj�
��}|�|jtjd��d�}t|tj�
��}|�|��tj��dS)Nc� �td���)N�kablooie)�SystemError)�args�kwargss  r�effectz)MockTest.test_side_effect.<locals>.effect�s���j�)�)�)rr^����fish�r^r�r�c�,������Sr!��pop��resultss�rr�z)MockTest.test_side_effect.<locals>.effect������;�;�=�=� r�r�r�r^zside effect not used correctly�rdz#side effect in constructor not usedc��tSr!�rr"rrrdz.MockTest.test_side_effect.<locals>.side_effect�s���Nr)rdrL)	r
rdrer��assert_called_withrIr�
SideEffect�RETURN)rrr�rdr�s    @r�test_side_effectzMockTest.test_side_effect�sH����v�v��	*�	*�	*�"������+�t�Q����:�:�:�����1�1�-�-�-�-��)�)��	!�	!�	!�	!�	!�!������$�$�&�&�$�$�&�&�$�$�&�&�1�9�9�9�:�	<�	<�	<��� 3�4�4�4������)�8�+>�?�	A�	A�	A�	�	�	���(�/�J�J�J�����������1�1�1�1�1rc�T��gd���fd�}d�}t|��}gd�|_|�|��|��|��ggd�d��gd��t|��}||_|�|��|��|��ggd�d��dS)Nr�c�,������Sr!r�r�s�rr�z2MockTest.test_autospec_side_effect.<locals>.effect�r�rc��dSr!r"r"rrr]z-MockTest.test_autospec_side_effect.<locals>.f�r3rz1side effect not used correctly in create_autospecr�z'callable side effect not used correctly)rrdrI)rr�r]rr�s    @r�test_autospec_side_effectz"MockTest.test_autospec_side_effect�s�����)�)��	!�	!�	!�	!�	!��
�
��q�!�!��$�9�9������$�$�&�&�$�$�&�&�$�$�&�&�1�9�9�9�M�	O�	O�	O��)�)���q�!�!��!������$�$�&�&�$�$�&�&�$�$�&�&�1�9�9�9�C�	E�	E�	E�	E�	Erc��d�}t|��}td��|_|�td|��dS)Nc��dSr!r"r"rrr]z7MockTest.test_autospec_side_effect_exception.<locals>.f�r3rzBazinga!)r�
ValueErrorrd�assertRaisesRegexr_s   r�#test_autospec_side_effect_exceptionz,MockTest.test_autospec_side_effect_exception�sD���
�
��q�!�!��%�j�1�1������z�:�t�<�<�<�<�<rc��t��}dg}td||���}|tjtj���|j}|j��tj|_|j}|��|j��|�	|j
dd��|�	|j|d��|�	|j|d��|�
|jd��|�	|jd	d
��|�	|jdd��|�	|jgd��|�	|jgd
|j�dg����|�	|jg��|�	|jtjd��|�	|j|d��|�
|jd��|�	|jd|id��|�	|j|d��|�
|jjd��dS)Nr>�child)rj�parentrz�r>zname incorrectly resetzparent incorrectly resetzmethods incorrectly resetzcalled not resetrzcall_count not resetzcall_args not resetzcall_args_list not resetz(method_calls not initialised correctly: z != zside_effect incorrectly resetzreturn_value incorrectly resetzreturn value mock not resetzchildren reset incorrectlyzchildren incorrectly clearedzchild not reset)r
rr+�
SomethingElser>r�rdrL�
reset_mockrI�
_mock_namerSrTrGrHrJrMrNrO�
mock_callsrU)rr�rzrr>rLs      r�test_reset_mockzMockTest.test_reset_mock�ss�������}�����d�;�;�;����X�
�8�+A�B�B�B�B��N�	�������#�.����(������������������'�1�	3�	3�	3�����*�F�3�	5�	5�	5�����+�T�4�	6�	6�	6�	
�����&8�9�9�9������!�-C�D�D�D�������/D�E�E�E�����,�b�2L�M�M�M�����*�B�B��*�*�*�B�B�0�	1�	1�	1�	
�����"�-�-�-�����)�8�+>�9�	;�	;�	;�����*�L�:�	<�	<�	<�����,�.K�L�L�L�����,�{�I�.F�6�	8�	8�	8�������8�	:�	:�	:������.�0A�B�B�B�B�Brc�N�t��}||_|j��dSr!)r
rLr�rVs  r�test_reset_mock_recursionz"MockTest.test_reset_mock_recursion�s+���v�v�� ���	�������rc�T�tj��}|���dSr!)r�	mock_openr��rr.s  r�(test_reset_mock_on_mock_open_issue_18622z1MockTest.test_reset_mock_on_mock_open_issue_18622�s ���N����	�������rc��t��}|�t|jt��d��|��}|�|��|d��|j��|tj��}|�|jd��|�|j	dd��|�|j
tjfifd��|�|j
jtjfd��|�|j
jid��|�|j
tjfifgd��tj|_|tjtj���}|�|tjd	��|�|j	d
d��|�|j
tjfdtjifd��|�|j
tjfiftjfdtjifgd��dS)
Nz%Default return_value should be a Mockz'different result from consecutive callszcalled not setr^zcall_count incorrectzcall_args not setrE)�keyzincorrect return valuer�r�zcall_args_list not set)r
rKrrLrIr�r�ArgrHrJrMr�r�rN�ReturnValue�KeyArg)rr�result�ret_vals    r�	test_callzMockTest.test_call�sM���v�v������D�$5�t�<�<�?�	A�	A�	A��������������B�	D�	D�	D��������$�x�|�$�$�������%5�6�6�6������!�-C�D�D�D������8�<�/�2�)>�,�	.�	.�	.������,�x�|�o�,�	.�	.�	.������.��,�	.�	.�	.�����,�����/D�.E�C�	E�	E�	E�%�0����$�x�|���9�9�9������(�"6�1�	3�	3�	3�	
�����!�-C�D�D�D������#�<�/�E�8�?�+C�D�,�	.�	.�	.�	
����,��l�_�b�!��l�_�u�h�o�6�7�/
�
%�		&�	&�	&�	&�	&rc	���t��}|��|tj��|tj���|tjtj���|�|jdtjffdtjiftjfdtjifg��|�|jtjfdtjif��|�|jjtjf��|�|jjdtji��|�	|jdk��dS)N)�kwr"r�za long sequence)
r
rr��KwargrIrNrMr�r�rGrVs  r�test_call_args_comparisonz"MockTest.test_call_args_comparison%s>���v�v���������X�\��������������X�\�h�n�-�-�-�-�����,���l�_���H�N�
#�%��l�_�t�X�^�4�5�	/
�	�	�	�	
�����#�<�/�D�(�.�+A�B�	D�	D�	D������,�x�|�o�>�>�>������.��x�~�0F�G�G�G�	
�����+<�<�=�=�=�=�=rc���tj��}|�||k��|�||k��|�|tj��k��|�|tj��k��|�|tjk��|�|tjk��|�tj|k��|�tj|k��|�|t
k��|�|t
k��tjtj����}tjtj��}|�||k��|�||k��|�||k��|�||k��|�|t
k��|�|t
k��|�|dk��|�|dk��dS)Nr^)rr	rKrG�ANYrr)r�mm�call1�call2s    r�test_calls_equal_with_anyz"MockTest.test_calls_equal_with_any;s����^�
�
������b��!�!�!�����r��"�"�"�����t�~�/�/�/�0�0�0�����d�n�.�.�.�/�/�/�����d�h��'�'�'�����t�x��(�(�(������B��'�'�'������R��(�(�(�����i��(�(�(�����y��)�)�)��	�$�.�*�*�+�+���	�$�(�#�#��������'�'�'�����%��(�(�(�������'�'�'�����%��(�(�(������*�+�+�+�����)�+�,�,�,�����!��$�$�$������
�#�#�#�#�#rc�>�t��}|��|j��|�t|jd��|j��|�t|j��|ddddd���|jddddd���dS)Nr^r�r�r��nothing�r.r/)r
r�re�AssertionErrorr�rVs  r�test_assert_called_withz MockTest.test_assert_called_withWs����v�v�������	 ���!�!�!����.�$�*A�1�E�E�E����������.�$�*A�B�B�B���Q��1��)�,�,�,�,�����1�a�6�Y�?�?�?�?�?�?rc��t��}|t����|�tj��dSr!)r	r�rr��r�ms  r�test_assert_called_with_anyz$MockTest.test_assert_called_with_anyfs8���K�K��	��)�+�+����	���T�X�&�&�&�&�&rc��d
d�}t|���}|ddd���|jddd��|jddd���|�t|jddd���|�t��5}|jd�	��ddd��n#1swxYwY|�|jjt��dS)Nc��dSr!r"r8s    rr]z9MockTest.test_assert_called_with_function_spec.<locals>.fmr3rryr^r�r��r/r0�r.r/r0���er!)r
r�rer��assertIsInstance�	exception�	__cause__rc�rr]r�cms    r�%test_assert_called_with_function_specz.MockTest.test_assert_called_with_function_specls-��$�$�$�$���|�|�|����Q�!�q���������1�a�(�(�(����!�q�A�.�.�.�.����.�$�*A��q�A�	�	'�	'�	'��
�
�~�
.�
.�	)�"�#�D�#�a�(�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)����b�l�4�i�@�@�@�@�@��B$�$B(�+B(c����fd�}tt��j���}||��ttj���}||��tt��j���}||��ttj���}||��tt��j���}||��dS)Nc���|ddd���|jddd��|jddd�����t|jddd���dS)Nr^r�r�r�r�)r�rer��rrs �r�_checkz<MockTest.test_assert_called_with_method_spec.<locals>._check}s�����D��a�1�����#�D�#�A�q�!�,�,�,�#�D�#�a�1��2�2�2�2����n�d�.E��1��
�
+�
+�
+�
+�
+rry)r
r+r2r6r9)rr�rs`  r�#test_assert_called_with_method_specz,MockTest.test_assert_called_with_method_spec|s����	+�	+�	+�	+�	+�����)�*�*�*����t�������)�)�)����t��������*�+�+�+����t�������)�)�)����t��������*�+�+�+����t�����rc��d}|�t|�d����5t�����ddd��n#1swxYwY|�t|�d����5td������ddd��dS#1swxYwYdS)Nz"Expected '{0}' to have been calledr�	test_nameri)r�r��formatr
�
assert_called)r�msgs  r�$test_assert_called_exception_messagez-MockTest.test_assert_called_exception_message�s7��2��
�
#�
#�N�C�J�J�v�4F�4F�
G�
G�	#�	#��F�F� � �"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
#�
#�N�C�J�J�{�4K�4K�
L�
L�	3�	3��k�"�"�"�0�0�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s#�!A�A"�%A"�#C�C�Cc���t�������j�����|�t�j���j��|�t�j���ddd����jddd����j���ddd���|�t�fd���dS)Nrhrkr��rpc�*���jddd���S)N�bobrkr�r���assert_called_once_with�rs�r�<lambda>z7MockTest.test_assert_called_once_with.<locals>.<lambda>�s���0�D�0���1�E�E�E�r)r
r�rer�r�rVs @r�test_assert_called_once_withz%MockTest.test_assert_called_once_with�s����v�v�������	%��$�&�&�&���������.�$�*F�G�G�G����������.�$�*F�G�G�G���U�E�q�!�!�!�!�$��$�U�E�q�9�9�9�9���������U�E�q�!�!�!�!�����E�E�E�E�	
�	
�	
�	
�	
rc���t����d���d��|�ttjd���fd���dS)Nr^r�zCalls: [call(1), call(2)]c�.����d��S)Nr�r�)r�s�rr�zAMockTest.test_assert_called_once_with_call_list.<locals>.<lambda>�s���A�-�-�a�0�0�r)r
r�r��re�escaper�s @r�&test_assert_called_once_with_call_listz/MockTest.test_assert_called_once_with_call_list�sd����F�F��	��!����	��!�������~��I�1�2�2�0�0�0�0�	2�	2�	2�	2�	2rc�R�d
d�}t|���}|ddd���|jddd��|jddd���|�t|jddd���|�t��5}|jd�	��ddd��n#1swxYwY|�|jjt��|d
dd��|�t|jddd��|�t|jd
dd��dS)Nc��dSr!r"r8s    rr]z>MockTest.test_assert_called_once_with_function_spec.<locals>.f�r3rryr^r�r�r�r�r�r����r!)r
r�rer�r�r�r�rcr�s    r�*test_assert_called_once_with_function_specz3MockTest.test_assert_called_once_with_function_spec�s���$�$�$�$���|�|�|����Q�!�q�����$��$�Q��1�-�-�-�$��$�q�A��3�3�3�3����.�$�*F��q�A�	�	'�	'�	'��
�
�~�
.�
.�	.�"�(�D�(�1�-�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.����b�l�4�i�@�@�@���Q��1�
�
�
����.�$�*F��Q��	#�	#�	#����.�$�*F��Q��	#�	#�	#�	#�	#r�c�v�t��}|j}|�t|t��d��|�|j|d��t��}d|j_|�|j��dd��|�|jjd��dS)Nzattribute isn't a mockz+different attributes returned for same namer�zmethod returned wrong valuez!method didn't record being called)r
r>rKrrIrLrH�rrr>s   r�#test_attribute_access_returns_mocksz,MockTest.test_attribute_access_returns_mocks�s����v�v���N�	�����I�t�4�4�6N�O�O�O�������F�	H�	H�	H��v�v��&'���#�������)�)�1�.K�L�L�L������-�;�	=�	=�	=�	=�	=rc��t��}|j}|�|jdd��|�|j|d��dS)Nr>z attribute name not set correctlyz"attribute parent not set correctly)r
r>rIr�rSr�s   r�(test_attributes_have_name_and_parent_setz1MockTest.test_attributes_have_name_and_parent_set�s`���v�v���N�	�����-�{�;�	=�	=�	=�����/��=�	?�	?�	?�	?�	?rc�X�t��}|jdd���|j�dtj���|�|jjdddtjifgd��|�|jdd	d
difdddtjifgd��dS)Nr�r�r�)�caker>)r�rz#method calls not recorded correctly)r�r�zsomething_else.something)r
r>�something_elser�CakerIrOrVs  r�test_method_calls_recordedz#MockTest.test_method_calls_recorded�s����v�v�����q�t�$�$�$�$���%�%�a�h�m�%�<�<�<�����,�9�'����
�/F�G�H�?�	A�	A�	A�	
����*�
�$����/�
'����
�/F�G�-
�
2�		3�	3�	3�	3�	3rc��t��}|j��|�|jdg��|�|jddifg��t��}|jd��|�|jdg��|�|jddifg��t��}|jd���|�|jdd	difg��|�|jddd	difg��t��}|jdd
���|�|jdddd
ifg��dS)
Nr�r>r"�	different)r>�rrr^��xr�more)�somer
)r
r>rIrOrVs  r� test_method_calls_compare_easilyz)MockTest.test_method_calls_compare_easily�s����v�v������������*�^�,<�=�=�=�����*�k�2�r�-B�,C�D�D�D��v�v�����{�#�#�#�����*�-J�,K�L�L�L�����*�&���;�<�	>�	>�	>��v�v��������������*�k�C��8�-D�,E�F�F�F�����*�k�2��Q�x�-H�,I�J�J�J��v�v�����{��0�0�0�0�����*�
�.�6�6�*:�;�-
�	�	�	�	�	rc	��dgdfD]?}dD]:}tdi||i��}|j|�tdt|d���;�@dS)Nr>r�)rzr|z-Mock object has no attribute 'something_else'rr")r
r>r��AttributeError�getattr)rrz�argrs    r�test_only_allowed_methods_existz(MockTest.test_only_allowed_methods_exists��� �M�>�1�
	�
	�D�)�	
�	
���*�*�s�D�k�*�*������&�&�"�C��T�#3�����	
�
	�
	rc���Gd�dt��}�fd�}|t|�����|t|�������dS)Nc��eZdZdZdZd�ZdS)�*MockTest.test_from_spec.<locals>.Somethingr�Nc��dSr!r"rs r�yz,MockTest.test_from_spec.<locals>.Something.y!r3r)r&r'r(r�
__something__rr"rrr+rs#�������A� �M�����rr+c���|j|j|j��tdt
|d����tdt
|d��dS)Nz Mock object has no attribute 'z'�zz)Mock object has no attribute '__foobar__'�
__foobar__)rrrr�r
rr�s �r�test_attributesz0MockTest.test_from_spec.<locals>.test_attributes#sp����F�F��F�F�����"�"��2���s�
�
�
�

�"�"��;���|�
�
�
�
�
rry)r}r
)rr+rs`  r�test_from_speczMockTest.test_from_specs����	�	�	�	�	��	�	�	�
	�	�	�	�	� 	���)�,�,�,�-�-�-����)�)�+�+�.�.�.�/�/�/�/�/rc��t��}t|���}|�|��|����|���|ddd���|�ddd���dS)N��wrapsr^r�r�r�)r
rIr�r��r�realrs   r�test_wraps_callszMockTest.test_wraps_calls7s����v�v���$����������������(�(�(���������Q�����������1�1��-�-�-�-�-rc���Gd�dt��}|��}t|����|�t�fd���dS)Nc��eZdZdS)�FMockTest.test_wraps_prevents_automatic_creation_of_mocks.<locals>.RealNrvr"rr�Realr$Drxrr%rc�"���j��Sr!)�new_attrr�s�rr�zJMockTest.test_wraps_prevents_automatic_creation_of_mocks.<locals>.<lambda>Js���-�$�-�/�/�r)r}r
rer
�rr%r rs   @r�/test_wraps_prevents_automatic_creation_of_mocksz8MockTest.test_wraps_prevents_automatic_creation_of_mocksCsp���	�	�	�	�	�6�	�	�	��t�v�v���$��������.�*A�*A�*A�*A�B�B�B�B�Brc��t��}t|���}d|_|�|��d��|�|j��dS)Nrr�)r
rLrIrGrHrs   r�,test_wraps_call_with_nondefault_return_valuez5MockTest.test_wraps_call_with_nondefault_return_valueMs[���v�v���$����������������#�#�#������%�%�%�%�%rc� ��Gd�dt��}|��}t|����|��j��|�����|�t
�fd���|��j|j���j�ddd���}|jj�ddd���|�||j�����dS)	Nc�"�eZdZe��ZdS)�,MockTest.test_wraps_attributes.<locals>.RealN)r&r'r(r
�	attributer"rrr%r.Xs����������I�I�Irr%rc����jSr!r�r�s�rr�z0MockTest.test_wraps_attributes.<locals>.<lambda>_s	���$�)�rr^r�r�r�)	r}r
rIr/rer
�assertNotEqual�frogr�)rr%r r�rs    @r�test_wraps_attributeszMockTest.test_wraps_attributesWs���	�	�	�	�	�6�	�	�	��t�v�v���$�����������)�)�4�>�>�+;�+;�<�<�<����.�*;�*;�*;�*;�<�<�<����D�N�D�N�;�;�;���$�$�Q���$�2�2�����.�.�q�!�!�.�<�<�<�������!4�!4�!6�!6�7�7�7�7�7rc��Gd�dt��}|��}t|���}tjtg|j_|�|j��tj��|�|j��tj��|�	t|j��dS)Nc��eZdZd�ZdS)�[MockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default.<locals>.Realc��tjSr!)r�ORIGINAL_VALUErs r�methodzbMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_default.<locals>.Real.methodis���.�.rN�r&r'r(r9r"rrr%r6hs#������
/�
/�
/�
/�
/rr%r)r}r
r�VALUE1rr9rdrIr8re�
StopIterationr(s    r�Dtest_customize_wrapped_object_with_side_effect_iterable_with_defaultzMMockTest.test_customize_wrapped_object_with_side_effect_iterable_with_defaultgs���	/�	/�	/�	/�	/�6�	/�	/�	/��t�v�v���$�����#+�?�G�"<��������������8�8�8����������(?�@�@�@����-���5�5�5�5�5rc��Gd�dt��}|��}t|���}tjtjg|j_|�|j��tj��|�|j��tj��|�t|j��dS)Nc��eZdZd�ZdS)�NMockTest.test_customize_wrapped_object_with_side_effect_iterable.<locals>.Realc��dSr!r"rs rr9zUMockTest.test_customize_wrapped_object_with_side_effect_iterable.<locals>.Real.methodwr3rNr:r"rrr%r@v�������"�"�"�"�"rr%r)
r}r
rr;�VALUE2r9rdrIrer<r(s    r�7test_customize_wrapped_object_with_side_effect_iterablez@MockTest.test_customize_wrapped_object_with_side_effect_iterableus���	#�	#�	#�	#�	#�6�	#�	#�	#��t�v�v���$�����#+�?�H�O�"D��������������8�8�8�����������8�8�8����-���5�5�5�5�5rc���Gd�dt��}|��}t|���}t|j_|�t|j��dS)Nc��eZdZd�ZdS)�OMockTest.test_customize_wrapped_object_with_side_effect_exception.<locals>.Realc��dSr!r"rs rr9zVMockTest.test_customize_wrapped_object_with_side_effect_exception.<locals>.Real.method�r3rNr:r"rrr%rG�rBrr%r)r}r
�RuntimeErrorr9rdrer(s    r�8test_customize_wrapped_object_with_side_effect_exceptionzAMockTest.test_customize_wrapped_object_with_side_effect_exception�sq��	#�	#�	#�	#�	#�6�	#�	#�	#��t�v�v���$�����".�������,���4�4�4�4�4rc���Gd�dt��}d�}|��}t|���}||j_|�|j��t
j��dS)Nc��eZdZd�ZdS)�NMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.Realc��dSr!r"rs rr9zUMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.Real.method�r3rNr:r"rrr%rM�rBrr%c��tjSr!)r�VALUEr"rrrdzUMockTest.test_customize_wrapped_object_with_side_effect_function.<locals>.side_effect�s
���>�!rr)r}r
r9rdrIrrP)rr%rdr rs     r�7test_customize_wrapped_object_with_side_effect_functionz@MockTest.test_customize_wrapped_object_with_side_effect_function�s���	#�	#�	#�	#�	#�6�	#�	#�	#�	"�	"�	"��t�v�v���$�����"-��������������7�7�7�7�7rc���Gd�dt��}|��}t|���}tj|j_|�|j��tj��dS)Nc��eZdZd�ZdS)�FMockTest.test_customize_wrapped_object_with_return_value.<locals>.Realc��dSr!r"rs rr9zMMockTest.test_customize_wrapped_object_with_return_value.<locals>.Real.method�r3rNr:r"rrr%rT�rBrr%r)r}r
rrPr9rLrIr(s    r�/test_customize_wrapped_object_with_return_valuez8MockTest.test_customize_wrapped_object_with_return_value�s{��	#�	#�	#�	#�	#�6�	#�	#�	#��t�v�v���$�����#+�>��� �����������7�7�7�7�7rc���Gd�dt��}|��}t|���}tjtjg|j_tj|j_|�	|j��tj��|�	|j��tj��|�
t|j��dS)Nc��eZdZd�ZdS)�VMockTest.test_customize_wrapped_object_with_return_value_and_side_effect.<locals>.Realc��dSr!r"rs rr9z]MockTest.test_customize_wrapped_object_with_return_value_and_side_effect.<locals>.Real.method�r3rNr:r"rrr%rY�rBrr%r)r}r
rr;rCr9rd�WRONG_VALUErLrIrer<r(s    r�?test_customize_wrapped_object_with_return_value_and_side_effectzHMockTest.test_customize_wrapped_object_with_return_value_and_side_effect�s���	#�	#�	#�	#�	#�6�	#�	#�	#��t�v�v���$�����#+�?�H�O�"D����#+�#7��� �����������8�8�8�����������8�8�8����-���5�5�5�5�5rc��Gd�dt��}|��}t|���}d�|j_tj|j_|�|j��tj��dS)Nc��eZdZd�ZdS)�WMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.Realc��dSr!r"rs rr9z^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.Real.method�r3rNr:r"rrr%r_�rBrr%rc��tSr!r�r"rrr�z[MockTest.test_customize_wrapped_object_with_return_value_and_side_effect2.<locals>.<lambda>�s��'�r)r}r
r9rdrrPrLrIr(s    r�@test_customize_wrapped_object_with_return_value_and_side_effect2zIMockTest.test_customize_wrapped_object_with_return_value_and_side_effect2�s���	#�	#�	#�	#�	#�6�	#�	#�	#��t�v�v���$�����"1�/����#+�>��� �����������7�7�7�7�7rc��Gd�dt��}|��}t|���}tjtg|j_tj|j_|�	|j��tj��|�	|j��tj��|�
t|j��dS)Nc��eZdZd�ZdS)�^MockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default.<locals>.Realc��dSr!r"rs rr9zeMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default.<locals>.Real.method�r3rNr:r"rrr%re�rBrr%r)r}r
rr;rr9rdr�rLrIrer<r(s    r�Gtest_customize_wrapped_object_with_return_value_and_side_effect_defaultzPMockTest.test_customize_wrapped_object_with_return_value_and_side_effect_default�s���	#�	#�	#�	#�	#�6�	#�	#�	#��t�v�v���$�����#+�?�G�"<����#+�?��� �����������8�8�8�����������8�8�8����-���5�5�5�5�5rc��ddi}t|���}|�|�d��d��|�|dt��|�d|v��d|j_|�|�d��d��tj|j_|�|�d��d��|�|�d��d��|�|dt��|�d|v��d|d<|�|�d��d��|�|dt��|�d|v��|d=|�|�d��d��dS)NrhrkrrLrp�spam)r	rI�getr�rGrLrr)r�data�wrapped_dicts   r�test_magic_method_wraps_dictz%MockTest.test_magic_method_wraps_dict�s����u�~�� �t�,�,�,������)�)�%�0�0�%�8�8�8����l�5�1�9�=�=�=�����,�.�/�/�/�)7���%�����)�)�%�0�0�.�A�A�A�)1�(8���%�����)�)�%�0�0�%�8�8�8�����)�)�%�0�0�$�7�7�7����l�5�1�9�=�=�=�����,�.�/�/�/���U������)�)�%�0�0�&�9�9�9����l�5�1�9�=�=�=�����,�.�/�/�/���K�����)�)�%�0�0�$�7�7�7�7�7rc�.�Gd�d��}t|���}|��}|�|�d��d��|�|dd��|�|���d��dS)Nc��eZdZd�Zd�ZdS)�3MockTest.test_magic_method_wraps_class.<locals>.Fooc��|Sr!r")r�indexs  r�__getitem__z?MockTest.test_magic_method_wraps_class.<locals>.Foo.__getitem__�s���rc��dS�Nrhr"rs r�__custom_method__zEMockTest.test_magic_method_wraps_class.<locals>.Foo.__custom_method__�s���urN)r&r'r(rsrvr"rr�Foorp�s2������
�
�
�
�
�
�
�
rrwrr�rh)r	rIrsrv)rrw�klass�objs    r�test_magic_method_wraps_classz&MockTest.test_magic_method_wraps_class�s���	�	�	�	�	�	�	�	���$�$�$���e�g�g���������+�+�Q�/�/�/�����Q���#�#�#�����.�.�0�0�%�8�8�8�8�8rc���tt���}|�t|��ttd�����}|�t|��dS�Nr�rh)r
r
rerVs  r�test_exceptional_side_effectz%MockTest.test_exceptional_side_effects\����/�/�/�����.�$�/�/�/���u� 5� 5�6�6�6�����.�$�/�/�/�/�/rc���tt���}|�t|��ttd�����}|�t|��dSr|)r
�KeyboardInterruptrerVs  r� test_baseexceptional_side_effectz)MockTest.test_baseexceptional_side_effect
s`��� 1�2�2�2�����+�T�2�2�2�� 1�%� 8� 8�9�9�9�����+�T�2�2�2�2�2rc�d�t��}|�td|j��dS)Nz
not called)r
r�r�r�rVs  r�test_assert_called_with_messagez(MockTest.test_assert_called_with_messages7���v�v�����~�|� $� 7�	9�	9�	9�	9�	9rc�h�td���}|�td|j��dS)N�geoffreyriz'Expected 'geoffrey' to be called once\.)r
r�r�r�rVs  r�$test_assert_called_once_with_messagez-MockTest.test_assert_called_once_with_messages?����$�$�$�����~�?��1�	3�	3�	3�	3�	3rc���t���|�t�fd���d�_|��jd��dS)Nc����jSr!)r&r�s�rr�z'MockTest.test__name__.<locals>.<lambda>!s	���$�-�rrh)r
rer
r&rIrVs @r�test__name__zMockTest.test__name__sQ����v�v�����.�*?�*?�*?�*?�@�@�@���
�������.�.�.�.�.rc��Gd�dt��}t|dg�����}|jd��|j�d��|�t
t|d��dS)Nc��eZdZdS)�-MockTest.test_spec_list_subclass.<locals>.SubNrvr"rr�Subr�(rxrr�rhryr�)�listr
�appendr�rer
r)rr�rs   r�test_spec_list_subclassz MockTest.test_spec_list_subclass's���	�	�	�	�	�$�	�	�	����e�W���&�&�&�����A������&�&�q�)�)�)����.�'�4��?�?�?�?�?rc�
�Gd�dt��}t|���}|�||��t|�����}|�||��|�|j|��|�t��jjd��t|���}|�||��t|�����}|�||��dS)Nc��eZdZdS)�#MockTest.test_spec_class.<locals>.XNrvr"rrrwr�2rxrrwryr
r{)r}r
r��assertIs�	__class__rIr&r~s   r�test_spec_classzMockTest.test_spec_class1s��	�	�	�	�	��	�	�	���|�|�|�����d�A�&�&�&������~�~�~�����d�A�&�&�&��
�
�d�n�a�(�(�(�������)�2�F�;�;�;��Q��������d�A�&�&�&��Q�Q�S�S�!�!�!�����d�A�&�&�&�&�&rc��Gd�d��}t|���}|�||��t|�����}|�||��|�|j|��|�t��jjd��t|���}|�||��t|�����}|�||��dS)Nc��eZdZdS)�2MockTest.test_spec_class_no_object_base.<locals>.XNrvr"rrrwr�Frxrrwryr
r{)r
r�r�r�rIr&r~s   r�test_spec_class_no_object_basez'MockTest.test_spec_class_no_object_baseEs��	�	�	�	�	�	�	�	���|�|�|�����d�A�&�&�&������~�~�~�����d�A�&�&�&��
�
�d�n�a�(�(�(�������)�2�F�;�;�;��Q��������d�A�&�&�&��Q�Q�S�S�!�!�!�����d�A�&�&�&�&�&rc����Gd�dt��}t|����d�_t|�����fd�}d�_|�t
|��dS)Nc��eZdZdZdS)�8MockTest.test_setting_attribute_with_spec_set.<locals>.Xr�N)r&r'r(rr"rrrwr�Zs�������A�A�Arrwryrhr{c���d�_dSrurr�s�r�set_attrz?MockTest.test_setting_attribute_with_spec_set.<locals>.set_attras����D�F�F�Fr)r}r
rrrer
)rrwr�rs   @r�$test_setting_attribute_with_spec_setz-MockTest.test_setting_attribute_with_spec_setYs����	�	�	�	�	��	�	�	���|�|�|������Q�����	�	�	�	�	�������.�(�3�3�3�3�3rc���tj��}|�tj|��tjt	d����tjt
����dS)Nge��A)�sys�getrecursionlimit�
addCleanup�setrecursionlimit�int�copyr
)r�currents  r�	test_copyzMockTest.test_copyhsZ���'�)�)������-�w�7�7�7�	��c�$�i�i�(�(�(��	�$�&�&�����rc���Gd�dt��}||����|��jd���fd�}|�t|���fd�}|�t
|��dS)Nc�2�eZdZd�Zd�Zeee��ZdS)�8MockTest.test_subclass_with_properties.<locals>.SubClassc��dS�Nr�r"rs r�_getz=MockTest.test_subclass_with_properties.<locals>.SubClass._getts���qrc� �td���)Nz
strange error)�	NameError)r�values  r�_setz=MockTest.test_subclass_with_properties.<locals>.SubClass._setvs����0�0�0rN)r&r'r(r�r��property�some_attributer"rr�SubClassr�ss=������
�
�
�
1�
1�
1�%�X�d�D�1�1�N�N�Nrr�r{r�c���d�_dSr�)r���ss�r�testz4MockTest.test_subclass_with_properties.<locals>.test}s��� �A���rc���d�_dS)Nrk�rhr�s�rr�z4MockTest.test_subclass_with_properties.<locals>.test�s����A�E�E�Er)r
rIr�rer�r
)rr�r�r�s   @r�test_subclass_with_propertiesz&MockTest.test_subclass_with_propertiesrs����	2�	2�	2�	2�	2�t�	2�	2�	2�
�H�h�'�'�'������)�1�-�-�-�	!�	!�	!�	!�	!����)�T�*�*�*�	�	�	�	�	����.�$�/�/�/�/�/rc��t��}d�}|t|��_|d��|jd��|�t
|dd��dS)Nc�V�|�|��|�|��Sr!)�_increment_mock_call�
_mock_callr�s  r�__call__z,MockTest.test_setting_call.<locals>.__call__�s(���%�%�a�(�(�(��?�?�1�%�%�%r�one�two)r
�typer�r�rerc)rrr�s   r�test_setting_callzMockTest.test_setting_call�sj���v�v��	&�	&�	&�'��T�
�
����U��������&�&�&����)�T�5�%�8�8�8�8�8rc��t��}tt|����}td�tt��D����}|�t��||z
��|j|jf|�dt|����|�dt|����dx|_|_|�dt|����|�dt|����d�|_	|�dt|����dS)Nc�<�g|]}|�d���|��S)�_)�
startswith)�.0r�s  r�
<listcomp>z%MockTest.test_dir.<locals>.<listcomp>�s)��H�H�H��a�l�l�3�6G�6G�H�!�H�H�Hrr.r/r0r1c� �tg��Sr!)rr�s rr�z#MockTest.test_dir.<locals>.<lambda>�s��$�r�(�(�rr#)
r
�set�dirrIr.r/rlr0r1r#)rr�attrs�
type_attrss    r�test_dirzMockTest.test_dir�s���v�v���C��I�I�����H�H�S��Y�Y�H�H�H�I�I�
�	
������
�U� 2�3�3�3�	
�������
�
�c�3�t�9�9�%�%�%��
�
�c�3�t�9�9�%�%�%��������
�
�c�3�t�9�9�%�%�%��
�
�c�3�t�9�9�%�%�%�+�*��
��
�
�j�#�d�)�)�,�,�,�,�,rc��ttj���}tt	tj����}tt	|����}|�t��||z
��d|_|�t	|���d��d��dS)Nryr��versionr^)r
�unittest�TestCaser�r�rIr��count)rr�testcase_attrsr�s    r�test_dir_from_speczMockTest.test_dir_from_spec�s�����*�+�+�+���S��!2�3�3�4�4���C��I�I����	
�������� 6�7�7�7��������T������3�3�Q�7�7�7�7�7rc��tjtdd��}|���	t	tt
������}t	tt����}|�t	��||z
��|���dS#|���wxYw)N�
FILTER_DIRF)	rr}r�startr�r�r
rI�stop)r�patcherr�r�s    r�test_filter_dirzMockTest.test_filter_dir�s����,�t�\�5�9�9���
�
����	���D�F�F���$�$�E��S��Y�Y���J�
���S�U�U�J��$6�7�7�7��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s�A.B5�5Cc���t��}d|j_|�dt	|����|`|�dt	|����dS)Nr^r�)r
r�rLrlr�rPrVs  r�,test_dir_does_not_include_deleted_attributesz5MockTest.test_dir_does_not_include_deleted_attributes�sV���v�v��"#��
���
�
�g�s�4�y�y�)�)�)��J�����#�d�)�)�,�,�,�,�,rc���td���}|�|jd��td���}|�|jd��tdt��d�}tdi|��}|�t|��|�|j���d��|�|jt��t��}|jdi|��|�t|��|�|j���d��|�|jt��dS)Nrkr��!)rdzfoo.bar.return_valuerhr")	r
rIrhr	�KeyErrorrerkr��configure_mock)rrr�s   r�test_configure_mockzMockTest.test_configure_mock�s:�������������5�)�)�)��U�#�#�#�������5�)�)�)�!)�2�"���&�&���~�~�f�~�~�����(�D�)�)�)�����������,�,�,����d�h�	�2�2�2��v�v�����%�%�f�%�%�%����(�D�)�)�)�����������,�,�,����d�h�	�2�2�2�2�2rc���|�|��5}||i|��ddd��n#1swxYwYt|j��}|�||��dSr!)re�strr�rI)rr��message�funcr�r��contextr�s        r�assertRaisesWithMsgzMockTest.assertRaisesWithMsg�s���
�
�
�y�
)�
)�	"�W��D�$�!�&�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��'�#�$�$������g�&�&�&�&�&s�	+�/�/c
�P�t��}d}d}d}|�t|||fz|jdddd���|jdddd�	��|jj|jjg}|D].}d
}d}d}|�t|||fz|dddd����/|D]+}d
}d}d}|�t|||fz|d����,|D],}d
}d
}d}|�t|||fz|ddd���-|D])}d
}d}d}|�t|||fz|���*dS)Nznot called.zmock(1, '2', 3, bar='foo')z0expected call not found.
Expected: %s
Actual: %sr^�2r�rh)rkr�zfoo(1, '2', 3, foo='foo')zfoo(1, '2', 3, bar='foo')zfoo(bar='foo')zfoo(1, 2, 3)r�zfoo())rr�r�r�rhr�)rr�actual�expectedr��	assertersr2s       r�'test_assert_called_with_failure_messagez0MockTest.test_assert_called_with_failure_message�s���� � ����/��F��� � ��G�x��&8�8��#�Q��Q�E�	!�	
�	
�	
�
	����C���&�&�&�&�
�H�'���)I�
�	��	�	�D�0�F�2�H�J�G��$�$���8�V�*<� <��a��a�U�
%�
�
�
�
��	�	�D�0�F�'�H�J�G��$�$���8�V�*<� <��%�
%�
�
�
�
��	�	�D�0�F�%�H�J�G��$�$���8�V�*<� <��a��A�
�
�
�
��	�	�D�0�F��H�J�G��$�$���8�V�*<� <�d�
�
�
�
�		�	rc	�N�t��}|�|jgkd��t��}|��ddifg}|�|j|��|j��|�t
j����|�|j|��|�|jjddifg��t��}|���ddddd�	��ddifd
dtdd�	��fg}|�|j|��|�|jjjddtdd�	��fg��|�|jjddtdd�	��fg��t��}|��j�	���
��ddifd
difddifg}|�|j|��|�|��jtj�	���
�������t��td���fD�]}tdi|��}t|j��ddifg}|�|j|��tdi|��}|j
����ddifddifg}|�|j|��|�|j
��jt
��g��tdi|��}|d��d��d��|�|jt
d��d��d�������|�|��jt
d��d�������|�|����jt
d�������tdi|��}|d��d��d��j
j�d��|�|jt
d��d��d��j
j�d�������|�|��jt
d��d��j
j�d�������|�|����jt
d��j
j�d�������tdi|��}t|��j�	���
����ddif}|�|jd|��|�|��jtj�	���
����������|�|��j�	��jt
j
����������|�|��j�	��j
jt
������������dS)NT�r"r^r�r�r�r�r�z().foor�rhz
().foo.barz().foo.bar().bazrkrizfoo.__int__r.za()z().foo.bar().baz().__int__���)r	r�r�rIrhr�r�dictrLrkrp�	call_listr�r.r/r0�__int__)rrr�r��	last_calls     r�test_mock_callszMockTest.test_mock_calls"s����{�{��	
�
�
�d�o��+�T�2�2�2��{�{���������R�L�>�������(�3�3�3����
�
�
������
�
�#�#�#������(�3�3�3������,��B��|�n�=�=�=��{�{������
�
�1�a��a�1�
�%�%�%�
��R�L�8�Y��q�A����?�
��	
�����(�3�3�3�����*�.�9��y�$��a�.�.�.�9�:�	<�	<�	<�����*�5� �)�T�A��^�^�^�<�=�	?�	?�	?��{�{������
����������
��R�L�<��R�0�
��R�(�
��	
�����(�3�3�3��������*�������+�+�-�-�7�7�9�9�	;�	;�	;��f�f�d��.�.�.�.�$	;�$	;�F��&�&�v�&�&�D����M�M�M�&��B�/�0�H����T�_�h�7�7�7��&�&�v�&�&�D��F�D�F�H�H�J�J�J��b�"�
��r�2��7�H����T�_�h�7�7�7����V�T�V�X�X�0�4�6�6�(�;�;�;��&�&�v�&�&�D��G�D�D��G�G�A�J�J�q�M�M�M����T�_�j�g�d�1�g�g�a�j�j��m�m�.E�.E�.G�.G�H�H�H����T�T�V�V�.���Q����
�
�0D�0D�0F�0F�G�G�G����V�T�T�V�V�X�X�0�$�q�'�'�2C�2C�2E�2E�F�F�F��&�&�v�&�&�D��G�D�D��G�G�A�J�J�q�M�M�O�����"�"�"����T�_�'�W�T�!�W�W�Q�Z�Z��]�]�_�.�0�0��3�3�=�=�?�?�
A�
A�
A����T�T�V�V�.�$�T�!�W�W�Q�Z�Z�\�^�-�-�a�0�0�:�:�<�<�
>�
>�
>����V�T�T�V�V�X�X�0�!�!�W�W�Y�[�]�]�1�-�-�7�7�9�9�
;�
;�
;��&�&�v�&�&�D������
��� � �$�$�&�&�'�'�'�5�r�2�>�I����T�_�R�0�)�<�<�<����T�T�V�V�.�!�X�\�\�^�^�/�/�1�1�9�9�;�;�E�E�G�G�
I�
I�
I����T�T�V�V�Z�^�^�-�-�8�!�X�Z�Z�/�/�1�1�;�;�=�=�
?�
?�
?����T�T�V�V�Z�^�^�-�-�1�<�!�V�V�^�^�-�-�7�7�9�9�
;�
;�
;�
;�G$	;�$	;rc�F�t��}|��}|���|�|jt	��t	�����g��|�|jt	j��g��dSr!)r
�wibblerIr�r)rr�r�s   r�test_child_mock_call_equalz#MockTest.test_child_mock_call_equalpsw���F�F��������
�
���������������
�
���'@�A�A�A�����*�T�[�]�]�O�<�<�<�<�<rc�Z�t��}|������|�|jdtj�������|�|jdtj����dS�Nr^r)r
rhr>r1r�rrrIr�s  r�test_mock_call_not_equal_leafz&MockTest.test_mock_call_not_equal_leafzs{���F�F��	�������������A�L��O�T�X�Z�Z�-A�-A�-C�-C�D�D�D������a��$�(�*�*�5�5�5�5�5rc�Z�t��}|������|�|jdtj�������|�|jdtj����dSr��r
rhrkr1r�rrpr�s  r�!test_mock_call_not_equal_non_leafz*MockTest.test_mock_call_not_equal_non_leaf�st���F�F��	�������
�
�
����A�L��O�T�X�Z�Z�^�^�-=�-=�>�>�>����A�L��O�T�X�Z�Z�8�8�8�8�8rc��t��}|�d������|�|jdtjd��������dS)Nr^rr�)r
rhrkrIr�rr�s  r�2test_mock_call_not_equal_non_leaf_params_differentz;MockTest.test_mock_call_not_equal_non_leaf_params_different�s_���F�F��	�����
�
�����������a��$�(�Q�-�-�-�*;�*;�*=�*=�>�>�>�>�>rc���t��}|j���|�|jdt
j�����dS�Nrrr�s  r�&test_mock_call_not_equal_non_leaf_attrz/MockTest.test_mock_call_not_equal_non_leaf_attr�sF���F�F��	��	�	�������A�L��O�T�X�\�\�^�^�<�<�<�<�<rc���t��}|j���|�|jdtj�������dSr)r
rhrkr1r�rr�s  r�2test_mock_call_not_equal_non_leaf_call_versus_attrz;MockTest.test_mock_call_not_equal_non_leaf_call_versus_attr�sL���F�F��	��	�	�������A�L��O�T�X�Z�Z�^�^�-=�-=�>�>�>�>�>rc��t��}|������j���|�t
|jd��d��|�t
|jd��d��|�t
|jd��d��dS)Nrz
call.foo()r^zcall.foo().bar()r�zcall.foo().bar().baz.bob())r
rhrkrpr�rIrmr�r�s  r�test_mock_call_reprzMockTest.test_mock_call_repr�s����F�F��	�������
�
�����������a�l�1�o�.�.��=�=�=�����a�l�1�o�.�.�0B�C�C�C�����a�l�1�o�.�.�0L�M�M�M�M�Mrc���t��}||_t|�����|�t|�����d��dS)Nz<Mock name='mock\(\)' id='\d+'>)r
rhrm�assertRegexr�s  r�test_mock_call_repr_loopz!MockTest.test_mock_call_repr_loop�sP���F�F������Q�U�U�W�W�
�
�
�����a�e�e�g�g���(J�K�K�K�K�Krc�t�t��}|�t��g|jv��dSr!)r
rGrr�r�s  r�test_mock_calls_containsz!MockTest.test_mock_calls_contains�s2���F�F�����$�&�&��Q�\�1�2�2�2�2�2rc�^�Gd�dt��}|��}|�|j|��|�|��|��Gd�dt��}|��}|�|j|��|�|��|��dS)Nc��eZdZdS)�+MockTest.test_subclassing.<locals>.SubclassNrvr"rr�Subclassr�rxrrc��eZdZd�ZdS)rc��tdi|��S)Nr")r
)rr�s  r�_get_child_mockz;MockTest.test_subclassing.<locals>.Subclass._get_child_mock�s���~�~�f�~�~�%rN)r&r'r(rr"rrrz+MockTest.test_subclassing.<locals>.Subclass�s#������
&�
&�
&�
&�
&r)r
r�rh�assertNotIsInstance)rrrs   r�test_subclassingzMockTest.test_subclassing�s���	�	�	�	�	�t�	�	�	��x�z�z�����d�h��1�1�1����d�d�f�f�h�/�/�/�	&�	&�	&�	&�	&�t�	&�	&�	&��x�z�z��� � ���8�4�4�4�� � ������2�2�2�2�2rc�(��t��t��t��t��g}�fd�}|D]�}||��t	|��r<|��|dd��|d���|j��||��|j��|j�dd���|jd������d��|j��||����dS)Nc����d}|D]^}t||��}��|t����|t����|g���_dS)N)rNrOr�)rr�rr�rI)r�namesrj�attrrs    �r�assert_attrsz-MockTest.test_arg_lists.<locals>.assert_attrs�su���B�E��
+�
+���t�T�*�*���%�%�d�I�6�6�6��%�%�d�D�1�1�1�� � ��r�*�*�*�*�	
+�
+rr^r�r�r=)	r
r	rr�callabler�rhrkrp)rrqrrs`   r�test_arg_listszMockTest.test_arg_lists�s5����F�F��K�K���� �"�"�	
��	+�	+�	+�	+�	+��	�	�D��L�������~�~�
#��������Q��
�
�
���q�	�	�	�	����!�!�!���T�"�"�"��D�H�J�J�J��H�L�L��a�L� � � ��D�H�Q�K�K�O�O���!�!�!�$�$�$��D�O�����L������!	�	rc��t��}|dd���|dd���|�t|j��d��|�|jjd��|�|jjt
d�����dt
d���fdt
d���fg}t||j��D]l\}}|�t|��d��|�|d	|d	��|�|d|d���mdS)
Nr^r�r=r�r��r/)r��r^r)	r
rI�lenrMr�r�r��ziprN)rr�
expected_listr�rMs     r�test_call_args_two_tuplez!MockTest.test_call_args_two_tuple�s5���v�v����Q�!�������Q�!���������T�^�,�,�a�0�0�0������,�d�3�3�3������.��q�	�	�	�:�:�:���q�	�	�	�*�T�4�!�9�9�9�,=�>�
�#&�}�d�6I�#J�#J�	8�	8��H�i����S��^�^�Q�/�/�/����X�a�[�)�A�,�7�7�7����X�a�[�)�A�,�7�7�7�7�	8�	8rc���ttgd������}|�|��|��|��ggd���|�t|��tgd����}|�|��|��|��ggd���|�t|��td���}|�|��|��|��ggd���|�t|��Gd�dt��}t|���}|�|��|��tt�����}|�|��|��|��|��ggd���|�t|��dS)	Nr�r�r��ghi)�g�h�ic��eZdZdS)�/MockTest.test_side_effect_iterator.<locals>.FooNrvr"rrrwr.rxrrwr)	r
rrIrer<r	r}r�r)rrrws   r�test_side_effect_iteratorz"MockTest.test_side_effect_iterator�s�����Y�Y�Y���0�0�0�����$�$�&�&�$�$�&�&�$�$�&�&�1�9�9�9�=�=�=����-��.�.�.��_�_�_�5�5�5�����$�$�&�&�$�$�&�&�$�$�&�&�1�?�?�?�C�C�C����-��.�.�.���&�&�&�����$�$�&�&�$�$�&�&�$�$�&�&�1�?�?�?�C�C�C����-��.�.�.�	�	�	�	�	�&�	�	�	��S�)�)�)�����d�d�f�f�c�*�*�*�����'�'�'�����$�$�&�&�$�$�&�&�$�$�&�&�$�$�&�&�9�5�5�5�	7�	7�	7����-��.�.�.�.�.rc�D�ttfD]�}tdtdf}||���}|�t|��|�|��d��|�t|��|�|��d����dS)Nr�r�r�)r
r	r�r�rerI)r�Klass�iterabler�s    r�$test_side_effect_iterator_exceptionsz-MockTest.test_side_effect_iterator_exceptionss����9�_�	%�	%�E�"�A�x��3�H���(�+�+�+�A����j�!�,�,�,����Q�Q�S�S�!�$�$�$����h��*�*�*����Q�Q�S�S�!�$�$�$�$�
	%�	%rc��t��}tgd���|_|�|��|��|��ggd���|�t
|��|j}|�|ttg������gd�|_|�|��|��|��ggd���|�t
|��|j}|�|ttg������t��}||_|�|��|��|��|��ggd���|�t
|��|�	|j|��dS)Nr�r�r)
r
rrdrIrer<r�r�rr�)rrrd�	this_iters    r�!test_side_effect_setting_iteratorz*MockTest.test_side_effect_setting_iterators����v�v���	�	�	�?�?������$�$�&�&�$�$�&�&�$�$�&�&�1�9�9�9�=�=�=����-��.�.�.��&�����k�4��R���>�>�:�:�:�*�?�?������$�$�&�&�$�$�&�&�$�$�&�&�1�?�?�?�C�C�C����-��.�.�.��&�����k�4��R���>�>�:�:�:��F�F�	�$������$�$�&�&�$�$�&�&�$�$�&�&�$�$�&�&�9�5�5�5�	7�	7�	7����-��.�.�.��
�
�d�&�	�2�2�2�2�2rc��td���}tdtg��|_|�|��|��gddg��dS)Nr�rYr^)r
rrrdrIrVs  r�!test_side_effect_iterator_defaultz*MockTest.test_side_effect_iterator_default*sW����#�#�#����G��-�-������$�$�&�&�$�$�&�&�)�A�q�6�2�2�2�2�2rc��t��}|dd��|d���|dd��|d���|d���tdd��ddifd	d
ddifddddifdd
ifdd
ddifg}|D]}|j|gd����tdd��td���t��dddfD]&}|�t|j|gd����'tdd��td���gtdd��tdd��gtd���td���gg}|D]}|j|d����td���td���td���gtdd��tdd��gtdd��tdd��tdd��gtd���tdd��td���tdd��td���gg}|D]%}|�t|j|d����&dS)Nr^r�r�r=r�r�r"r.�)r�r�r")r��r^r�r�r;T��	any_orderr�rhr��)r
r�assert_has_callsrer�)rr�kalls�kall�
kall_lists�	kall_lists      r�test_assert_has_calls_any_orderz(MockTest.test_assert_has_calls_any_order/s����v�v����Q��
�
�
���q�	�	�	�	���Q��
�
�
���q�	�	�	�	���q�	�	�	�	�
��A�J�J�#�q�����S�!�H�~��2��Q�x�.�
����r�2��Q�x�0�	
���	:�	:�D�!�D�!�4�&�D�9�9�9�9�9���C�L�L�$��)�)�)�T�V�V�Q��e�C�	�	�D������ 5���$�
�
�
�
�
��!�Q�Z�Z������#�
�!�Q�Z�Z��a����$�
�A�Y�Y�Y��q�	�	�	�"�
�
�$�	=�	=�I�!�D�!�)�t�<�<�<�<�<��A�Y�Y�Y��q�	�	�	�4�!�9�9�9�-�
�!�Q�Z�Z��a����$�
�!�Q�Z�Z��a����T�!�Q�Z�Z�0�
�A�Y�Y�Y��Q��
�
�D�1�I�I�I�t�A�q�z�z�4�!�9�9�9�E�	
�
�$�	�	�I������ 5��T�
�
�
�
�
�	�	rc�B�tdd��ddifdtd���dd	d
difg}tj��tjd��g}|�tj���d��������|�tjt��i����	dg�������g}t��t��fD]V}|dd��|d���|dd
��|d���|dd���|�||f���Wt��}|j��|jd��|j���d���|jt��i����	dg��|�||f��|D]�\}}tt|����D]r}dD]m}||||z�}|j|��t|��dkr;|�t"|jt%t'|�������n�s��dS)Nr^r�r.r�r:r�r"r�r#r/r=r�r�r�)rrhrk�extendrirpr��bamr�r�r
r	r��ranger$r?rer�r��reversed)	r�kalls1�kalls2rqrr@r,�step�theses	         r�test_assert_has_callszMockTest.test_assert_has_calls[s����Q��
�
�c�1�X�K��4�!�9�9�9��T�C��8�$�
��
�(�*�*�d�h�q�k�k�*���
�
�d�i�k�k�o�o��o�*�*�4�4�6�6�7�7�7��
�
�d�h�s�u�u�"�-�-�-�2�2�A�3�7�7�A�A�C�C�D�D�D����F�F�I�K�K�'�	)�	)�D��D��A�J�J�J��D�1�I�I�I�I��D��A�J�J�J��D�1�I�I�I�I��D��a�L�L�L�L��L�L�$���(�(�(�(��v�v�����
�
�
����������	�����!�����������B����$�$�a�S�)�)�)�
���d�F�^�$�$�$� �	�	�K�D�%��3�u�:�:�&�&�

�

��#�	�	�D�!�!�A�d�F�(�O�E�)�D�)�%�0�0�0��5�z�z�A�~�~��)�)�*� �1� ��%���1�1�����	�

�	�	rc	���Gd�d��}t|��}||��fD]r}|�dddd���|�tjdddd���g��|�tjdddd��g���s|���||��fD]�}|�t|jtj��g��|�d���dd��|�tjd��tjd���dd��g��|j�td��t���dd��g����|���tjd��tj	d��tj���	d��tj���dddd��g}|D]$}|�t|j|g���%dS)Nc�6�eZdZd�Zdd�ZGd�d��ZdS)�=MockTest.test_assert_has_calls_nested_spec.<locals>.Somethingc��dSr!r"rs rrzFMockTest.test_assert_has_calls_nested_spec.<locals>.Something.__init__�r3rNc��dSr!r"r-s     rr2zBMockTest.test_assert_has_calls_nested_spec.<locals>.Something.meth�r3rc��eZdZd�Zd�ZdS)�AMockTest.test_assert_has_calls_nested_spec.<locals>.Something.Fooc��dSr!r"r�s  rrzJMockTest.test_assert_has_calls_nested_spec.<locals>.Something.Foo.__init__�r3rc��dSr!r")rr.r/s   r�meth1zGMockTest.test_assert_has_calls_nested_spec.<locals>.Something.Foo.meth1�r3rN)r&r'r(rrXr"rrrwrU�s"������+�+�+�+�+�+�+�+rrwr!)r&r'r(rr2rwr"rrr+rQ�sQ������$�$�$�1�1�1�1�
,�
,�
,�
,�
,�
,�
,�
,�
,�
,rr+r^r�r��r1r�)
rr2r?rr�rer�rwrX�non_existent)rr+�
mock_classr��
invalid_callsrAs      r�!test_assert_has_calls_nested_specz*MockTest.test_assert_has_calls_nested_spec�sH��	,�	,�	,�	,�	,�	,�	,�	,�%�Y�/�/�
��j�j�l�l�+�	8�	8�A�
�F�F�1�a��a�F� � � �
����	�!�Q��Q� 7� 7� 7�8�9�9�9�
����	�!�Q��1� 5� 5�6�7�7�7�7��������j�j�l�l�+�	B�	B�A����n�a�.@�4�8�:�:�,�O�O�O�
�E�E�!�H�H�N�N�1�a� � � �
��������T�X�a�[�[�->�->�q�!�-D�-D�E�F�F�F�
�E�"�"�D��G�G�T�V�V�\�\�!�Q�-?�-?�#@�A�A�A�A���������1����*�1�-�-�����0�0��3�3��������A�q�!�4�4�6�
�
"�	�	�D����n�(�9�#�f�
�
�
�
�	�	rc���t��}|�����������|���������tj�����������}|�	|��dSr!)
r	rhrkrpr�r��threerr�r?)rr��callss   r�)test_assert_has_calls_nested_without_specz2MockTest.test_assert_has_calls_nested_without_spec�s����K�K��	������	�	�
�
��������	�������
�
��������
�
��� � �&�&�(�(�2�2�4�4��	���5�!�!�!�!�!rc��dd�}t|���}|ddd���|ddd	d
���|dd
d���ddifdddd
ifdifg}|j|��|j|d���|j|dd���|j|dd�d���|j|dd���|j|dd�d���tt|����}|�t
��5|j|��ddd��n#1swxYwY|j|d���|�t
��5|j|dd���ddd��n#1swxYwY|j|dd�d���|�t
��5|j|dd���ddd��n#1swxYwY|j|dd�d���dS)Nc��dSr!r"r8s    rr]z<MockTest.test_assert_has_calls_with_function_spec.<locals>.f�r3rryr^r�r�r�r�r�r�r>�r0r1�
��)r0r�r�)r�r�r�r1)rerfrgTr<r�r!)r
r?r�rIrer�)rr]rr`s    r�(test_assert_has_calls_with_function_specz1MockTest.test_assert_has_calls_with_function_spec�s!��$�$�$�$���|�|�|����Q�!�q�������Q��Q�!�������R��r�����
��B��
��S�!�H�%�
�2����
	���e�$�$�$����e�t�4�4�4�4����e�A�B�B�i�(�(�(����e�A�B�B�i�4�8�8�8�8����e�C�R�C�j�)�)�)����e�C�R�C�j�D�9�9�9�9��X�e�_�_�%�%��
�
�
�~�
.�
.�	)�	)�!�D�!�%�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)����e�t�4�4�4�4�
�
�
�~�
.�
.�	-�	-�!�D�!�%����)�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-����e�A�B�B�i�4�8�8�8�8�
�
�
�~�
.�
.�	.�	.�!�D�!�%����*�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.����e�C�R�C�j�D�9�9�9�9�9�9s6�D(�(D,�/D,�F�F�F�G(�(G,�/G,c	���d
d�}t|���}|d��|�td�t	jd������5}|jt��g��ddd��n#1swxYwY|�|j	j
��|�td�t	jd���dd������5}|jt��tdd	��g��ddd��n#1swxYwY|�|j	j
t��dS)Nc��dSr!r"rs rr]zAMockTest.test_assert_has_calls_not_matching_spec_error.<locals>.f�r3rryr^z^{}$z5Calls not found.
Expected: [call()]
Actual: [call(1)]z�Error processing expected calls.
Errors: [None, TypeError('too many positional arguments')]
Expected: [call(), call(1, 2)]
Actual: [call(1)]zarguments\'z
arguments\',?r�r!)r
r�r�r�r�r�r?rrRr�r��replacer�rcr�s    r�-test_assert_has_calls_not_matching_spec_errorz6MockTest.test_assert_has_calls_not_matching_spec_error�s���������|�|�|����Q����
�
#�
#���
�
��I�2�3�3�4�4�5�5�	,�
9;�!�D�!�4�6�6�(�+�+�+�
	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	
���"�,�0�1�1�1��
#�
#���
�
��I�,�-�-�.5�W�*�,<�.�.���	�	�
	8��!�D�!�4�6�6�4��1�:�:�"6�7�7�7�
	8�
	8�
	8�
	8�
	8�
	8�
	8�
	8�
	8�
	8�
	8����
	8�
	8�
	8�
	8�	
���b�l�4�i�@�@�@�@�@s$� B
�
B�B�-E�E�Ec��t��}|dd��|d���|dd���|jdd��|jd���|jdd���|�t|j��|�t|jdd��|�t|jd���dS)Nr^r�r�r=r�r"r�)r
�assert_any_callrer�rVs  r�test_assert_any_callzMockTest.test_assert_any_call�s����v�v����Q��
�
�
���q�	�	�	�	���Q�!��������Q��"�"�"����q�!�!�!�!����Q�!�$�$�$�$������ �	
�	
�	
�	
����� �
�q�	
�	
�	
�
	
����� ��	�	
�	
�	
�	
�	
rc��dd�}t|���}|ddd���|ddd	d
���|jddd��|jddd���|jddd	d
��|jddd	d
�
��|�t|jddd���|�t��5}|jd���ddd��n#1swxYwY|�|jjt��dS)Nc��dSr!r"r8s    rr]z;MockTest.test_assert_any_call_with_function_spec.<locals>.f
r3rryr^r�r�r�r�r�r�r>rdr�r8r�r�r!)r
rnrer�r�r�r�rcr�s    r�'test_assert_any_call_with_function_specz0MockTest.test_assert_any_call_with_function_spec	s{��$�$�$�$���|�|�|����Q�!�q�������Q��Q�!��������Q��1�%�%�%����q�A��+�+�+�+����Q��1�a�(�(�(����q�A��a�0�0�0�0����.�$�*>��q�A�	�	'�	'�	'��
�
�~�
.�
.�	&�"� �D� �1�%�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&����b�l�4�i�@�@�@�@�@s�<C�C�!Cc	�(�d�}t��}||_t|��t|��jg}|D]S}|dd��|dd��|�|jtdd��tdd��g���TdS)Nc��dSr!r"r�s  rr]z3MockTest.test_mock_calls_create_autospec.<locals>.fr3rr^r�r�r�)rr]rrIr�r)rr]ry�funcsr�s     r�test_mock_calls_create_autospecz(MockTest.test_mock_calls_create_autospecs�������f�f�����
�A����C� � �"�
���	�	�D��D��A�J�J�J��D��A�J�J�J������$�q�!�*�*�d�1�a�j�j�!9�
�
�
�
�		�	rc��tjt��d���}|�dt	|����dS)N�
sweet_funcri)rrr}rlrmr�s  r�test_create_autospec_with_namez'MockTest.test_create_autospec_with_name.s;��� �����=�=�=���
�
�l�D��G�G�,�,�,�,�,rc�>�Gd�d��}dD]�}|�|���5tjt||����}|��|���|�t|d��ddd��n#1swxYwY��dS)Nc�:�eZdZed���Zed���ZdS)�MMockTest.test_create_autospec_classmethod_and_staticmethod.<locals>.TestClassc��dSr!r")r5s r�class_methodzZMockTest.test_create_autospec_classmethod_and_staticmethod.<locals>.TestClass.class_method5s��#'�4rc��dSr!r"r"rr�
static_methodz[MockTest.test_create_autospec_classmethod_and_staticmethod.<locals>.TestClass.static_method8s��!%�rN)r&r'r(r:r~r;r�r"rr�	TestClassr|4s6������
�'�'��[�'�
�%�%��\�%�%�%rr�)r~r�)r9�	extra_arg)�subTestrrrr�rerc)rr�r9�mock_methods    r�1test_create_autospec_classmethod_and_staticmethodz:MockTest.test_create_autospec_classmethod_and_staticmethod3s��	&�	&�	&�	&�	&�	&�	&�	&�8�	G�	G�F����V��,�,�
G�
G�"�2�7�9�f�3M�3M�N�N����
�
�
��3�3�5�5�5��!�!�)�[�+�F�F�F�	
G�
G�
G�
G�
G�
G�
G�
G�
G�
G�
G����
G�
G�
G�
G��	G�	Gs�AB�B	�B	c���t��}d}|�t|��5|���ddd��n#1swxYwY|�t|��5|���ddd��n#1swxYwY|�t|��5|���ddd��n#1swxYwY|�t|��5|���ddd��n#1swxYwY|�t|��5|���ddd��n#1swxYwYtd���}|���|���|���|���|���dS)Nz9Attributes cannot start with 'assert' or its misspellingsT)�unsafe)r
r�r
�assert_foo_call�assret_foo_call�asert_foo_call�aseert_foo_call�assrt_foo_call)rr�r�s   r�test_mock_unsafezMockTest.test_mock_unsafeBs����F�F��I��
�
#�
#�N�C�
8�
8�	 �	 �
������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
#�
#�N�C�
8�
8�	 �	 �
������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
#�
#�N�C�
8�
8�	�	�
������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�N�C�
8�
8�	 �	 �
������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
#�
#�N�C�
8�
8�	�	�
������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������	������	������	������	������	�������sY�A
�
A�A�3B�B�B�:C�C�"C�D"�"D&�)D&�E)�)E-�0E-c��t��}|j���|���|�t��5|j���ddd��dS#1swxYwYdSr!)r
�hello�assert_not_calledrer�r�s  r�test_assert_not_calledzMockTest.test_assert_not_calledWs����F�F��	��!�!�#�#�#�	���	�	�	�
�
�
�~�
.�
.�	(�	(�
�G�%�%�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s�A=�=B�Bc��t��}|dd��|�ttjd��|j��dS)Nr^r�zCalls: [call(1, 2)])r
r�r�r�r�r�r�s  r�test_assert_not_called_messagez'MockTest.test_assert_not_called_message^sR���F�F��	��!�Q�������~��I�+�,�,�
��	!�	!�	!�	!�	!rc�l�t��}|�t��5|j���ddd��n#1swxYwY|���|j���|���|j���dSr!)r
rer�r�r�r�s  r�test_assert_calledzMockTest.test_assert_calledes����F�F��
�
�
�~�
.�
.�	$�	$�
�G�!�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	���	�	�	�	�������	���	�	�	�	��������s�A�A�Ac���t��}|�t��5|j���ddd��n#1swxYwY|���|j���|���|�t��5|j���ddd��dS#1swxYwYdSr!)r
rer�r��assert_called_oncer�s  r�test_assert_called_oncez MockTest.test_assert_called_onceosB���F�F��
�
�
�~�
.�
.�	)�	)�
�G�&�&�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	���	�	�	�	��"�"�$�$�$�	���	�	�	�
�
�
�~�
.�
.�	)�	)�
�G�&�&�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)s#�A�A�A�5C�C �#C c��t��}|dd��|d��|�ttjd��|j��dS)Nr^r�r�zCalls: [call(1, 2), call(3)])r
r�r�r�r�r�r�s  r�test_assert_called_once_messagez(MockTest.test_assert_called_once_messagezs_���F�F��	��!�Q����	��!�������~��I�4�5�5�
� �	"�	"�	"�	"�	"rc��t��}|�t��5}|���ddd��n#1swxYwY|�dt|j����dS)NzCalls:)r
rer�r�rPr�r�)rr�r�s   r�*test_assert_called_once_message_not_calledz3MockTest.test_assert_called_once_message_not_called�s����F�F��
�
�
�~�
.�
.�	#�!�
� � �"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�����3�q�{�#3�#3�4�4�4�4�4s�A
�
A�Ac��t��}|�dd���d}|�t|jj��|��dS)Nr��hero)rj�daddyz call(name='hello', daddy='hero'))r
r�rIrmrM)rr��texts   r�test_ordered_call_signaturez$MockTest.test_ordered_call_signature�sO���F�F��	���W�F��+�+�+�1������a�g�/�0�0�$�7�7�7�7�7rc�J�tj��}tjdd��}t��}|���|�dd��|�|jd|��|�|jd|��dS)N�r�rr^)rr�rrr
rIrO)rr0r,r�s    r�test_override_tuple_methodsz$MockTest.test_override_tuple_methods�s����J�L�L���J�s�7�#�#���F�F��	���	�	�	�	����G����������*�A�.�.�.�������*�A�.�.�.�.�.rc���tdddg���}|�dd���|�|jt��|�|jd��dS)Nrer�r��rLrdT)r
r�r�rLrIrdr�s  r�test_reset_return_sideeffectz%MockTest.test_reset_return_sideeffect�sd���b�q��e�4�4�4��	���$�D��9�9�9����a�n�d�3�3�3�������-�-�-�-�-rc���tdddg���}|�d���|�|jt��|�|jd��dS)Nrer�r�r�TrY)r
r�r�rLr1rdr�s  r�test_reset_returnzMockTest.test_reset_return�sb���b�q��e�4�4�4��	���$��'�'�'����a�n�d�3�3�3����A�M�4�0�0�0�0�0rc���tdddg���}|�d���|�|jd��|�|jd��dS)Nrer�r�r�Tr�)r
r�rIrLrdr�s  r�test_reset_sideeffectzMockTest.test_reset_sideeffect�sb���b�q�!�f�5�5�5��	�����&�&�&�������,�,�,�������-�-�-�-�-rc��ttd������}|�|���d��|�d���|�|���d��dS)Nr^rY�r]T)r	rIr]r�r1r�s  r�test_reset_return_with_childrenz(MockTest.test_reset_return_with_children�ss���	�q�1�1�1�2�2�2�����������"�"�"�	���$��'�'�'����A�C�C�E�E�1�%�%�%�%�%rc���ttddg������}|�|jjd��|�d���|�|jjd��dS)Nr�r�r�r�T)r	r1r]rdr�rIr�s  r�+test_reset_return_with_children_side_effectz4MockTest.test_reset_return_with_children_side_effect�so���	�q�!�f�5�5�5�6�6�6�����A�C�O�T�2�2�2�	�����&�&�&�������$�/�/�/�/�/rc�4�	�Gd�dt��}Gd�dt��}Gd�dt���	ttttg}t|��D]6}|�|f�	fd�	��|�|f�	fd�	���7|D�]y}t��td	�
��fD�]V}|��}|j|j	|j
f||fdgdgffD�])\}}t��td	�
��fD�]}|j|fi|��|j|�tt|d��|�tt|d
��d|vr#|�tt|d
d��|j|fi|��|�tt|d��|j	|�tt|d
��d|vr#|�tt|d
d������+��X��{dS)Nc��eZdZdZdS)�)MockTest.test_mock_add_spec.<locals>._Oner^N)r&r'r(r�r"rr�_Oner����������C�C�Crr�c��eZdZdZdS)�)MockTest.test_mock_add_spec.<locals>._Twor�N)r&r'r(r�r"rr�_Twor��r�rr�c��eZdZdxZxZZdS)�-MockTest.test_mock_add_spec.<locals>.Anything�fourN)r&r'r(r�r�r_r"rr�Anythingr��s������ &�&�C�&�#���rr�c���|����S)Nryr"��Kr�s �rr�z-MockTest.test_mock_add_spec.<locals>.<lambda>�s���1�1�(�+;�+;�+;�rc���|����S)Nr{r"r�s �rr�z-MockTest.test_mock_add_spec.<locals>.<lambda>�s���1�1�h�+?�+?�+?�rTr{r�r�r_r|)r}r
r	rrr�r�r�r�r�r_�
mock_add_specrer
r�setattr)
rr�r��klassesr1r�r�One�Twor�s
         @r�test_mock_add_speczMockTest.test_mock_add_spec�s����	�	�	�	�	�6�	�	�	�	�	�	�	�	�6�	�	�	�	'�	'�	'�	'�	'�v�	'�	'�	'�
�)�_�.B�
���'�]�]�	A�	A�E��N�N�E�;�;�;�;�;�<�<�<��N�N�E�?�?�?�?�?�@�@�@�@��!	�!	�E��&�&�$��"5�"5�"5�5� 
� 
���u�w�w����$�(�D�J�.�.�"&�����%��/A� B���H�C��"&�&�&�$��*=�*=�*=�"=����*��*�3�9�9�&�9�9�9�����)�)�*�G�T�5�����)�)�*�G�T�7����&��/�/� �-�-� .���w�����+��*�3�9�9�&�9�9�9��)�)�*�G�T�5��������)�)�*�G�T�7����&��/�/� �-�-� .���w������1�� 
�!	�!	rc���ttfD]�}|���t����jt��|�tt���|����dd�j_�jt��|�	t���d��|�t�fd�����dS)Nrhr�c����dSrur"r�s�rr�z;MockTest.test_mock_add_spec_magic_methods.<locals>.<lambda>�s����e��r)
r	rr�r�r}rercr�rLrI�rr1rs  @r� test_mock_add_spec_magic_methodsz)MockTest.test_mock_add_spec_magic_methods�s����� 4�4�
	>�
	>�E��5�7�7�D���I�I�I��D��v�&�&�&����i��d�3�3�3��5�7�7�D���K�K�'(�D�L�%��D��s�#�#�#����S��Y�Y��*�*�*����i�)<�)<�)<�)<�=�=�=�=�
	>�
	>rc��tttttfD�]W}|��}t��|_|j��|�|jtj��g��|�|j	tj��g��|��}td���|_
|j
��|�|jg��|�|j	g��|��}t����|_|j��|�|jg��|�|j	g����YdS)Nrjri)rr
r	rr
rhrIrOrr�rkrpr�s   r�test_adding_child_mockzMockTest.test_adding_child_mock�sH��%�t�Y�8L��!�	2�	2�E��5�7�7�D��v�v�D�H��D�H�J�J�J����T�.������=�=�=����T�_�t�x�z�z�l�;�;�;��5�7�7�D���(�(�(�D�H��D�H�J�J�J����T�.��3�3�3����T�_�b�1�1�1��5�7�7�D�"�y�{�{�}�}�D�H��D�H�J�J�J����T�.��3�3�3����T�_�b�1�1�1�1�+	2�	2rc��ttfD]n}|��}t��|_|����|�|jt��t����g���odSr!)r
r	rLrIr�rr�s   r�test_adding_return_value_mockz&MockTest.test_adding_return_value_mocksy���9�_�	B�	B�E��5�7�7�D� )���D���D�D�F�F�H�H�H����T�_�t�v�v�v�t�v�v�x�x�.@�A�A�A�A�	B�	Brc�z�Gd�dt��}t��}tj|d��}tj|d��}|���}|�|j��|���}|�|j��|�|d��|�|d��|���|���|�	|j
tj��tj��g��dS)Nc��eZdZdZdZdS)�'MockTest.test_manager_mock.<locals>.Foor�r�N)r&r'r(r�r�r"rrrwr� s�������C��C�C�Crrwr�r�)r}r
rr�r�r��attach_mockr�r�rIr�r)rrw�manager�p1�p2�mock_one�mock_twos       r�test_manager_mockzMockTest.test_manager_mocks��	�	�	�	�	�&�	�	�	��&�&��
�\�#�u�
%�
%��
�\�#�u�
%�
%���8�8�:�:������� � � ��8�8�:�:������� � � ����H�e�,�,�,����H�e�,�,�,����	�	�	����	�	�	�����+�d�h�j�j�$�(�*�*�-E�F�F�F�F�Frc��ttfD]�}|��}td���|_td���|_t	|��t|��|�|jtj��tj��g��|�|j	g����dS)Nr�rYg@)
r
r	r��	__float__r��floatrIr�rrO)rr1r�s   r�test_magic_methods_mock_callsz&MockTest.test_magic_methods_mock_calls5s����9�_�	1�	1�E�����A��!�,�,�,�A�I�#��5�5�5�A�K���F�F�F��!�H�H�H����Q�\�D�L�N�N�D�N�<L�<L�+M�N�N�N����Q�^�R�0�0�0�0�	1�	1rc���tjd���}|d��}|���}|d��}|���}|�||��dS)Nrk��	read_data�a-namezanother-name)rr��readrI)r�mocked_open�f1�f1_data�f2�f2_datas      r� test_mock_open_reuse_issue_21750z)MockTest.test_mock_open_reuse_issue_21750@sh���n�v�6�6�6��
�[��
"�
"���'�'�)�)��
�[��
(�
(���'�'�)�)������'�*�*�*�*�*rc��tjd���}|d��}d�|D��}|�|dd��|�|dd��|�t|��g��dS)	NzRemarkable
Norwegian Bluer�r�c��g|]}|��Sr"r"�r��lines  rr�z=MockTest.test_mock_open_dunder_iter_issue.<locals>.<listcomp>M���%�%�%�$��%�%�%rrzRemarkable
r^zNorwegian Blue)rr�rIr�)rr�r��liness    r� test_mock_open_dunder_iter_issuez)MockTest.test_mock_open_dunder_iter_issueHs����n�/K�L�L�L��
�[��
"�
"��%�%�"�%�%�%������q��>�2�2�2�����q��#3�4�4�4�����b���2�&�&�&�&�&rc��tjd���}|d��}t|��}|���}d�|D��}|�|d��|�|d��|�|dd��|�t|��g��|�t��5t|��ddd��dS#1swxYwYdS)	Nz1st line
2nd line
3rd liner�r�c��g|]}|��Sr"r"r�s  rr�z6MockTest.test_mock_open_using_next.<locals>.<listcomp>Wr�rz	1st line
z	2nd line
rz3rd line)rr�r%r)rIr�rer<)rr�r��line1�line2r�s      r�test_mock_open_using_nextz"MockTest.test_mock_open_using_nextRs4���n�/M�N�N�N��
�[��
"�
"���R�������
�
��%�%�"�%�%�%�������-�-�-������-�-�-�����q��:�.�.�.�����b���2�&�&�&�
�
�
�}�
-�
-�	�	���H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�C2�2C6�9C6c��tjd���}d|jj_|�dt|������dS)N�foo
barnr��abc)rr�rL�readlinerIr%)r�mopens  r�3test_mock_open_next_with_readline_with_return_valuez<MockTest.test_mock_open_next_with_readline_with_return_value_sJ�����5�5�5��38���#�0������U�U�W�W�
�
�.�.�.�.�.rc�0�tjtjd�����}tjd|��5|j}|j}t
d��|_d�}|�t|��ddd��dS#1swxYwYdS)N�JLVriztempfile.NamedTemporaryFilezTest 2 Errorc�R�tj���d��dS)N�asd)�tempfile�NamedTemporaryFile�writer"rr�attemptz.MockTest.test_mock_open_write.<locals>.attemptks%���+�-�-�3�3�E�:�:�:�:�:r)	rr�r	rrLr�OSErrorrdre)r�mock_namedtemp�mock_filehandle�
mock_writers     r�test_mock_open_writezMockTest.test_mock_open_writeds�������E�(B�(B�(B�C�C��
�Z�5�~�
F�
F�	0�	0�,�9�O�(�.�J�%,�^�%<�%<�J�"�
;�
;�
;����g�w�/�/�/�
	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0s�AB�B�Bc��tjd���}d�|jj_|�����}|�����}|�d|��|�d|��dS)Nr�r�c��dS)Nr�r")r�s rr�z8MockTest.test_mock_open_alter_readline.<locals>.<lambda>qs��u�rr�)rr�rLr�rdrI)rr��first�seconds    r�test_mock_open_alter_readlinez&MockTest.test_mock_open_alter_readlineos������5�5�5��2D�2D���#�/����� � �"�"������!�!�#�#�������&�&�&������'�'�'�'�'rc�N�tjd���}|d��}|���|�d|�����|�d|�����|�d|�����|�d|�����|�g|�����|�g|�����dS)Nrhr�rkr�)rr�r�rIr��	readlines)r�_openr+s   r�test_mock_open_after_eofz!MockTest.test_mock_open_after_eofws������/�/�/���E�%�L�L��	����������Q�V�V�X�X�&�&�&�����Q�V�V�X�X�&�&�&�����Q�Z�Z�\�\�*�*�*�����Q�Z�Z�\�\�*�*�*�����Q�[�[�]�]�+�+�+�����Q�[�[�]�]�+�+�+�+�+rc�D�ttfD�]}|��}t|��}||_|�|��|��|�t|��|��|���|�|��|��|�t|��|��|��}|j|_|�	dt|j����|�	dt|j����|���|�	dt|j����|�	dt|j����|��}t|��}|��|_||j_|�t|��|��|�t|�����|����dS)Nz
name='mock.a')
r
r	rmrLr�rIr�r.r/rl)rr1r��
original_reprs    r�test_mock_parentszMockTest.test_mock_parents�s����9�_�	9�	9�E�����A� ��G�G�M��A�N��M�M�!�!�#�#�q�!�!�!����T�!�W�W�m�4�4�4�
�L�L�N�N�N��M�M�!�!�#�#�q�!�!�!����T�!�W�W�m�4�4�4�����A��#�A�C��M�M�/�4���9�9�5�5�5��M�M�/�4���9�9�5�5�5�
�L�L�N�N�N��M�M�/�4���9�9�5�5�5��M�M�/�4���9�9�5�5�5�����A� ��G�G�M��!�#�#�A�C� �A�C�����T�!�W�W�m�4�4�4����T�!�#�#�%�%�[�[�-�8�8�8�8�3	9�	9rc�:�ttttf}|D]�}|D]�}|��}|d���}|�|d��|�|j|��|�dt|����|j�	d��|�
|jtj�	d��g��|�
|j
tj�	d��g������dS)Nrhrirkzname='mock.bar'r^)r
r	rrr�r�rkrlrmrprIr�rrO�r�classesr1�Klass2r��m2s      r�test_attach_mockzMockTest.test_attach_mock�s	���	�#7��H���	D�	D�E�!�
D�
D���E�G�G���V��'�'�'���
�
�b�%�(�(�(��
�
�a�e�R�(�(�(��
�
�/��b���:�:�:���	�	�!����� � �������Q���/@�A�A�A�� � ���$�(�,�,�q�/�/�1B�C�C�C�C�
D�	D�	Drc��ttttf}ttfD]�}|D]�}|��}|d���}|�|d��|�|��|��|�dt|����|���|�	|j
t�����������ό�dS)NrhrirLz
name='mock()')
r
r	rrr�r�rlrmrhrIr�rr�rs      r�test_attach_mock_return_valuez&MockTest.test_attach_mock_return_value�s����	�#7��H���9�_�	I�	I�E�!�

I�

I���E�G�G���V��'�'�'���
�
�b�.�1�1�1��
�
�a�a�c�c�2�&�&�&��
�
�o�t�B�x�x�8�8�8�������� � ���t�v�v�z�z�|�|�/E�/E�/G�/G�H�H�H�H�

I�	I�	Irc���t��}tjt�d�d���5}|�|j���d��|�|d��|�d��td��|d��tjd��tjd��tjd��g}td��td��td��g}|�|j
|��|�|jj
|��|�tj
|��|�|j
|��|�d	t|jj����|�|j���d	��ddd��dS#1swxYwYdS)
N�
.somethingT��autospecr>r�r^r�r��
mock.child)
r
rrr&rI�_extract_mock_namer�r�r>rr�rlrm)rr��	mock_func�parent_calls�child_callss     r�test_attach_mock_patch_autospecz(MockTest.test_attach_mock_patch_autospec�s�������
�Z�8�/�/�/�$�
?�
?�
?�	P�9����Y�^�>�>�@�@�+�N�N�N����y�'�2�2�2��L�L��O�O�O��a�L�L�L��I�a�L�L�L� �J�q�M�M�4�:�a�=�=�$�*�Q�-�-�H�L���7�7�D��G�G�T�!�W�W�5�K����V�.��=�=�=����V�\�4�k�B�B�B����Y�1�;�?�?�?����Y�1�;�?�?�?��M�M�,��V�\�->�(?�(?�@�@�@����Y�^�>�>�@�@�,�O�O�O�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P����	P�	P�	P�	P�	P�	Ps�F*G$�$G(�+G(c
��tjt�d�d���5}t��}|�|d��t��}|�dddd�	��|�tj	tj
dddd�	��g��|j�ttj
dddd�	��g��|�ttj
dddd�	��g��ddd��n#1swxYwYtjt�d
�d���5}t��}|�|d��td��|�tjd��g��t�td��g��|�td��g��ddd��n#1swxYwYtjt�d�d���5}t��}|�|d
��t��}|�dddd�	��|�tj
��tj
���dddd�	��g��|j�tdddd�	��g��|�t��t���dddd�	��g��ddd��dS#1swxYwYdS)Nz.Something.methTr�attach_methr^r�r�r�rYr�attach_funcz
.Something�
attach_obj)rrr&r
r�r+r2r?rr&r�r>r'r()r�mockedr�rys    r�)test_attach_mock_patch_autospec_signaturez2MockTest.test_attach_mock_patch_autospec_signature�s���
�Z�8�4�4�4�t�
D�
D�
D�	D���f�f�G�����
�6�6�6��+�+�C��H�H�Q��1��H�"�"�"��$�$�d�&6�t�x��A�q�A�&N�&N�&N�%O�P�P�P��H�%�%�t�D�H�a��A��'C�'C�'C�&D�E�E�E��#�#�T�$�(�A�q�!�q�%A�%A�%A�$B�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D��Z�8�/�/�/�$�
?�
?�
?�	/�6��f�f�G�����
�6�6�6��a�L�L�L��$�$�d�&6�q�&9�&9�%:�;�;�;��&�&��Q���y�1�1�1��#�#�T�!�W�W�I�.�.�.�
	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��Z�8�/�/�/�$�
?�
?�
?�	I�6��f�f�G������5�5�5��+�+�C��H�H�Q��1��H�"�"�"��$�$�d�o�&7�&7�&*�o�&7�&7�&<�&<�Q��1��&<�&J�&J�&L�
M�
M�
M��H�%�%�t�A�q�!�q�'9�'9�'9�&:�;�;�;��#�#�T�V�V�T�V�V�[�[��A�q�A�[�-F�-F�$G�H�H�H�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Is8�C,D�D�D�B'G3�3G7�:G7�DL7�7L;�>L;c��t��t��t��t��fD]�}|�t|d����|`|�t|d����|`|�t|d����|�	tt|d����dS)Nr�r])r
r	rrrK�hasattrr�rGr]rer
rrVs  r�test_attribute_deletionz MockTest.test_attribute_deletion�s����V�V�Y�[�[�*>�*@�*@�$�&�&�(�		B�		B�D��O�O�G�D�#�.�.�/�/�/������W�T�3�/�/�0�0�0������W�T�3�/�/�0�0�0����n�g�t�S�A�A�A�A�		B�		Brc� �t��t��t��t��fD]�}d|_|�t
|d����|�|jd��|`|�t
|d����d|_|�t
|d����|�|jd��|`|�t
|d������dS)Nr�rhr�)	r
r	rrrhrKr,rIrGrVs  r�7test_mock_does_not_raise_on_repeated_attribute_deletionz@MockTest.test_mock_does_not_raise_on_repeated_attribute_deletion�s����V�V�Y�[�[�*>�*@�*@�$�&�&�(�	3�	3�D��D�H��O�O�G�D�%�0�0�1�1�1����T�X�q�)�)�)������W�T�5�1�1�2�2�2��D�H��O�O�G�D�%�0�0�1�1�1����T�X�q�)�)�)������W�T�5�1�1�2�2�2�2�	3�	3rc���t��t��t��t��fD]8}|`|�t��5|`ddd��n#1swxYwY�9dSr!)r
r	rrrhrer
rVs  r�4test_mock_raises_when_deleting_nonexistent_attributez=MockTest.test_mock_raises_when_deleting_nonexistent_attributes����V�V�Y�[�[�*>�*@�*@�$�&�&�(�	�	�D����"�"�>�2�2�
�
��H�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s�A$�$A(	�+A(	c��t��}d|_|`|j��|�t	|d����dS)NTr�)r
r�r�rGr,rVs  r�/test_reset_mock_does_not_raise_on_attr_deletionz8MockTest.test_reset_mock_does_not_raise_on_attr_deletionsM���v�v����
��J������������w�/�/�0�0�0�0�0rc���t��t��fD]K}|�|t��t|_|�|t��|j�LdSr!)r
r	rr�r�r�rhrVs  r�test_class_assignablezMockTest.test_class_assignable$sd���F�F�I�K�K�'�	�	�D��$�$�T�3�/�/�/� �D�N��!�!�$��,�,�,��H�H�H�	�	rc�$�|�tj��|�t	tj��t
��|�t	tj��j��t
��dSr!)�assertIsNotNonerrjrIr�rrs r�test_name_attribute_of_callz$MockTest.test_name_attribute_of_call,se��	
���T�Y�'�'�'�����d�i���%�0�0�0�����d�i�k�k�.�/�/��7�7�7�7�7rc�$�|�tj��|�t	tj��t
��|�t	tj��j��t
��dSr!)r7rr�rIr�rrs r�test_parent_attribute_of_callz&MockTest.test_parent_attribute_of_call3sg��	
���T�[�)�)�)�����d�k�*�*�E�2�2�2�����d�k�m�m�2�3�3�U�;�;�;�;�;rc�l�d�}t��}t|��|_|jdd��|�t|jd��|�|jtjdd��g��|�dt|jj
����dS)Nc��dSr!r"r�s  rrhzBMockTest.test_parent_propagation_with_create_autospec.<locals>.foo=r3rr^r�r)r
rr�rercrIr�rrlrmr)rrhrs   r�,test_parent_propagation_with_create_autospecz5MockTest.test_parent_propagation_with_create_autospec;s�������v�v��$�S�)�)��
���
�1�a�������)�T�Z��3�3�3������4�:�a��+;�+;�*<�=�=�=��
�
�l�D����$9�$9�:�:�:�:�:rc��d�}t��}|�t|d���d��|�dd��|�t
|jd��|�|jjtjdd��g��|�	dt|jj����dS)Nc��dSr!r"r�s  rrhzGMockTest.test_parent_propagation_with_autospec_attach_mock.<locals>.fooIr3rrkrir�r^r�r)r
r�rr�rercrIr�rrlrmr)rrhr�s   r�1test_parent_propagation_with_autospec_attach_mockz:MockTest.test_parent_propagation_with_autospec_attach_mockGs�������������?�3�U�;�;�;�W�E�E�E����Q��������)�V�\�1�5�5�5������0�4�:�a��3C�3C�2D�E�E�E��
�
�l�D���):�$;�$;�<�<�<�<�<rc���	�tj}|�d�|��tjd��5tjd=�	fd��	|�tjt	j����t	j�	��ddlm	}m
}m}m}||||tg}|D].}|t���}|�|t���/	ddd��dS#1swxYwYdS)Nc�.�ttd|��S)Nr)r��mock_module)rs rr�z9MockTest.test_isinstance_under_settrace.<locals>.<lambda>bs��g�k�7�E�&J�&J�rzsys.modulesrc����Sr!r")�frame�eventr�traces   �rrGz6MockTest.test_isinstance_under_settrace.<locals>.traceis����rr)r
r	rrry)rCrr�r�r��modules�settrace�gettrace�	mock.mockr
r	rrr
r+r�)
r�	old_patchr
r	rrrqrryrGs
         @r�test_isinstance_under_settracez'MockTest.test_isinstance_under_settraceTs���� �%�	�
	
���J�J�!�	#�	#�	#��Z�
�
&�
&�	6�	6���F�#�
�
�
�
�
�
�O�O�C�L�#�,�.�.�9�9�9��L�����
�
�
�
�
�
�
�
�
�
�
�
�
�i��2F�	��E��
6�
6���d�	�*�*�*���%�%�c�9�5�5�5�5�
6�%	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�B!C(�(C,�/C,c���Gd�d��}|��}tj�|dd���5ddd��n#1swxYwY|�|jjjd��dS)Nc��eZdZd�ZdS)�FMockTest.test_bool_not_called_when_passing_spec_arg.<locals>.Somethingc�6�tj��|_dSr!)rCr	�obj_with_bool_funcrs rrzOMockTest.test_bool_not_called_when_passing_spec_arg.<locals>.Something.__init__}s��*5�*?�*A�*A��'�'�'rN)r&r'r(rr"rrr+rP|s(������
B�
B�
B�
B�
Brr+rRTrr)rCrr}rIrR�__bool__rJ)rr+rys   r�*test_bool_not_called_when_passing_spec_argz3MockTest.test_bool_not_called_when_passing_spec_arg{s���	B�	B�	B�	B�	B�	B�	B�	B��i�k�k��
�
�
%�
%�c�+?�$�
%�
O�
O�U�U�U�U�U�U�U�U�U�U�U�U�U����U�U�U�U�����/�8�C�Q�G�G�G�G�Gs�A�A�AN)�r&r'r(rCrWrZr`rfrrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr!r)r+r3r=rDrJrQrVr\rbrgrmrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	rrrrr r'r/r3r6r8rDrNr]rarhrlrorrrvryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrr$r*r-r/r1r3r5r8r:r=r@rMrTr"rrr@r@-s=������(�(�(�A�A�A�8F�F�F�$�$�$����
=�
=�
=� -�-�-�<2�2�2�6E�E�E�$=�=�=�&C�&C�&C�R������#&�#&�#&�L>�>�>�,$�$�$�8@�@�@�'�'�'�
A�
A�
A� ���(3�3�3�
�
�
�.2�2�2�#�#�#�,
=�
=�
=� ?�?�?�3�3�3����0���0�0�0�4	.�	.�	.�C�C�C�&�&�&�
8�
8�
8� 6�6�6�
6�
6�
6�5�5�5�
8�
8�
8�8�8�8�6�6�6�
8�
8�
8�6�6�6�8�8�8�B9�9�9�$0�0�0�3�3�3�9�9�9�3�3�3�/�/�/�@�@�@�'�'�'�('�'�'�(4�4�4����0�0�0�(
9�
9�
9�-�-�-�.
8�
8�
8�
�
�
�-�-�-�3�3�3�*'�'�'�5�5�5�pK;�K;�K;�\=�=�=�6�6�6�9�9�9�?�?�?�=�=�=�?�?�?�N�N�N�L�L�L�3�3�3�
3�3�3�" � � �F
8�
8�
8� /�/�/�0%�%�%�3�3�3�*3�3�3�
*�*�*�X%�%�%�P%�%�%�P"�"�"�:�:�:�>A�A�A�:
�
�
�4A�A�A�&���$-�-�-�
G�G�G����*(�(�(�!�!�!� � � �	)�	)�	)�"�"�"�5�5�5�8�8�8�/�/�/�.�.�.�1�1�1�.�.�.�&�&�&�0�0�0�0�0�0�j>�>�>�"2�2�2�2B�B�B�G�G�G�,	1�	1�	1�+�+�+�'�'�'����/�/�/�
	0�	0�	0�(�(�(�
,�
,�
,�9�9�9�:D�D�D�"
I�
I�
I� P�P�P�(I�I�I�:
B�
B�
B�3�3�3�&���1�1�1����8�8�8�<�<�<�
;�
;�
;�
=�
=�
=�%6�%6�%6�NH�H�H�H�Hrr@�__main__)r�r�r�r�r��mock.tests.supportrrrrrrrr	r
rrr
rrKrrrCr}rr+r>r�r@r&�mainr"rr�<module>rXs�������	�	�	�	�
�
�
�
���������(�(�(�(�(�(�*�*�*�*�*�*���������������������������'�&�&�&�&�&�&�&�������
�
�
�
�
�6�
�
�
�%�%�%�%�%��%�%�%����V!H�V!H�V!H�V!H�V!H�x� �V!H�V!H�V!H�rB�z����H�M�O�O�O�O�O��r