HOME


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

���_����z�ddlZddlZddlmZddlZddlmZddlmZm	Z	ddlm
Z
ddlmZm
Z
mZmZmZmZmZmZddlmZmZmZd	ZejeZd
ezZdd�Ze
jae
j Z!Gd
�de"��Z#dezZ$e#fd�Z%Gd�de"��Z&Gd�dej'��Z(edkrej)��dSdS)�N)�OrderedDict)�support)�	SomeClass�is_instance�)�uncache)�NonCallableMock�sentinel�	MagicMock�Mock�NonCallableMagicMock�patch�DEFAULT�call)�
CallableMixin�_patch�_get_target�builtinsz%s.PTModuleTc�v��G�fd�dt��}|s�fd�}�fd�}||_||_|��S)Nc���eZdZ�fd�ZdS)�_get_proxy.<locals>.Proxyc�$��t�|��S�N)�getattr��self�name�objs  ��6/usr/lib/python3/dist-packages/mock/tests/testpatch.py�__getattr__z%_get_proxy.<locals>.Proxy.__getattr__s����3��%�%�%�N)�__name__�
__module__�__qualname__r )rs�r�Proxyrs.�������	&�	&�	&�	&�	&�	&�	&r!r%c�*��t�||��dSr)�setattr)rr�valuers   �r�__setattr__z_get_proxy.<locals>.__setattr__ s����C��u�%�%�%�%�%r!c�(��t�|��dSr)�delattrrs  �r�__delattr__z_get_proxy.<locals>.__delattr__"s����C������r!)�objectr)r,)r�get_onlyr%r)r,s`    r�
_get_proxyr/s����&�&�&�&�&�&�&��&�&�&��(�	&�	&�	&�	&�	&�	�	�	�	�	�'���'����5�7�7�Nr!c�l�eZdZd�Zd�Zd�ZdZed���Ze	d���Z
Gd�de��Zd	S)
�Fooc��dSr��r�as  r�__init__zFoo.__init__/����r!c��dSrr3r4s  r�fzFoo.f0r7r!c��dSrr3�rs r�gzFoo.g1r7r!�barc��dSrr3r3r!r�
static_methodzFoo.static_method4s���r!c��dSrr3)�clss r�class_methodzFoo.class_method7s���4r!c��eZdZd�ZdS)�Foo.Barc��dSrr3r;s rr5z	Foo.Bar.a;r7r!N�r"r#r$r5r3r!r�BarrD:s����������r!rGN)
r"r#r$r6r9r<�foo�staticmethodr?�classmethodrBr-rGr3r!rr1r1.s����������������
�C�����\������[�������f�����r!r1z%s.Fooc��dSrr3�r5�bs  r�functionrN@r7r!c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�	Containerc��i|_dSr��valuesr;s rr6zContainer.__init__Ds
������r!c��|j|SrrR�rrs  r�__getitem__zContainer.__getitem__Gs���{�4� � r!c��||j|<dSrrR)rrr(s   r�__setitem__zContainer.__setitem__Js��!���D���r!c��|j|=dSrrRrUs  r�__delitem__zContainer.__delitem__Ms���K����r!c�*�t|j��Sr)�iterrSr;s r�__iter__zContainer.__iter__Ps���D�K� � � r!N)r"r#r$r6rVrXrZr]r3r!rrPrPCs_���������!�!�!�"�"�"����!�!�!�!�!r!rPc���eZdZdsd�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/�Z0d0�Z1d1�Z2d2�Z3d3�Z4d4�Z5d5�Z6d6�Z7d7�Z8d8�Z9d9�Z:d:�Z;d;�Z<d<�Z=d=�Z>d>�Z?d?�Z@d@�ZAdA�ZBdB�ZCdC�ZDdD�ZEdE�ZFdF�ZGdG�ZHdH�ZIdI�ZJdJ�ZKdK�ZLdL�ZMdM�ZNdN�ZOdO�ZPdP�ZQdQ�ZRdR�ZSdS�ZTdT�ZUdU�ZVdV�ZWdW�ZXeYdXdY��dZ���ZZeYdXd[��d\���Z[d]�Z\d^�Z]d_�Z^d`�Z_da�Z`db�Zadc�Zbdd�Zcde�Zddf�Zedg�Zfdh�Zgdi�Zhdj�Zidk�Zjdl�Zkdm�Zldn�Zmdo�Zndp�Zodq�ZpdrS)t�	PatchTestTc���t}|st}|�t|��|�t||����|�t|t����dSr)r
r	�assertRaises�	TypeError�
assertTruer�assertFalser)rr�magic�	MockClasss    r�assertNotCallablezPatchTest.assertNotCallableWsj��(�	��	(�'�I����)�S�)�)�)�����C��3�3�4�4�4�����S�-�8�8�9�9�9�9�9r!c�����Gd�dt���tj�dtj����fd���}|�����jtjd��dS)Nc��eZdZejZdS)�4PatchTest.test_single_patchobject.<locals>.SomethingN�r"r#r$r
�Original�	attributer3r!r�	Somethingrjb������� �)�I�I�Ir!rnrmc�T�����jtjd��dS�N�	unpatched��assertEqualrmr
�Patched�rnrs��r�testz/PatchTest.test_single_patchobject.<locals>.testes'������Y�0�(�2B�K�P�P�P�P�Pr!�patch not restored�r-rr
rurtrmrl�rrwrns` @r�test_single_patchobjectz!PatchTest.test_single_patchobjectas�����	*�	*�	*�	*�	*��	*�	*�	*�
��i��h�.>�	?�	?�	Q�	Q�	Q�	Q�	Q�
@�	?�	Q�	
���������,�h�.?�-�	/�	/�	/�	/�	/r!c��d}|�t|��5tjdd��ddd��dS#1swxYwYdS)Nz>'Something' must be the actual object to be patched, not a strrn�do_something)�assertRaisesRegexrbrr-)r�msgs  r�&test_patchobject_with_string_as_targetz0PatchTest.test_patchobject_with_string_as_targetms���N��
�
#�
#�I�s�
3�
3�	6�	6��L��n�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�A�A�Ac�����Gd�dt���tj�dd����fd���}|�����jtjd��dS)Nc��eZdZejZdS)�7PatchTest.test_patchobject_with_none.<locals>.SomethingNrkr3r!rrnr�sror!rnrmc�>�����jd��dSrq)�assertIsNonermrvs��rrwz2PatchTest.test_patchobject_with_none.<locals>.testvs"������i�1�;�?�?�?�?�?r!rx)r-rrtrmr
rlrzs` @r�test_patchobject_with_nonez$PatchTest.test_patchobject_with_noners�����	*�	*�	*�	*�	*��	*�	*�	*�
��i��d�	3�	3�	@�	@�	@�	@�	@�
4�	3�	@�	
���������,�h�.?�-�	/�	/�	/�	/�	/r!c����Gd�dt���tj�dtj��tj�dtj����fd�����}|�����jtjd�����jtj	d��dS)Nc�*�eZdZejZejZdS)�6PatchTest.test_multiple_patchobject.<locals>.SomethingN�r"r#r$r
rlrm�	Original2�next_attributer3r!rrnr��������� �)�I�%�/�N�N�Nr!rnrmr�c������jtjd�����jtjd��dSrq)rtrmr
rur��Patched2rvs��rrwz1PatchTest.test_multiple_patchobject.<locals>.test�sY���
���Y�0�(�2B�(�
*�
*�
*����Y�5�x�7H�(�
*�
*�
*�
*�
*r!rx)
r-rr
rur�rtrmrlr�r�rzs` @r�test_multiple_patchobjectz#PatchTest.test_multiple_patchobjects�����	0�	0�	0�	0�	0��	0�	0�	0�
��i��h�.>�	?�	?�	��i�!1�8�3D�	E�	E�	*�	*�	*�	*�	*�
F�	E�
@�	?�	*�	
���������,�h�.?�-�	/�	/�	/�����1�8�3E�-�	/�	/�	/�	/�	/r!c���t}tdtztj��d���}	tja|��|�ttj��|adS#|awxYw)N�%s.somethingc��dSrr3r3r!rrwz8PatchTest.test_object_lookup_is_quite_lazy.<locals>.test�s���Dr!)�	somethingrr"r
�
Something2�replacement_valuert�r�originalrws   r� test_object_lookup_is_quite_lazyz*PatchTest.test_object_lookup_is_quite_lazy�s~����	�~��(�(�*=�	>�	>�	�	�
?�	>�	�	!� �2�I��D�F�F�F����Y��(B�C�C�C� �I�I�I���I� � � � s�;A3�3A7c����tdtztj���fd���}|����t
jtjd��tdtztj��tdtztj���fd�����}��t
jtjd����t
j	tjd��|����t
jtjd����t
j	tjd��t��}tj|_tdtz|���fd���}|��|����t|d��dS)Nr�c�^����tjtjd��dSrq)rt�PTModuler�r
r�r;s�rrwz"PatchTest.test_patch.<locals>.test�s2������X�/��1D�(�
*�
*�
*�
*�
*r!rxz%s.something_elsec�����tjtjd����tjtjd��dSrq)rtr�r�r
r��something_else�
SomethingElser;s�rrwz"PatchTest.test_patch.<locals>.test�sY���
���X�/��1D�(�
*�
*�
*����X�4�h�6L�(�
*�
*�
*�
*�
*r!�%s.openc�f����tdd��tjd��dS)N�filename�rzopen not patched)rt�openr
�Handler;s�rrwz"PatchTest.test_patch.<locals>.test�s8������T�*�c�2�2�H�O�/�
1�
1�
1�
1�
1r!)rr"r
r�rtr�r�rnr�r�rr��return_value�builtin_string�assertNotEqualr�)rrw�mocks`  r�
test_patchzPatchTest.test_patch�s����	�~��(�(�*=�	>�	>�	*�	*�	*�	*�
?�	>�	*�	
���������+�X�-?�-�	/�	/�	/�
�~��(�(�*=�	>�	>�	�"�X�-�x�/E�	F�	F�	*�	*�	*�	*�
G�	F�
?�	>�	*�	
����+�X�-?�-�	/�	/�	/�����0�(�2H�-�	/�	/�	/�	
���������+�X�-?�-�	/�	/�	/�����0�(�2H�-�	/�	/�	/��v�v��$�O���	�y�>�)�4�	0�	0�	1�	1�	1�	1�
1�	0�	1�	
�������������D�$�(<�=�=�=�=�=r!c���tdtztj���fd���}|����t
jjd��dS)Nz%s.SomeClass.class_attributec�h����tjjtjd��dSrq)rtr�r�class_attributer
�ClassAttributer;s�rrwz2PatchTest.test_patch_class_attribute.<locals>.test�s<���
���X�/�?�%�4�k�
C�
C�
C�
C�
Cr!rx)rr"r
r�r�r�rr��rrws` r�test_patch_class_attributez$PatchTest.test_patch_class_attribute�s����	�-��8��&�
(�
(�	C�	C�	C�	C�
(�
(�	C�	
��������(�,�<�.�	0�	0�	0�	0�	0r!c������Gd�dt���tj�d����fd���}|��tj�d��tj�d������fd�����}dx��|tjtj��\��|tjtj��dS)Nc�*�eZdZejZejZdS)�:PatchTest.test_patchobject_with_default_mock.<locals>.TestN)r"r#r$r
rlr�r��
something2r3r!r�Testr��s������ �)�I�!�+�J�J�Jr!r�r�c�x����|�jd����|td��dS)N�"Mock not passed into test function�.patch with two arguments did not create a mock)rtr��assertIsInstancer)r�r�rs ��rrwz:PatchTest.test_patchobject_with_default_mock.<locals>.test�sU������T�4�>�A�
C�
C�
C��!�!�$�	�L�
N�
N�
N�
N�
Nr!r�c������|tjd����|tjd����|�jd����|�jd����|td����|td�����|d�����|d��||fS)Nz0Patched function didn't receive initial argumentz/Patched function didn't receive second argumentr�z)Second Mock not passed into test functionr�zunexpected value for mock1)	rtr
�this1�this2r�r�r�rr�)r�r��mock1�mock2r��
outerMock1�
outerMock2rs    ����rrwz:PatchTest.test_patchobject_with_default_mock.<locals>.test�s���
���U�H�N�O�
Q�
Q�
Q����U�H�N�N�
P�
P�
P����U�D�O�A�
C�
C�
C����U�D�N�H�
J�
J�
J��!�!�%��L�
N�
N�
N��!�!�%��L�
N�
N�
N�
���
�E�3O�P�P�P����
�E�3O�P�P�P��%�<�r!)r-rr
r�r�)rrwr�r�r�s` @@@r�"test_patchobject_with_default_mockz,PatchTest.test_patchobject_with_default_mock�s������	,�	,�	,�	,�	,�6�	,�	,�	,�
��d�K�	(�	(�	N�	N�	N�	N�	N�
)�	(�	N�	
�����	��d�K�	(�	(�	��d�L�	)�	)�	 �	 �	 �	 �	 �	 �	 �
*�	)�
)�	(�	 �&#'�&�
�Z�!%��h�n�h�n�!E�!E��
�J�	
��X�^�X�^�,�,�,�,�,r!c�n��tdtzt����fd���}|��dS)N�%s.SomeClass��specc������t|����ttjt
������td���dS)Nc��tjSr�r�
not_wibbler3r!r�<lambda>z>PatchTest.test_patch_with_spec.<locals>.test.<locals>.<lambda>�	��i�6J�r!�rtrrcr�wibblerra�AttributeError��
MockSomeClassrs �rrwz,PatchTest.test_patch_with_spec.<locals>.test�X������Y�
�6�6�6��O�O�K�	�(8�)�D�D�E�E�E����n�.J�.J�K�K�K�K�Kr!)rr"rr�s` r�test_patch_with_speczPatchTest.test_patch_with_specsO���	�~��(�y�	9�	9�	9�	L�	L�	L�	L�
:�	9�	L�
	
������r!c�t��tjtdt����fd���}|��dS)Nr�r�c������tj|����t	tjjt������td���dS)Nc�$�tjjSr�rr�r�r3r!rr�zDPatchTest.test_patchobject_with_spec.<locals>.test.<locals>.<lambda>���i�&?�&J�r!�	rtrr�rcrr�rrar���
MockAttributers �rrwz2PatchTest.test_patchobject_with_spec.<locals>.test�x������Y�6�
�F�F�F��O�O�K�	�(A�(H�'0�2�2�
3�
3�
3����n�J�J�
L�
L�
L�
L�
Lr!�rr-rr�s` r�test_patchobject_with_specz$PatchTest.test_patchobject_with_spec
sP���	��i�!2��	C�	C�	C�	L�	L�	L�	L�
D�	C�	L�	
������r!c�f��tdtzdg����fd���}|��dS)Nr�r�r�c������t|����ttjt
������td���dS)Nc��tjSrr�r3r!rr�zFPatchTest.test_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>r�r!r�r�s �rrwz4PatchTest.test_patch_with_spec_as_list.<locals>.testr�r!�rr"r�s` r�test_patch_with_spec_as_listz&PatchTest.test_patch_with_spec_as_listsQ���	�~��(��z�	:�	:�	:�	L�	L�	L�	L�
;�	:�	L�
	
������r!c�l��tjtddg����fd���}|��dS)Nr�r�r�c������tj|����t	tjjt������td���dS)Nc�$�tjjSrr�r3r!rr�zLPatchTest.test_patchobject_with_spec_as_list.<locals>.test.<locals>.<lambda>*r�r!r�r�s �rrwz:PatchTest.test_patchobject_with_spec_as_list.<locals>.test$r�r!r�r�s` r�"test_patchobject_with_spec_as_listz,PatchTest.test_patchobject_with_spec_as_list#sR���	��i�!2�(��	D�	D�	D�	L�	L�	L�	L�
E�	D�	L�	
������r!c���tdtz��tdtzdg����fd�����}|��dS)Nr�r�r�r�c������t|����ttjt
������td���dS)Nc��tjSrr�r3r!rr�zMPatchTest.test_nested_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>6r�r!r�)r��MockOpenrs  �rrwz;PatchTest.test_nested_patch_with_spec_as_list.<locals>.test1sZ���
���Y�
�6�6�6��O�O�K�	�(8�)�D�D�E�E�E����n�.J�.J�K�K�K�K�Kr!)rr�r"r�s` r�#test_nested_patch_with_spec_as_listz-PatchTest.test_nested_patch_with_spec_as_list/si���	�y�>�)�	*�	*�	�~��(��z�	:�	:�	:�	L�	L�	L�	L�
;�	:�
+�	*�	L�	
������r!c�d��tdtzd����fd���}|��dS)Nr�Tr�c������t����j��t�fd���dS)Nc����jSr�r��r�s�rr�zIPatchTest.test_patch_with_spec_as_boolean.<locals>.test.<locals>.<lambda>A�
���m�6N�r!�rtrr�rar�r�s`�rrwz7PatchTest.test_patch_with_spec_as_boolean.<locals>.test;�I�������Y�
�6�6�6�� � ����n�.N�.N�.N�.N�O�O�O�O�Or!r�r�s` r�test_patch_with_spec_as_booleanz)PatchTest.test_patch_with_spec_as_boolean:sO���	�~��(�t�	4�	4�	4�	P�	P�	P�	P�
5�	4�	P�	
������r!c�j��tjtdd����fd���}|��dS)NrTr�c������t����j��t�fd���dS)Nc����jSrr�r�s�rr�zPPatchTest.test_patch_object_with_spec_as_boolean.<locals>.test.<locals>.<lambda>Mr�r!r�r�s`�rrwz>PatchTest.test_patch_object_with_spec_as_boolean.<locals>.testGr�r!)rr-r�r�s` r�&test_patch_object_with_spec_as_booleanz0PatchTest.test_patch_object_with_spec_as_booleanFsN���	��h��$�	7�	7�	7�	P�	P�	P�	P�
8�	7�	P�	
������r!c�d��tdtzd����fd���}|��dS)Nr�Tr�c�������t|t����|���������j��t�fd���dS)Nc����jSrr�)�instances�rr�zVPatchTest.test_patch_class_acts_with_spec_is_inherited.<locals>.test.<locals>.<lambda>[s
���h�6I�r!)rcrrrgr�rar�)r�r�rs @�rrwzDPatchTest.test_patch_class_acts_with_spec_is_inherited.<locals>.testSsl�����O�O�K�
�y�A�A�B�B�B�$�}���H��"�"�8�,�,�,��O�O����n�.I�.I�.I�.I�J�J�J�J�Jr!r�r�s` r�,test_patch_class_acts_with_spec_is_inheritedz6PatchTest.test_patch_class_acts_with_spec_is_inheritedRsO���	�~��(�t�	4�	4�	4�	K�	K�	K�	K�
5�	4�	K�	
������r!c���tdtztjd����fd���}|����t
d���dS)N�
%s.froobleT��createc�R����ttj��dSr)rt�froobler
�Froobler;s�rrwzLPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.testas"������W�h�&6�7�7�7�7�7r!c��tSr�rr3r!rr�zPPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.<lambda>f���W�r!)rr�r
rra�	NameErrorr�s` r�4test_patch_with_create_mocks_non_existent_attributesz>PatchTest.test_patch_with_create_mocks_non_existent_attributes`sj���	�|�n�,�h�.>�t�	L�	L�	L�	8�	8�	8�	8�
M�	L�	8�	
��������)�_�_�5�5�5�5�5r!c����tjtdtjd����fd���}|����t
td����dS)NrTrc�\����tjtj��dSr)rtrrr
rr;s�rrwzRPatchTest.test_patchobject_with_create_mocks_non_existent_attributes.<locals>.testjs%������Y�.��0@�A�A�A�A�Ar!)rr-rr
rrd�hasattrr�s` r�:test_patchobject_with_create_mocks_non_existent_attributeszDPatchTest.test_patchobject_with_create_mocks_non_existent_attributesist���	��i��H�,<�T�	J�	J�	J�	B�	B�	B�	B�
K�	J�	B�	
����������I�6�6�7�7�7�7�7r!c��|�t��5tdtztj��d���}|��ddd��n#1swxYwY|�td���dS)Nr�c��dSrr3r3r!rrwz9PatchTest.test_patch_wont_create_by_default.<locals>.testt����r!c��tSrrr3r!rr�z=PatchTest.test_patch_wont_create_by_default.<locals>.<lambda>xrr!)rar�rr�r
rrr�s  r�!test_patch_wont_create_by_defaultz+PatchTest.test_patch_wont_create_by_defaultrs���
�
�
�~�
.�
.�	�	�
�<�.�0�(�2B�
C�
C���D�
C���D�F�F�F�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
	
���)�_�_�5�5�5�5�5s�6A�A!�$A!c�*�|�t��5tjtdt
j��d���}|��ddd��n#1swxYwY|�ttd����dS)N�ordc��dSrr3r3r!rrwz?PatchTest.test_patchobject_wont_create_by_default.<locals>.test}rr!)	rar�rr-rr
rrdrr�s  r�'test_patchobject_wont_create_by_defaultz1PatchTest.test_patchobject_wont_create_by_default{s���
�
�
�~�
.�
.�	�	�
�\�)�U�H�,<�
=�
=���>�
=���D�F�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
�����E�2�2�3�3�3�3�3s�9A � A$�'A$c��ttdz��d���}ttdz��d���}|�|��d��|�|��d��dS)Nz.ordc�.�d|_td��S)N�e�c)r�r)�mock_ords r�test_ordz>PatchTest.test_patch_builtins_without_create.<locals>.test_ord�s��$'�H�!��s�8�8�Or!z.openc��|j}d|j_td��}|���}|���|S)N�abcdzdoesnotexists.txt)r��readr��close)�	mock_open�m�fobj�datas    r�	test_openz?PatchTest.test_patch_builtins_without_create.<locals>.test_open�sA���&�A�"(�A�F���+�,�,�D��9�9�;�;�D��J�J�L�L�L��Kr!rr�rr"rt)rrr%s   r�"test_patch_builtins_without_createz,PatchTest.test_patch_builtins_without_create�s���	�x���	�	�	�	�
 �	�	�
�x���	 �	 �	�	�
!�	 �	�	
�������S�)�)�)��������f�-�-�-�-�-r!c����Gd�dt���tj�dtd�������fd���}|��������t
j��dS)Nc�$�eZdZed���ZdS)�5PatchTest.test_patch_with_static_methods.<locals>.Fooc��tjSr)r
�Staticr3r!r�wootz:PatchTest.test_patch_with_static_methods.<locals>.Foo.woot�s
����&r!N)r"r#r$rIr-r3r!rr1r*�s-������
�
'�
'��\�
'�
'�
'r!r1r-c��tjSr)r
rur3r!rr�z:PatchTest.test_patch_with_static_methods.<locals>.<lambda>�s	���8H�r!c�l��������tj��dSr)rtr-r
ru)r1rs��r�	anonymousz;PatchTest.test_patch_with_static_methods.<locals>.anonymous�s*������S�X�X�Z�Z��)9�:�:�:�:�:r!)r-rrIrtr-r
r,)rr0r1s` @r�test_patch_with_static_methodsz(PatchTest.test_patch_with_static_methods�s�����	'�	'�	'�	'�	'�&�	'�	'�	'�

��c�6�<�0H�0H�#I�#I�	J�	J�	;�	;�	;�	;�	;�
K�	J�	;��	������������X�_�5�5�5�5�5r!c���tj}tjtdd���fd���}|����tj|��dS)Nr1c�H����tjd��dS�Nr1)rtr
r1r;s�rr0z-PatchTest.test_patch_local.<locals>.anonymous�s!������X�\�5�1�1�1�1�1r!)r
r1rr-rt)rrHr0s`  r�test_patch_localzPatchTest.test_patch_local�se����l��	��h��u�	-�	-�	2�	2�	2�	2�
.�	-�	2��	���������s�+�+�+�+�+r!c����Gd�dt��}|���tj�_tj�dd����fd���}|�����jtj��dS)Nc��eZdZdZdS)�'PatchTest.test_patch_slots.<locals>.Foo)r1N)r"r#r$�	__slots__r3r!rr1r8�s������ �I�I�Ir!r1c�>�����jd��dSr4)rtr1�rHrs��rr0z-PatchTest.test_patch_slots.<locals>.anonymous�s!������S�W�e�,�,�,�,�,r!)r-r
r1rrt)rr1r0rHs`  @r�test_patch_slotszPatchTest.test_patch_slots�s�����	!�	!�	!�	!�	!�&�	!�	!�	!��c�e�e���,���	��c�5�%�	(�	(�	-�	-�	-�	-�	-�
)�	(�	-��	���������(�,�/�/�/�/�/r!c�^���Gd�dt���G��fd�dt��}tj�dtj��|��}|��}|���|������jtjd��dS)Nc��eZdZejZdS)�=PatchTest.test_patchobject_class_decorator.<locals>.SomethingNrkr3r!rrnr?�ror!rnc�(��eZdZ��fd�Z��fd�ZdS)�7PatchTest.test_patchobject_class_decorator.<locals>.Fooc�T�����jtjd��dSrqrs��
other_selfrnrs ��r�test_methodzCPatchTest.test_patchobject_class_decorator.<locals>.Foo.test_method�s2���� � ��!4�h�6F�!,�.�.�.�.�.r!c�T�����jtjd��dS�Nznon-test method patched)rtrmr
rlrCs ��r�not_test_methodzGPatchTest.test_patchobject_class_decorator.<locals>.Foo.not_test_method�s2���� � ��!4�h�6G�!:�<�<�<�<�<r!N)r"r#r$rErHrvs��rr1rA�sQ�������
.�
.�
.�
.�
.�
.�
<�
<�
<�
<�
<�
<�
<�
<r!r1rmrx)	r-rr
rurErHrtrmrl)rr1r9rns`  @r� test_patchobject_class_decoratorz*PatchTest.test_patchobject_class_decorator�s�����	*�	*�	*�	*�	*��	*�	*�	*�	<�	<�	<�	<�	<�	<�	<�	<�&�	<�	<�	<�E�e�l�9�k�8�3C�D�D�S�I�I���C�E�E��	�
�
����	����������,�h�.?�-�	/�	/�	/�	/�	/r!c���Gd�dt��}G�fd�dt��}tdtz��|��}|��}|���|�����|jtjd����tj
tjd��dS)Nc��eZdZejZdS)�7PatchTest.test_patch_class_decorator.<locals>.SomethingNrkr3r!rrnrL�ror!rnc�(��eZdZdZ�fd�Z�fd�ZdS)�1PatchTest.test_patch_class_decorator.<locals>.Foo�whateverc�J����tj|d��dSrq)rtr�r�)rD�mock_somethingrs  �rrEz=PatchTest.test_patch_class_decorator.<locals>.Foo.test_method�s/���� � ��!3�^�!,�.�.�.�.�.r!c�^����tjtjd��dSrG)rtr�r�r
rn)rDrs �rrHzAPatchTest.test_patch_class_decorator.<locals>.Foo.not_test_method�s2���� � ��!3�X�5G�!:�<�<�<�<�<r!N)r"r#r$�test_class_attrrErHr;s�rr1rN�sL�������(�O�
.�
.�
.�
.�
.�
<�
<�
<�
<�
<�
<�
<r!r1r�rx)r-rr"rErHrtrmr
rlr�r�rn)rrnr1r9s`   r�test_patch_class_decoratorz$PatchTest.test_patch_class_decorator�s����	*�	*�	*�	*�	*��	*�	*�	*�		<�		<�		<�		<�		<�		<�		<�&�		<�		<�		<�/�e�N�X�-�.�.�s�3�3���C�E�E��	�
�
����	����������,�h�.?�-�	/�	/�	/�����+�X�-?�-�	/�	/�	/�	/�	/r!c�4���Gd�dt���tj�dtj��tj�dtj����fd�����}|�����jtjd��dS)Nc�*�eZdZejZejZdS)�3PatchTest.test_patchobject_twice.<locals>.SomethingNr�r3r!rrnrW�r�r!rnrmc�T�����jtjd��dSrqrsrvs��rrwz.PatchTest.test_patchobject_twice.<locals>.test�s)���
���Y�0�(�2B�K�P�P�P�P�Pr!rxryrzs` @r�test_patchobject_twicez PatchTest.test_patchobject_twice�s�����	0�	0�	0�	0�	0��	0�	0�	0�
��i��h�.>�	?�	?�	��i��h�.>�	?�	?�	Q�	Q�	Q�	Q�	Q�
@�	?�
@�	?�	Q�	
���������,�h�.?�-�	/�	/�	/�	/�	/r!c�����t��dd������}tj����fd���}|�����|��tj�ddi����fd���}|�����|��tj�dg����fd���}|�����|��dS)	Nr���initial�otherc�"��d�d<�d=d�d<dS�N�r5r\�something elser]r3�rHs�rrwz'PatchTest.test_patch_dict.<locals>.test� ����C��H��I��+�C��L�L�Lr!r5rMc�����t���d�����dd��dS�Nr`r5rM�rt�lenr;s��rrwz'PatchTest.test_patch_dict.<locals>.test�?������S��X�X�q�)�)�)����S��X�s�+�+�+�+�+r!rLc�����t���d�����dd��dSrerfr;s��rrwz'PatchTest.test_patch_dict.<locals>.testrhr!�r-�copyr�dictrt�rr�rwrHs`  @r�test_patch_dictzPatchTest.test_patch_dict�s,���� �(�(�[�9�9���8�8�:�:��	��C���	,�	,�	,�	,�
��	,�
	
���������h�'�'�'�	��C�#�s��	$�	$�	,�	,�	,�	,�	,�
%�	$�	,�	
���������h�'�'�'�	��C�*��	&�	&�	,�	,�	,�	,�	,�
'�	&�	,�	
���������h�'�'�'�'�'r!c����t���t���d<d�d<�j���}t	j����fd���}|�����j|��t	j�ddi����fd���}|�����j|��dS)Nr\r�r]c�"��d�d<�d=d�d<dSr_r3rbs�rrwz=PatchTest.test_patch_dict_with_container_object.<locals>.test&rcr!r5rMc�����t�j��d�����dd��dSre)rtrgrSr;s��rrwz=PatchTest.test_patch_dict_with_container_object.<locals>.test0sA������S���_�_�a�0�0�0����S��X�s�+�+�+�+�+r!�rPr-rSrkrrlrtrms`  @r�%test_patch_dict_with_container_objectz/PatchTest.test_patch_dict_with_container_objects������k�k������I��#��G���:�?�?�$�$��	��C���	,�	,�	,�	,�
��	,�
	
����������X�.�.�.�	��C�#�s��	$�	$�	,�	,�	,�	,�	,�
%�	$�	,�	
����������X�.�.�.�.�.r!c�����t��dd������}tj�d�����fd���}|�����|��tj�ddid�����fd���}|�����|��tj�d	gd�����fd
���}|�����|��dS)Nr�r[T��clearc�H�����i��d�d<d�d<dS�Nr`r5rar]�rtr;s��rrwz2PatchTest.test_patch_dict_with_clear.<locals>.test>s/������S�"�%�%�%��C��H�+�C��L�L�Lr!r5rMc�8�����ddi��dS�Nr5rMryr;s��rrwz2PatchTest.test_patch_dict_with_clear.<locals>.testH�#������S�3��*�-�-�-�-�-r!rLc�8�����ddi��dSr{ryr;s��rrwz2PatchTest.test_patch_dict_with_clear.<locals>.testPr|r!rjrms`  @r�test_patch_dict_with_clearz$PatchTest.test_patch_dict_with_clear:sC���� �(�(�[�9�9���8�8�:�:��	��C�t�	$�	$�	$�	,�	,�	,�	,�	,�
%�	$�	,�
	
���������h�'�'�'�	��C�#�s��4�	0�	0�	0�	.�	.�	.�	.�	.�
1�	0�	.�	
���������h�'�'�'�	��C�*��T�	2�	2�	2�	.�	.�	.�	.�	.�
3�	2�	.�	
���������h�'�'�'�'�'r!c����t���t���d<d�d<�j���}t	j�d�����fd���}|�����j|��t	j�ddid�����fd	���}|�����j|��dS)
Nr\r�r]Truc�R�����ji��d�d<d�d<dSrx�rtrSr;s��rrwzGPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.test`s1������S�Z��,�,�,��C��H�+�C��L�L�Lr!r5rMc�B�����jddi��dSr{r�r;s��rrwzGPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.testjs%������S�Z�#�s��4�4�4�4�4r!rrrms`  @r�/test_patch_dict_with_container_object_and_clearz9PatchTest.test_patch_dict_with_container_object_and_clearYs������k�k������I��#��G���:�?�?�$�$��	��C�t�	$�	$�	$�	,�	,�	,�	,�	,�
%�	$�	,�
	
����������X�.�.�.�	��C�#�s��4�	0�	0�	0�	5�	5�	5�	5�	5�
1�	0�	5�	
����������X�.�.�.�.�.r!c���ddi}tj|d���5}|�|ddi��ddd��n#1swxYwY|�|ddi��dS)Nr5rMr)r5)rrlrt)rrH�patcheds   r�"test_patch_dict_as_context_managerz,PatchTest.test_patch_dict_as_context_managerss����C�j��
�Z��s�
#�
#�
#�	2�w����W�s�C�j�1�1�1�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�����s�C�j�)�)�)�)�)s�A�A�Ac�~�i}tdtzt����tdtzt��d���tjtt����tj|��d���������}|�|jd��dS)Nr�T��autospecc��dSrr3r3r!r�	some_namez0PatchTest.test_name_preserved.<locals>.some_name}s	���r!r�)rr"r-rrlrt)rrHr�s   r�test_name_preservedzPatchTest.test_name_preservedzs�����	�~��(�&�(�(�	3�	3�	�~��(�&�(�(�T�	B�	B�	B�	��i����	*�	*�	��C�����
��
+�	*�
C�	B�
4�	3�	�����+�[�9�9�9�9�9r!c���i}tj|ddi��d���}|�t��5|��ddd��n#1swxYwY|�|i��dS)Nr5rMc� �td���)N�Konrad�rr3r!rrwz1PatchTest.test_patch_with_exception.<locals>.test�s���H�%�%�%r!)rrlrarrt)rrHrws   r�test_patch_with_exceptionz#PatchTest.test_patch_with_exception�s�����	��C�#�s��	$�	$�	&�	&�
%�	$�	&��
�
�y�
)�
)�	�	��D�F�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����b�!�!�!�!�!s�A�A�Ac�`��tjdddi���fd���}|��dS)Nz
os.environ�
konrad_delongz
some valuec�H����dtj��dS)Nr�)�assertIn�os�environr;s�rrwz3PatchTest.test_patch_dict_with_string.<locals>.test�s����M�M�/�2�:�6�6�6�6�6r!)rrlr�s` r�test_patch_dict_with_stringz%PatchTest.test_patch_dict_with_string�sJ���	��L�?�L�"A�	B�	B�	7�	7�	7�	7�
C�	B�	7�	
������r!c�8��tj���}tjdddi���fd���}	ddit_|����tjddi��|t_dS#|t_wxYw)Nzmock.tests.support.targetr=�BARc�N����tjddd���dS)N�BAZr��rHr=)rtr�targetr;s�rrwz<PatchTest.test_patch_dict_decorator_resolution.<locals>.test�s)������W�^�U�5�-I�-I�J�J�J�J�Jr!rHr�)rr�rkrrlrtr�s`  r�$test_patch_dict_decorator_resolutionz.PatchTest.test_patch_dict_decorator_resolution�s�����>�&�&�(�(��	��/�%���	@�	@�	K�	K�	K�	K�
A�	@�	K�	&�#�U�^�G�N��D�F�F�F����W�^�e�U�^�<�<�<�%�G�N�N�N��X�G�N�%�%�%�%s�:B�Bc��tdtztd���d���}|�t|��tjtdtd���d���}|�t|��tdtzd���d���}|�t|��tjtdd���d	���}|�t|��dS)
Nr�T�r��spec_setc��d|_dS�NrH��z�rfs rrwz+PatchTest.test_patch_spec_set.<locals>.test��
���I�K�K�Kr!rc��d|_dSr�r�r�s rrwz+PatchTest.test_patch_spec_set.<locals>.test�r�r!�r�c��d|_dSr�r�r�s rrwz+PatchTest.test_patch_spec_set.<locals>.test�r�r!c��d|_dSr�r�r�s rrwz+PatchTest.test_patch_spec_set.<locals>.test�r�r!)rr"rrar�r-rr�s  r�test_patch_spec_setzPatchTest.test_patch_spec_set�s��	�~��(�y�4�	H�	H�	H�	 �	 �
I�	H�	 �	
���.�$�/�/�/�	��g�{��T�	J�	J�	J�	 �	 �
K�	J�	 �	
���.�$�/�/�/�	�~��(�4�	8�	8�	8�	 �	 �
9�	8�	 �	
���.�$�/�/�/�	��g�{�T�	:�	:�	:�	 �	 �
;�	:�	 �	
���.�$�/�/�/�/�/r!c��tdtzd���d���}|�t|��dS)Nr�Tr�c�(�|��}d|_dSr�r�)rfr�s  rrwz-PatchTest.test_spec_set_inherit.<locals>.test�s�� �y�{�{�H��H�J�J�Jr!)rr"rar�r�s  r�test_spec_set_inheritzPatchTest.test_spec_set_inherit�sL��	�~��(�4�	8�	8�	8�	�	�
9�	8�	�	
���.�$�/�/�/�/�/r!c��t}tdtz��}|�t|��|���}	|�||��|�t|��|���n#|���wxYw|�t|��dS)Nr�)r�rr"�assertIs�start�assertIsNot�stop)rr��patcherr�s    r�test_patch_start_stopzPatchTest.test_patch_start_stop�s��������1�2�2���
�
�i��*�*�*��}�}����	����T�8�,�,�,��M�M�)�T�*�*�*��L�L�N�N�N�N��G�L�L�N�N�N�N�����
�
�i��*�*�*�*�*s�1B�B+c��ttdd��}|�|�����dS�Nr=r`)r�foo_namer�r��rr�s  r�test_stop_without_startz!PatchTest.test_stop_without_start�s5����%��+�+�����'�,�,�.�.�)�)�)�)�)r!c���ttdd��}|���|���|�|�����dSr�)rr�r�r�r�r�s  r�test_stop_idempotentzPatchTest.test_stop_idempotent�sO����%��+�+���
�
�������������'�,�,�.�.�)�)�)�)�)r!c��t}tjtdd��}|�t|��|���}	|�|d��|�t|��|���n#|���wxYw|�t|��dS)Nr�rH)r�rr-r�r�r�rtr�)rr�r��replaceds    r�test_patchobject_start_stopz%PatchTest.test_patchobject_start_stop�s������,�x��e�<�<���
�
�i��*�*�*��=�=�?�?��	����X�u�-�-�-��M�M�)�X�.�.�.��L�L�N�N�N�N��G�L�L�N�N�N�N�����
�
�i��*�*�*�*�*s�1B�B/c�t�ddi}|���}tj|dgd���}|�||��|���	|�|ddi��|���n#|���wxYw|�||��dS)NrHr=��spam�eggsTrur�r�)rkrrlrtr�r��r�dr�r�s    r�test_patch_dict_start_stopz$PatchTest.test_patch_dict_start_stop�s���
�E�N���6�6�8�8���*�Q�!1� 2�$�?�?�?������H�%�%�%��
�
����	����Q��� 0�1�1�1��L�L�N�N�N�N��G�L�L�N�N�N�N��������H�%�%�%�%�%s�B	�	Bc���ddi}|���}tj|dgd���}|�|�����|�||��dS)NrHr=r�Tru)rkrrlrdr�rtr�s    r�"test_patch_dict_stop_without_startz,PatchTest.test_patch_dict_stop_without_startsj��
�E�N���6�6�8�8���*�Q�!1� 2�$�?�?�?����������(�(�(�����H�%�%�%�%�%r!c�R���|�ddi�����}G��fd�dt��}tj�ddid���|��}|��|��|��}|���|��|��|���|��|��|��}|���|��|��|���|��|��dS)	Nr�r�c�(��eZdZ��fd�Z��fd�ZdS)�7PatchTest.test_patch_dict_class_decorator.<locals>.Testc�8�����ddi��dS�NrHr=ry�rr��thiss ��r�
test_firstzBPatchTest.test_patch_dict_class_decorator.<locals>.Test.test_first�#���� � ��U�E�N�3�3�3�3�3r!c�8�����ddi��dSr�ryr�s ��r�test_secondzCPatchTest.test_patch_dict_class_decorator.<locals>.Test.test_secondr�r!N)r"r#r$r�r�)r�r�s��rr�r�sQ�������
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4r!r�rHr=Tru)rkr-rrlrtr�r�)rr�r�rwr�r�s    @@r�test_patch_dict_class_decoratorz)PatchTest.test_patch_dict_class_decorator
sM������
�V����6�6�8�8��	4�	4�	4�	4�	4�	4�	4�	4�6�	4�	4�	4�9�u�z�!�e�U�^�4�8�8�8��>�>������H�%�%�%��t�v�v������������H�%�%�%�����������H�%�%�%��t�v�v������������H�%�%�%�����������H�%�%�%�%�%r!c����Gd�dt��}Gd�d��}|||��|fD]�}t|���tj�dd����fd���}|�����jd����|jd����d�j����dS)Nc��eZdZdZdS)�0PatchTest.test_get_only_proxy.<locals>.SomethingrHN�r"r#r$rHr3r!rrnr�-��������C�C�Cr!rnc��eZdZdZdS)�4PatchTest.test_get_only_proxy.<locals>.SomethingElserHNr�r3r!rr�r�/r�r!r�rHr=c�>�����jd��dS�Nr=�rtrH��proxyrs��rrwz+PatchTest.test_get_only_proxy.<locals>.test5�!���� � ���E�2�2�2�2�2r!�r-r/rrtrH�assertNotIn�__dict__�rrnr��thingrwr�s`    @r�test_get_only_proxyzPatchTest.test_get_only_proxy,s����	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	��
�y�y�{�{�M�I�		4�		4�E��u�%�%�E�
�\�%���
.�
.�
3�
3�
3�
3�
3�/�
.�
3��D�F�F�F����U�Y��.�.�.����U�Y��.�.�.����U�E�N�3�3�3�3�		4�		4r!c����Gd�dt��}Gd�d��}|||��|fD]�}t|d����tj�dd����fd	���}|�����jd����|jd����d�j����dS)
Nc��eZdZdZdS)�6PatchTest.test_get_set_delete_proxy.<locals>.SomethingrHNr�r3r!rrnr�?r�r!rnc��eZdZdZdS)�:PatchTest.test_get_set_delete_proxy.<locals>.SomethingElserHNr�r3r!rr�r�Ar�r!r�F)r.rHr=c�>�����jd��dSr�r�r�s��rrwz1PatchTest.test_get_set_delete_proxy.<locals>.testGr�r!r�r�s`    @r�test_get_set_delete_proxyz#PatchTest.test_get_set_delete_proxy>s����	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	��
�y�y�{�{�M�I�		4�		4�E��y�5�9�9�9�E�
�\�%���
.�
.�
3�
3�
3�
3�
3�/�
.�
3��D�F�F�F����U�Y��.�.�.����U�Y��.�.�.����U�E�N�3�3�3�3�		4�		4r!c�x�tdt��d�}ttfi|��}|���}|���|�t|��|�|j�	��d��|�
|jt��dS)N�!��side_effectzfoo.bar.return_valuerH)�KeyErrorrrr�r�r�rartrHr=r��r�kwargsr�r�s    r�test_patch_keyword_argsz!PatchTest.test_patch_keyword_argsPs���!)�2�"���&�&����+�+�F�+�+���}�}�������������(�D�)�)�)�����������,�,�,����d�h�	�2�2�2�2�2r!c��tdt��d�}tjtdfi|��}|���}|���|�t|��|�|j	�
��d��|�|j	t��dS)Nr�r�r9)r�rrr-r1r�r�rartrHr=r�r�s    r�test_patch_object_keyword_argsz(PatchTest.test_patch_object_keyword_args]s���!)�2�"���&�&���,�s�C�2�2�6�2�2���}�}�������������(�D�)�)�)�����������,�,�,����d�h�	�2�2�2�2�2r!c�d�ddi}|���}tj|ddd���}|���	|�|tddd�����|���n#|���wxYw|�||��dS)NrHr=r`��)rHr=�baz)rkrrlr�rtr�)rr�rkr�s    r�test_patch_dict_keyword_argsz&PatchTest.test_patch_dict_keyword_argsjs����5�>���}�}�����*�X�1�!��;�;�;���
�
����	����X�t��q�a�'@�'@�'@�A�A�A��L�L�N�N�N�N��G�L�L�N�N�N�N��������4�(�(�(�(�(s�&B�Bc�����Gd�dt��}�fd���fd�����fd�}ttd���|��}|��}��t|��|��t
jt}tj|dd���|��}|��}��t|��|��dS)	Nc�@�eZdZd�Zd�Zd�ZdZGd�de��ZdS)�$PatchTest.test_autospec.<locals>.Booc��dSrr3r4s  rr6z-PatchTest.test_autospec.<locals>.Boo.__init__{r7r!c��dSrr3r4s  rr9z&PatchTest.test_autospec.<locals>.Boo.f|r7r!c��dSrr3r;s rr<z&PatchTest.test_autospec.<locals>.Boo.g}r7r!r=c��eZdZd�ZdS)�(PatchTest.test_autospec.<locals>.Boo.Barc��dSrr3r;s rr5z*PatchTest.test_autospec.<locals>.Boo.Bar.a�r7r!NrFr3r!rrGr�s������!�!�!�!�!r!rGN)	r"r#r$r6r9r<rHr-rGr3r!r�Boorzs^������'�'�'� � � �����C�
"�
"�
"�
"�
"�f�
"�
"�
"�
"�
"r!r	c�~��|d��|�d����t|��dS�Nr)�assert_called_withrarb�r�rs �r�_testz&PatchTest.test_autospec.<locals>._test�s@����D��G�G�G��#�#�A�&�&�&����i��.�.�.�.�.r!c���|�d��|j�d����t|j��|���|j�����t|jd����t
t|d��|j���|jj�����t
t|jd��|�	��|j	���|j	�
��|j	j
�����t|j	j
d��|�	���
��|�	��j
�����t|�	��j
d����t
t|j	d����t
t|�	��d��dS)Nr�hr=rM)r9rrarbr<r�rrH�lowerrGr5r
s �r�_test2z'PatchTest.test_autospec.<locals>._test2�s�����F�F�1�I�I�I��F�%�%�a�(�(�(����i���0�0�0��F�F�H�H�H��F�%�%�'�'�'����i����3�3�3����n�g�t�S�A�A�A��H�N�N�����H�N�-�-�/�/�/����n�g�t�x��G�G�G��H�H�J�J�J��H�'�'�)�)�)��H�J�J�L�L�L��H�J�)�)�+�+�+����i����Q�7�7�7��H�H�J�J�L�L�N�N�N��H�H�J�J�L�+�+�-�-�-����i�������q�9�9�9����n�g�t�x��E�E�E����n�g�t�x�x�z�z�3�G�G�G�G�Gr!c����|���|���|d������|t��|Sr)r�r1)r�rrrs ���rrNz)PatchTest.test_autospec.<locals>.function�sK����E�$�K�K�K��F�4�L�L�L��F�4�4��7�7�O�O�O��M�M�$��$�$�$��Kr!Tr�r1)r-rr�r�r1�sys�modulesr")rr	rNrwr��modulerrs`     @@r�
test_autospeczPatchTest.test_autospecys/�����	"�	"�	"�	"�	"�&�	"�	"�	"�	/�	/�	/�	/�	/�
	H�	H�	H�	H�	H�:	�	�	�	�	�	�	�.�u�X��-�-�-�h�7�7���t�v�v������d�#�#�#��������X�&��9�u�|�F�E�D�9�9�9�(�C�C���t�v�v������d�#�#�#�������r!c�d��tdtzd����fd���}|��dS)N�%s.functionTr�c���t�����ttj����ttj��td����ttj��t�d��t���t���tdd��t�dd����tt����tttd��dS)Nr�r`rH)
rN�assert_not_calledra�AssertionError�
assert_called�assert_called_oncerrbr�rr
s �rrwz.PatchTest.test_autospec_function.<locals>.test�s�����&�&�(�(�(����n�h�.D�E�E�E����n�h�.I�J�J�J��Q�K�K�K����n�h�.H�I�I�I��'�'��*�*�*��"�"�$�$�$��'�'�)�)�)��Q��N�N�N��'�'��1�-�-�-����i��2�2�2����n�g�x��G�G�G�G�Gr!r�r�s` r�test_autospec_functionz PatchTest.test_autospec_function�sO���	�}�x�'�$�	7�	7�	7�
	H�
	H�
	H�
	H�
8�	7�
	H�	
������r!c��tdtzdd���d���}|��}|�|d��dS)NrTr`)r�r�c�"�tdd��S)Nrr)rN)�
mock_functions rrwz.PatchTest.test_autospec_keywords.<locals>.test�s���A�q�>�>�!r!r&)rrw�results   r�test_autospec_keywordsz PatchTest.test_autospec_keywords�sb��	�}�x�'�$��
�
�
�	"�	"�
�
�	"�����������#�#�#�#�#r!c���tdtzd���5}t���|���ddd��dS#1swxYwYdS)Nz%s.Foo.static_methodTr�)rr"r1r?�assert_called_once_with�r�methods  r�test_autospec_staticmethodz$PatchTest.test_autospec_staticmethod�s���
�)�H�4�t�
D�
D�
D�	-���������*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-��.A�A�Ac���tdtzd���5}t���|���ddd��dS#1swxYwYdS)Nz%s.Foo.class_methodTr�)rr"r1rBr'r(s  r�test_autospec_classmethodz#PatchTest.test_autospec_classmethod�s���
�(�8�3�d�
C�
C�
C�	-�v��������*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-r+c��tdtzdd���}|�t|j��t
jt}tj|ddd���}|�t|j��dS)Nrr`T)�newr�rN)rr"rarbr�rrr-)rr�rs   r�test_autospec_with_newz PatchTest.test_autospec_with_new�su���
��0�a�$�G�G�G�����)�W�]�3�3�3���X�&���,�v�z�q�4�H�H�H�����)�W�]�3�3�3�3�3r!c�H�Gd�dt��}tt|���}|���}	|�||��|�|jt��|���dS#|���wxYw)Nc��eZdZgZdS)�0PatchTest.test_autospec_with_object.<locals>.BarN)r"r#r$�extrar3r!rrGr3�s�������E�E�Er!rGr�)r1rr�r�r�r4�listr�)rrGr�r�s    r�test_autospec_with_objectz#PatchTest.test_autospec_with_object�s���	�	�	�	�	�#�	�	�	���3�/�/�/���}�}����	��!�!�$��,�,�,��!�!�$�*�d�3�3�3��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s�6B�B!c�.�t}ttd���}|���}	|�||��|�|d��|��|���dS#|���wxYw)NTr�r`)r1rr�r�r�r�)r�FooClassr�r�s    r�test_autospec_inheritsz PatchTest.test_autospec_inherits�s�������4�0�0�0���}�}����	��!�!�$��1�1�1��!�!�$�$�q�'�'�8�4�4�4��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s�5A>�>Bc��ttd���}|���}	|�dt	|����|�dt	|j����|�dt	|d������|�dt	|d��j����|���dS#|���wxYw)NTr�z name='Foo'z
 name='Foo.f'z
 name='Foo()'z name='Foo().f')rr�r�r��reprr9r�)rr�r�s   r�test_autospec_namezPatchTest.test_autospec_names�����4�0�0�0���}�}����	��M�M�-��d���4�4�4��M�M�/�4���<�<�8�8�8��M�M�/�4���T�
�
�+;�+;�<�<�<��M�M�+�T�$�$�t�*�*�,�-?�-?�@�@�@��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s�B(C*�*Dc�6�tjtdt����d���}	|��n#tj��}YnxYwtjddd��}|�||��}|�d|��dS)Nr9c��t�r)rr3r!rrwz'PatchTest.test_tracebacks.<locals>.tests�� � r!rzraise AssertionError)	rr-r1r�exc_info�unittest�TextTestResult�_exc_info_to_stringr�)rrw�errr$�	tracebacks     r�test_tracebackszPatchTest.test_tracebackss���	��c�3����	)�	)�	!�	!�
*�	)�	!�	!��D�F�F�F�F��	!��,�.�.�C�C�C�����(��t�Q�7�7���.�.�s�D�9�9�	��
�
�,�i�8�8�8�8�8s	�
=�Ac�@�ttt���}|���}|���|���}|���|�||��||fD]}|�|���dS)N��new_callable)rr�r
r�r�r�rg�rr��m1�m2r�s     r�test_new_callable_patchz!PatchTest.test_new_callable_patch#s�����/C�D�D�D��
�]�]�_�_��������
�]�]�_�_������������R� � � ���F�	'�	'�D��"�"�2�&�&�&�&�	'�	'r!c�L�tjtdt���}|���}|���|���}|���|�||��||fD]}|�|���dS)Nr9rG)rr-r1r
r�r�r�rgrIs     r�test_new_callable_patch_objectz(PatchTest.test_new_callable_patch_object0s����,�s�C�6J�K�K�K��
�]�]�_�_��������
�]�]�_�_������������R� � � ���F�	'�	'�D��"�"�2�&�&�&�&�	'�	'r!c���G�fd�dt���tt�dd���}|���}	|�t|�����|��jtdd�����|�	��dS#|�	��wxYw)Nc���eZdZdZ�fd�ZdS)�:PatchTest.test_new_callable_keyword_arguments.<locals>.BarNc���|�_dSr�r��rr�rGs  �rr6zCPatchTest.test_new_callable_keyword_arguments.<locals>.Bar.__init__@����#��
�
�
r!�r"r#r$r�r6�rGs�rrGrQ>�3��������F�
$�
$�
$�
$�
$�
$�
$r!rGrr)rH�arg1�arg2)rYrZ)
r-rr�r�r��typertr�rlr�)rr�r"rGs   @r�#test_new_callable_keyword_argumentsz-PatchTest.test_new_callable_keyword_arguments=s����	$�	$�	$�	$�	$�	$�	$�&�	$�	$�	$�
��s���C�C�C���M�M�O�O��	��M�M�$�q�'�'�3�'�'�'����S�Z��1�1�)=�)=�)=�>�>�>��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s
�A
B'�'B=c�<��G�fd�dt���tt�����}|���	|��jt
������|���n#|���wxYwtt�����}|���	|��jt
������|���dS#|���wxYw)Nc���eZdZdZ�fd�ZdS)�-PatchTest.test_new_callable_spec.<locals>.BarNc���|�_dSrrSrTs  �rr6z6PatchTest.test_new_callable_spec.<locals>.Bar.__init__OrUr!rVrWs�rrGr_MrXr!rG�rHr�r�)rHr�r�)r-rr�r�rtr�rlr�)rr�rGs  @r�test_new_callable_specz PatchTest.test_new_callable_specLs���	$�	$�	$�	$�	$�	$�	$�&�	$�	$�	$�
��s��=�=�=���
�
����	����S�Z��3����8�8�8��L�L�N�N�N�N��G�L�L�N�N�N�N������s�S�A�A�A���
�
����	����S�Z��s�);�);�);�<�<�<��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s�)B�B�)D�Dc�f�dtz}t|t���}|�t|j��t|td���}|���}	|�|d���|���dS#|���wxYw)Nz	%s.weeeeerGT)rHrF)re)r�rr	rar�r�rgr�)r�non_existent_attr�pr"s    r�test_new_callable_createz"PatchTest.test_new_callable_createas���'�(�2���#�/�B�B�B�����.�!�'�2�2�2��#�/��
�
�
��
�G�G�I�I��	��"�"�1�E�"�2�2�2�
�F�F�H�H�H�H�H��A�F�F�H�H�H�H���s�-B�B0c��|�tttt	��t
���|�ttjtdt	��t
���dS)N)r/rHr9)ra�
ValueErrorrr�r-rr1r;s r�'test_new_callable_incompatible_with_newz1PatchTest.test_new_callable_incompatible_with_newosk�������x�V�X�X�I�	�	
�	
�	
�	
������c�3�F�H�H�"�	�	
�	
�	
�	
�	
r!c���|�ttttd���|�ttjtdtd���dS)NT)rHr�r9)rarhrr�rr-r1r;s r�,test_new_callable_incompatible_with_autospecz6PatchTest.test_new_callable_incompatible_with_autospecysd�������x�i��	�	
�	
�	
�	
������c�3�Y��	�	
�	
�	
�	
�	
r!c�|�Gd�dt��}tttt|f}|D]�}dD]�}|di}t	t
fd|i|��}|���}	|j}|�tt|d��|����m#|���wxYw��dS)Nc��eZdZdS)�>PatchTest.test_new_callable_inherit_for_mocks.<locals>.MockSubN�r"r#r$r3r!r�MockSubrn���������Dr!rpr�TrH�x)rr	r
rrr�r�r�rar�rr�)	rrp�MockClasses�Klass�argr�rer"r�s	         r�#test_new_callable_inherit_for_mocksz-PatchTest.test_new_callable_inherit_for_mocks�s���	�	�	�	�	�d�	�	�	�
�1�9�d�G�
��!�		�		�E�)�
�
���t����(�A�A��A�&�A�A���G�G�I�I��� �~�H��%�%�n�g�x��M�M�M��F�F�H�H�H�H��A�F�F�H�H�H�H����
�		�		s�$)B"�"B8c��Gd�dt��}tt|d���}|���}	|�t||����|�tt|d��|�	��n#|�	��wxYw|�
|jt��dS)Nc��eZdZd�ZdS)�>PatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMockc��||_dSrr�)rr�s  rr6zGPatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMock.__init__�s
�� ��	�	�	r!N)r"r#r$r6r3r!r�NotAMockry�s#������
!�
!�
!�
!�
!r!r{Trar�)
r-rr�r�rcrrar�rr�rtr�r1)rr{rer"s    r�"test_new_callable_inherit_non_mockz,PatchTest.test_new_callable_inherit_non_mock�s���	!�	!�	!�	!�	!�v�	!�	!�	!�
�(���=�=�=��
�G�G�I�I��	��O�O�K��8�4�4�5�5�5����n�g�q�.�I�I�I�
�F�F�H�H�H�H��A�F�F�H�H�H�H����������%�%�%�%�%s
�AB�B0c�6���|�t�G��fd�dt��}ttt���|��}|�����|�����|�t���dS)Nc�(��eZdZ��fd�Zd�Zd�ZdS)�>PatchTest.test_new_callable_class_decorating.<locals>.SomeTestc�����t�����t|����tt��dSr)r�r1r�r�r)r�mock_foor�rws  ��rrzDPatchTest.test_new_callable_class_decorating.<locals>.SomeTest._test�sI���� � ��h�/�/�/��
�
�c�8�,�,�,��%�%�c�9�5�5�5�5�5r!c�0�|�|��dSr�r�rr�s  r�test_twozGPatchTest.test_new_callable_class_decorating.<locals>.SomeTest.test_two�����
�
�8�$�$�$�$�$r!c�0�|�|��dSrr�r�s  r�test_onezGPatchTest.test_new_callable_class_decorating.<locals>.SomeTest.test_one�r�r!N�r"r#r$rr�r�)r�rws��r�SomeTestr�sQ�������
6�
6�
6�
6�
6�
6�

%�
%�
%�
%�
%�
%�
%�
%r!r�rG)r1r-rr�rr�r�r�)rr�r�rws  @@r�"test_new_callable_class_decoratingz,PatchTest.test_new_callable_class_decorating�s���������
	%�
	%�
	%�
	%�
	%�
	%�
	%�
	%�v�
	%�
	%�
	%�;�5��	�:�:�:�8�D�D����
�
��������
�
�������
�
�c�8�$�$�$�$�$r!c����t�tj}tj}tjt
dd���}tjtdd���}||fD]�}|���	��t�����tjd����tjd��|�	��n#|�	��wxYw��t�����tj|����tj|����tjt
dd�����fd���}|��dS)Nrr)r9r<r`r�c�����t�����tjd����tjd��dS)Nr`r�)r�r1rtr9r<)�original_foors��rrwz+PatchTest.test_patch_multiple.<locals>.test�sM����M�M�#�|�,�,�,����S�U�A�&�&�&����S�U�A�&�&�&�&�&r!)
r1r9r<r�multipler�r�r�rtr�)r�
original_f�
original_g�patcher1�patcher2r�rwr�s`      @r�test_patch_multiplezPatchTest.test_patch_multiple�sb�������U�
��U�
��>�(�a�1�5�5�5���>�#��a�0�0�0����)�	0�	0�G��M�M�O�O�O�
��
�
�c�<�0�0�0�� � ����*�*�*�� � ����*�*�*��������������������M�M�#�|�,�,�,����S�U�J�/�/�/����S�U�J�/�/�/�/�
���A��	+�	+�	+�	'�	'�	'�	'�	'�
,�	+�	'�
	
������s
�5AC%�%C;c��|�ttjt��|�ttjt
��dSr)rarhrr�r�r1r;s r�test_patch_multiple_no_kwargsz'PatchTest.test_patch_multiple_no_kwargs�s<�����*�e�n�h�?�?�?����*�e�n�c�:�:�:�:�:r!c�B���t�tj}tj}tjt
tdt�����fd���}|����tj|����tj|��dS)Nr`�r9r<rHc�����t�����tj|����tjd����tj|����t|t������t|t����dS�Nr`�	r�r1r9rtr<rHrcrr)r9rHr�rs  ��rrwz8PatchTest.test_patch_multiple_create_mocks.<locals>.test�s�����M�M�#�|�,�,�,��M�M�#�%��#�#�#����S�U�A�&�&�&��M�M�#�'�3�'�'�'��O�O�K��9�5�5�6�6�6��O�O�K��Y�7�7�8�8�8�8�8r!�r1r9r<rr�r�rrt)rr�r�rwr�s`   @r� test_patch_multiple_create_mocksz*PatchTest.test_patch_multiple_create_mocks�s��������U�
��U�
�	���G�q�g�	>�	>�	>�	9�	9�	9�	9�	9�
?�	>�	9�	
����������
�+�+�+������
�+�+�+�+�+r!c���tj}tj}tjtdd��}d|_tjtdt��}d|_|g|_|�fd���}|����tj|����tj|��dS)Nr9r`r<c�����tj|����tjd��dSr�)r�r1r<rtr9)r<rs �rrwzHPatchTest.test_patch_multiple_create_mocks_different_order.<locals>.test�s7����M�M�#�%��#�#�#����S�U�A�&�&�&�&�&r!)	r1r9r<rr-�attribute_namer�additional_patchersrt)rr�r�r�r]rws`     r�0test_patch_multiple_create_mocks_different_orderz:PatchTest.test_patch_multiple_create_mocks_different_order�s�����U�
��U�
��,�s�C��+�+��!$�����S�#�w�/�/��"���',�g��#�	�	'�	'�	'�	'�
��	'�	
����������
�+�+�+������
�+�+�+�+�+r!c�����t�tj}tj}tjt
t���tjt
t���tt
dz���fd�������}tjt
t���tt
dz��tjt
t����fd�������}tt
dz��tjt
t���tjt
t����fd�������}��fd��|��|��|����tj|����tj|��dS)N)r9rbz.gc����|fi|��dSrr3�r<r�rs  �r�test1z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test1
�#���
�E�!���v�����r!c����|fi|��dSrr3r�s  �r�test2z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test2r�r!c����|fi|��dSrr3r�s  �r�test3z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test3r�r!c�l��|�d��}|�d��}��|����t�����tj|����tj|����tj|����t|t������t|t������t|t����dS)Nr9rH)
�poprdr�r1r9r<rHrcrr)r<r�r9rHr�rs    ��rrz?PatchTest.test_patch_multiple_stacked_decorators.<locals>._tests�����
�
�3���A��*�*�U�#�#�C����V�$�$�$��M�M�#�|�,�,�,��M�M�#�%��#�#�#��M�M�#�%��#�#�#��M�M�#�'�3�'�'�'��O�O�K��9�5�5�6�6�6��O�O�K��9�5�5�6�6�6��O�O�K��Y�7�7�8�8�8�8�8r!r�)rr�r�r�r�r�rr�s`     @@r�&test_patch_multiple_stacked_decoratorsz0PatchTest.test_patch_multiple_stacked_decoratorss���������U�
��U�
�	���G�	,�	,�	,�	���g�	.�	.�	.�	�x�$��	�	�	�	�	�	�
 �	�
/�	.�
-�	,�	�
���G�	,�	,�	,�	�x�$��	�	�	���g�	.�	.�	.�	�	�	�	�
/�	.�
 �	�
-�	,�	�
�x�$��	�	�	���G�	,�	,�	,�	���g�	.�	.�	.�	�	�	�	�
/�	.�
-�	,�
 �	�	�	9�	9�	9�	9�	9�	9�	�����
�����
����������
�+�+�+������
�+�+�+�+�+r!c�r�t}tj}tj}tjt
tdt���}|���}	|d}|d}|�t|��tddg����|�
t|��|�
tj|��|�
tj|��|�t|t����|�t|t����|���n#|���wxYw|�tj|��|�tj|��dS)Nr`r�r9rH)r1r9r<rr�r�rr�rt�setr�rHrcrrr�)rr�r�r�r�r$r9rHs        r�(test_patch_multiple_create_mocks_patcherz2PatchTest.test_patch_multiple_create_mocks_patcher3sH�����U�
��U�
��.��W��w�G�G�G��������	��s��A���-�C����S��[�[�#�s�E�l�*;�*;�<�<�<��M�M�#�|�,�,�,��M�M�#�%��#�#�#��M�M�#�'�3�'�'�'��O�O�K��9�5�5�6�6�6��O�O�K��Y�7�7�8�8�8��L�L�N�N�N�N��G�L�L�N�N�N�N���������
�+�+�+������
�+�+�+�+�+s
�C-E�E4c����|�t�tj}tj}G��fd�dt��}t	jttdt���|��}|��}|���|�	��|�
tj|��|�
tj|��dS)Nc�(��eZdZ��fd�Zd�Zd�ZdS)�@PatchTest.test_patch_multiple_decorating_class.<locals>.SomeTestc�����t�����tj|����tjd����tj|����t|t������t|t����dSr�r�)rr9rHr�rws   ��rrzFPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest._testTs�����
�
�c�<�0�0�0��
�
�c�e�Q�'�'�'�� � ����*�*�*��
�
�c�g�s�+�+�+�����A�y� 9� 9�:�:�:�����C�� ;� ;�<�<�<�<�<r!c�2�|�||��dSrr��rr9rHs   rr�zIPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_two\����
�
�1�c�"�"�"�"�"r!c�2�|�||��dSrr�r�s   rr�zIPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_one^r�r!Nr�)r�rws��rr�r�RsQ�������
=�
=�
=�
=�
=�
=�
#�
#�
#�
#�
#�
#�
#�
#r!r�r`r�)r1r9r<r-rr�r�rr�r�rt)rr�r�r�r�r�rws     @@r�$test_patch_multiple_decorating_classz.PatchTest.test_patch_multiple_decorating_classLs����������U�
��U�
�
	#�
	#�
	#�
	#�
	#�
	#�
	#�
	#�v�
	#�
	#�
	#�
�5�>���1�'�
�
�
�
������
�
��
������
�����������
�+�+�+������
�+�+�+�+�+r!c���tjtd���}|�t|j��tjtdd���}|���	|�tjd��|���n#|���wxYw|�	ttd����dS)N�blam)r�T)r�r)rr�r1rar�r�rtr�r�rdrr�s  r�test_patch_multiple_createz$PatchTest.test_patch_multiple_createms����.��6�2�2�2�����.�'�-�8�8�8��.��6�$�?�?�?���
�
����	����S�X�v�.�.�.��L�L�N�N�N�N��G�L�L�N�N�N�N���������f�-�-�.�.�.�.�.s�- B"�"B8c��tjttddg���}|���}	|�tj|d��tj�d��tj�d��tjj�	d��tjj�	d��|�
tttjdd��|�
��dS#|�
��wxYw)Nr5rM)rHr�rHrrr)rr�r1rr�rtrHr5rMrrar�r'r�)rr�r$s   r�test_patch_multiple_spec_setz&PatchTest.test_patch_multiple_spec_set{s����.��'�S�#�J�G�G�G��������	����S�W�f�U�m�4�4�4��G�I�I�a�L�L�L��G�I�I�a�L�L�L��G�I�(�(��+�+�+��G�I�(�(��+�+�+����n�g�s�w��T�J�J�J��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s�CD(�(D>c�j�Gd�dt��}tjttt|���}|���}	|�tj|d��|�tj|d��|�	tj|��|�	tj|��|�
tjtj��|���dS#|���wxYw)Nc��eZdZdS)�9PatchTest.test_patch_multiple_new_callable.<locals>.ThingNror3r!r�Thingr��rqr!r�)r9r<rHr9r<)r-rr�r1rr�r�r9r<r�r�r�)rr�r�r$s    r� test_patch_multiple_new_callablez*PatchTest.test_patch_multiple_new_callable�s��	�	�	�	�	�F�	�	�	��.��7�g�E�
�
�
��������	��M�M�#�%����-�-�-��M�M�#�%����-�-�-��!�!�#�%��/�/�/��!�!�#�%��/�/�/����S�U�C�E�*�*�*��L�L�N�N�N�N�N��G�L�L�N�N�N�N���s
�B6D�D2c�`�tj}tj}tjtdd��tjtdd��tjtdd��d�������}tjtdd��tjtdd��tjtdd��d�������}tjtdd��tjtdd��tjtdd��d�������}|||fD]]}|�t|��|�tj|��|�tj|���^dS)Nr<r�missingr9c��dSrr3r3r!r�thing1z3PatchTest.test_nested_patch_failure.<locals>.thing1��	���dr!c��dSrr3r3r!r�thing2z3PatchTest.test_nested_patch_failure.<locals>.thing2�r�r!c��dSrr3r3r!r�thing3z3PatchTest.test_nested_patch_failure.<locals>.thing3�r�r!)r1r9r<rr-rar�rt)rr�r�r�r�r��funcs       r�test_nested_patch_failurez#PatchTest.test_nested_patch_failure�s{���U�
��U�
�	��c�3��	"�	"�	��c�9�a�	(�	(�	��c�3��	"�	"���
#�	"�
)�	(�
#�	"�	�	��c�9�a�	(�	(�	��c�3��	"�	"�	��c�3��	"�	"���
#�	"�
#�	"�
)�	(�	�	��c�3��	"�	"�	��c�3��	"�	"�	��c�9�a�	(�	(���
)�	(�
#�	"�
#�	"�	��F�F�*�	0�	0�D����n�d�3�3�3����S�U�J�/�/�/����S�U�J�/�/�/�/�	0�	0r!c���tj}tj}tj}d�}t	jtdd��t	jtd|���t	jtdd��d�������}t	jtd|���t	jtdd��t	jtdd��d�������}t	jtdd��t	jtdd��t	jtd|���d	�������}|||fD]}}|�t|��|�tj|��|�tj|��|�tj|���~dS)
Nc� �td����N�crasherr�r3r!rr�z4PatchTest.test_new_callable_failure.<locals>.crasher�����I�&�&�&r!r<rrHrGr9c��dSrr3r3r!rr�z3PatchTest.test_new_callable_failure.<locals>.thing1�r�r!c��dSrr3r3r!rr�z3PatchTest.test_new_callable_failure.<locals>.thing2�r�r!c��dSrr3r3r!rr�z3PatchTest.test_new_callable_failure.<locals>.thing3�r�r!)	r1r9r<rHrr-rarrt)	rr�r�r�r�r�r�r�r�s	         r�test_new_callable_failurez#PatchTest.test_new_callable_failure�s����U�
��U�
��w��	'�	'�	'�
��c�3��	"�	"�	��c�5�w�	7�	7�	7�	��c�3��	"�	"���
#�	"�
8�	7�
#�	"�	�	��c�5�w�	7�	7�	7�	��c�3��	"�	"�	��c�3��	"�	"���
#�	"�
#�	"�
8�	7�	�	��c�3��	"�	"�	��c�3��	"�	"�	��c�5�w�	7�	7�	7���
8�	7�
#�	"�
#�	"�	��F�F�*�	4�	4�D����i��.�.�.����S�U�J�/�/�/����S�U�J�/�/�/����S�W�l�3�3�3�3�		4�	4r!c���tj}tj}tjtdd��}d|_tjtdd��}d|_tjtdd��}d|_||g||gfD]o}||_|d���}|�t|��|�	tj|��|�	tj|���pdS)Nr9rr<r�c��dSrr3r3r!rr�z3PatchTest.test_patch_multiple_failure.<locals>.func�rr!)
r1r9r<rr-r�r�rar�rt)rr�r�r��good�bad�additionalsr�s        r�test_patch_multiple_failurez%PatchTest.test_patch_multiple_failure�s����U�
��U�
��,�s�C��+�+��!$����|�C��a�(�(��!����l�3�	�1�-�-��&��� �#�;��d��3�	0�	0�K�*5�G�'�
����W�����n�d�3�3�3����S�U�J�/�/�/����S�U�J�/�/�/�/�	0�	0r!c�R�tj}tj}tj}d�}t	jtdd��}d|_t	jtdd��}d|_t	jtd|���}d|_||g||gfD]�}||_|d���}	|�t|	��|�
tj|��|�
tj|��|�
tj|����dS)Nc� �td���r�r�r3r!rr�zCPatchTest.test_patch_multiple_new_callable_failure.<locals>.crasher�r�r!r9rr<rHrGc��dSrr3r3r!rr�z@PatchTest.test_patch_multiple_new_callable_failure.<locals>.funcrr!)r1r9r<rHrr-r�r�rarrt)
rr�r�r�r�r�r�r�r�r�s
          r�(test_patch_multiple_new_callable_failurez2PatchTest.test_patch_multiple_new_callable_failure�s���U�
��U�
��w��	'�	'�	'��,�s�C��+�+��!$����|�C��a�(�(��!����l�3��G�<�<�<��"��� �#�;��d��3�		4�		4�K�*5�G�'�
����W�����i��.�.�.����S�U�J�/�/�/����S�U�J�/�/�/����S�W�l�3�3�3�3�		4�		4r!c�����tdtfddi��}|���tj�d�����fd���}|�����jd��dS)Nr1�fish�tasty�nearly gone)r�c�>�����jd��dS)Nr�)rtr�r;s��rrwz=PatchTest.test_patch_multiple_string_subclasses.<locals>.tests!������S�X�}�5�5�5�5�5r!)r[�strrr�rtr�)rr1rwrHs`  @r�%test_patch_multiple_string_subclassesz/PatchTest.test_patch_multiple_string_subclasses	s������5�3�&�6�7�"3�4�4���c�e�e��	���-�	0�	0�	0�	6�	6�	6�	6�	6�
1�	0�	6�	
����������7�+�+�+�+�+r!zmock.patch.TEST_PREFIXrHc��Gd�dt��}tj|dd��|��}|��}|�|���d��|�|���d��|�|���d��|�|���d��dS)Nc�*�eZdZdZd�Zd�Zd�Zd�ZdS)�-PatchTest.test_patch_test_prefix.<locals>.Foor�c��|jSr�r�r;s r�foo_onez5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_one�
���z�!r!c��|jSrr�r;s r�foo_twoz5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_twor�r!c��|jSrr�r;s rr�z6PatchTest.test_patch_test_prefix.<locals>.Foo.test_oner�r!c��|jSrr�r;s rr�z6PatchTest.test_patch_test_prefix.<locals>.Foo.test_twor�r!N)r"r#r$r�r�r�r�r�r3r!rr1r�sU�������E�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"r!r1r��changedr�)r-rrtr�r�r�r�)rr1rHs   r�test_patch_test_prefixz PatchTest.test_patch_test_prefixs���
	"�
	"�
	"�
	"�
	"�&�
	"�
	"�
	"�4�e�l�3���3�3�C�8�8���c�e�e����������	�2�2�2���������	�2�2�2����������4�4�4����������4�4�4�4�4r!r=c����G�fd�dt��}ddi�tj�d���|��}|��}|�|���ddi��|�|���ddi��|�|���ddi��|�|���ddi��dS)Nc�8��eZdZ�fd�Z�fd�Z�fd�Z�fd�ZdS)�2PatchTest.test_patch_dict_test_prefix.<locals>.Fooc�"��t���Sr�rl�r�the_dicts �r�bar_onez:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_one.�����H�~�~�%r!c�"��t���Srr�r�s �r�bar_twoz:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_two0r�r!c�"��t���Srr�r�s �rr�z;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_one2r�r!c�"��t���Srr�r�s �rr�z;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_two4r�r!N)r"r#r$r�rr�r�)r�s�rr1r�-sy�������
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&r!r1�keyr�r�)r)r-rrlrtr�rr�r�)rr1rHr�s   @r�test_patch_dict_test_prefixz%PatchTest.test_patch_dict_test_prefix+s����	&�	&�	&�	&�	&�	&�	&�&�	&�	&�	&��:�&��1�e�j��y�1�1�1�#�6�6��
�S�U�U�����������	�(:�;�;�;����������	�(:�;�;�;���������%��)<�=�=�=���������%��)<�=�=�=�=�=r!c��dD�]}tdtzfi|di��}|���}	|�dt	|����|�dt	|j����|�dt	|������|�dt	|��j����|�����#|���wxYwdS)N�r�r�r�r�Tz name='SomeClass'z! name='SomeClass.class_attribute'z name='SomeClass()'z# name='SomeClass().class_attribute')rr"r�r�r;r�r�)rrurer"s    r�test_patch_with_spec_mock_reprz(PatchTest.test_patch_with_spec_mock_reprAs���3�	�	�C��n�x�/�?�?�C��;�?�?�A����	�	�A�
��
�
�1�4��7�7�;�;�;��
�
�A�"�1�#4�5�5�7�7�7��
�
�3�T�!�!�#�#�Y�Y�?�?�?��
�
�C�"�1�1�3�3�#6�7�7�9�9�9�������������������	�	s�B&C-�-Dc�\�tdd���5}|�dt|j�������|�dt|����������ddd��dS#1swxYwYdS)N�mock.tests.supportTr�z" name='support.SomeClass.wibble()'z$ name='support.SomeClass().wibble()')rr�r;rr�)rr"s  r�test_patch_nested_autospec_reprz)PatchTest.test_patch_nested_autospec_reprPs���
�'�$�
7�
7�
7�	8�1��M�M�>��q�{�1�1�3�3�4�4�
6�
6�
6��M�M�@��q�{�{�}�}�3�3�5�5�6�6�
8�
8�
8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�BB!�!B%�(B%c�:�dD�]}tdtzfi|di��}|���}	|���t	j��g}|�|j|��|�|j|��|�|jjt	��g��|��}|�t	����|�|j|��|���|�t	�������|�|j|��|�|jt	j��g��|�|jjt	��g��|�|jt	j��g��|�	�����#|�	��wxYwdS)Nrr�T)
rr"r�r�rrt�
mock_calls�method_calls�appendr�)rrurer"�kallsr$s      r�test_mock_calls_with_patchz$PatchTest.test_mock_calls_with_patchYs���3�	�	�C��n�x�/�?�?�C��;�?�?�A����	�	�A�
����
�
�
�������� � ���u�5�5�5�� � ����7�7�7�� � ���!4�t�v�v�h�?�?�?���������T�V�V�$�$�$�� � ���u�5�5�5��
�
�������T�V�V�]�]�_�_�-�-�-�� � ���u�5�5�5�� � ��!2�T�[�]�]�O�D�D�D�� � ���!9�D�F�F�8�D�D�D�� � ��!4�t�{�}�}�o�F�F�F�������������������/	�	s�F:H�Hc��td��}|�t|j��t	d��5t��}|tjd<d|_td��}d|_|���|�	��ddd��n#1swxYwY|�
|jd��dS)N�
squizz.squozz�squizz�r`)rra�ImportErrorr�rrrr�squozzr�rt)r�p1rs   r�test_patch_imports_lazilyz#PatchTest.test_patch_imports_lazilyts���
�?�
#�
#�����+�r�x�0�0�0�
�X�
�
�	�	��V�V�F�$*�C�K��!��F�M���'�'�B��F�M��H�H�J�J�J��G�G�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
������*�*�*�*�*s�A#B.�.B2�5B2c����Gd�d���G�fd�dt����fd�}|d��d���}td��5t��}|tjd<|�t|��ddd��n#1swxYwY|��jd	t��|�	�jd
d��|�	�jdd
��dS)Nc��eZdZdZdS)�;PatchTest.test_patch_propagates_exc_on_exit.<locals>.holder�NNNN)r"r#r$r?r3r!r�holderr�s������'�H�H�Hr!rc� ��eZdZd�fd�	ZeZdS)�APatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patchNc�J��tj||||��|||f�_dSr)r�__exit__r?)r�etype�val�tbrs    �rr"zJPatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patch.__exit__�s*������e�S�"�5�5�5�"'��b�.����r!r)r"r#r$r"r�)rs�r�custom_patchr �s4�������
1�
1�
1�
1�
1�
1��D�D�Dr!r&c�X��t|��\}}�||tdddddi�	�	S)NF)rr)r��getterrmr&s   �r�with_custom_patchzFPatchTest.test_patch_propagates_exc_on_exit.<locals>.with_custom_patch�s=��� +�F� 3� 3��F�I��<��	�7�D�%���d�B���
r!rc��t�r)�RuntimeError�r�s rrwz9PatchTest.test_patch_propagates_exc_on_exit.<locals>.test�s���r!rrrzexception value not propagatedrz"exception traceback not propagated)
rrrrrrar+r�r?�assertIsNotNone)rr)rwrr&rs    @@r�!test_patch_propagates_exc_on_exitz+PatchTest.test_patch_propagates_exc_on_exit�s�����	(�	(�	(�	(�	(�	(�	(�	(�	�	�	�	�	�	�	�6�	�	�	�	�	�	�	�	�
�	�?�	+�	+�	�	�
,�	+�	��X�
�
�	2�	2��V�V�F�$*�C�K��!����l�D�1�1�1�		2�	2�	2�	2�	2�	2�	2�	2�	2�	2�	2����	2�	2�	2�	2�	
�
�
�f�o�a�(�,�7�7�7����V�_�Q�/�<�	>�	>�	>����V�_�Q�/�@�	B�	B�	B�	B�	Bs�
9B�B�Bc�6�dD]�}tdtzfddi|di��}|�t|j��|�t
d���ttfddi|di��}|���|�����dS)N�r�r�r�z%s.doesnotexistrTc��tSr)�doesnotexistr3r!rr�z1PatchTest.test_create_and_specs.<locals>.<lambda>�s���r!)rr"rarbr�r�MODNAMEr�)r�kwargres   r�test_create_and_specszPatchTest.test_create_and_specs�s���5�		�		�E��'�(�2�'�'�4�'���
�'�'�A����i���1�1�1����i�)=�)=�>�>�>��g�<�<�d�<�u�d�m�<�<�A�
�G�G�I�I�I�
�F�F�H�H�H�H�		�		r!c��t}dD]S}ttfddi|di��}|�t|j��|�t|���TdD]S}ttfddi|di��}|�t|j��|�t|���TdD]S}ttfddi|di��}|�t|j��|�t|���TdS)Nr�r�r�r�r�r�)r�r�r�)r�rr3rarbr�r�)rr�r4res    r�test_multiple_specszPatchTest.test_multiple_specs�s%����)�	.�	.�E��g�8�8��8�e�Q�Z�8�8�A����i���1�1�1��M�M�(�H�-�-�-�-�)�	.�	.�E��g�8�8��8�e�Q�Z�8�8�A����i���1�1�1��M�M�(�H�-�-�-�-�-�	.�	.�E��g�4�4�A�4�%���4�4�A����i���1�1�1��M�M�(�H�-�-�-�-�	.�	.r!c���ttddd���}|���}	|jd|_|���dS#|���wxYw)NFr0r`)rr3r��does_not_existr�)rrer�s   r� test_specs_false_instead_of_nonez*PatchTest.test_specs_false_instead_of_none�s^���'����F�F�F���w�w�y�y��	����"#�D��
�F�F�H�H�H�H�H��A�F�F�H�H�H�H���s�A�A(c��dD]z}ttfi|di��}|���}	|�tt
|d��|����b#|���wxYwdS)Nrr�doesnotexit)rr3r�rar�rr��rr4rer"s    r�test_falsey_speczPatchTest.test_falsey_spec�s���5�	�	�E��g�,�,�%���,�,�A����	�	�A�
��!�!�.�'�1�m�L�L�L�������������������
	�	s�"A%�%A;c�J�dD]�}ttfddi|di��}|���}	|�tt
|dd��|�tt|d��|�����#|���wxYwdS)Nr7r�Tr2r�)rr3r�rar�r'rr�r>s    r�test_spec_set_truezPatchTest.test_spec_set_true�s���)�	�	�E��g�>�>��>���
�>�>�A����	�	�A�
��!�!�.�'�1�"0�+�?�?�?��!�!�.�'�1�n�M�M�M�������������������	�	s�AB
�
B c��d}tt|���}|���}	|�t	|����|���dS#|���wxYw)N)�__call__r�)rr3r�rc�callabler��rr�rer"s    r�test_callable_spec_as_listz$PatchTest.test_callable_spec_as_list�sf�����'��%�%�%��
�G�G�I�I��	��O�O�H�Q�K�K�(�(�(�
�F�F�H�H�H�H�H��A�F�F�H�H�H�H�����"A&�&A<c��d}tt|���}|���}	|�t	|����|���dS#|���wxYw)Nr�r�)rr3r�rdrDr�rEs    r�test_not_callable_spec_as_listz(PatchTest.test_not_callable_spec_as_list�sh�����'��%�%�%��
�G�G�I�I��	����X�a�[�[�)�)�)�
�F�F�H�H�H�H�H��A�F�F�H�H�H�H���rGc�|����tj�tj�tj}t	dt
�����t	dt�����t	d�����fd���}|����tj|��dS)N�	os.unlink�os.chdirzos.pathc����tj����tj|����tj�����tj���dSr)r�stopallr�r��path�unlink�chdir)�	mock_pathrQrrPs ���rr�z-PatchTest.test_patch_stopall.<locals>.patchedsV����M�O�O�O��M�M�"�'�9�-�-�-��M�M�"�)�V�,�,�,��M�M�"�(�E�*�*�*�*�*r!)	r�rPrQrOrr�r�r�r�)rrOr�rQrPs`  @@r�test_patch_stopallzPatchTest.test_patch_stopall�s�������������w��
�k�9�%�%�+�+�-�-�-�
�j�.�)�)�/�/�1�1�1�	�y�	�	�	+�	+�	+�	+�	+�	+�
�	�	+�	��	�	�	��
�
�b�g�t�$�$�$�$�$r!c�����g�Gd�dt�����fd���fd�dD��tj��|��gd���dS)Nc��eZdZdxZxZZdS)�*PatchTest.test_stopall_lifo.<locals>.thingN)r"r#r$�one�two�threer3r!rr�rVs������ $�$�C�$�#���r!r�c�b����G���fd�dt�����fd��ddddddi�	�	S)Nc�&���eZdZ����fd�Z�xZS)�?PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatchc�r�������t�|�����Sr)r�superr�)r�	__class__rm�mypatch�stoppeds ����rr�zDPatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatch.stops1����N�N�9�-�-�-� ��$�/�/�4�4�6�6�6r!)r"r#r$r��
__classcell__)r_rmr`ras@���rr`r\sH��������7�7�7�7�7�7�7�7�7�7�7�7r!r`c����Srr3r�s�rr�z@PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.<lambda>s���5�r!F)r)rmr`rar�s`@��r�	get_patchz.PatchTest.test_stopall_lifo.<locals>.get_patchsr�����
7�
7�
7�
7�
7�
7�
7�
7�
7�&�
7�
7�
7��7�=�=�=�=�)�T�4� �$��d�B�8�8�
8r!c�J��g|]}�|������� Sr3)r�)�.0r$rds  �r�
<listcomp>z/PatchTest.test_stopall_lifo.<locals>.<listcomp>s-���C�C�C�C���3���	�	�	�	�C�C�Cr!)rWrXrY)rYrXrW)r-rrNrt)rrdrar�s @@@r�test_stopall_lifozPatchTest.test_stopall_lifo
s��������	%�	%�	%�	%�	%�F�	%�	%�	%�	8�	8�	8�	8�	8�	8�	D�C�C�C�+B�C�C�C�C�
�
��������"9�"9�"9�:�:�:�:�:r!c���i}ddi}ddd��|���}|���}����}tj|ddd������tj|dd	i�����tj����fd
���}|��|�||��|�||��|��|��tj��|�||��|�||��|��|��dS)Nrr5�A�B�rr�I�IIrrMc����d=dSrr3)�dic3s�rr�z2PatchTest.test_patch_dict_stopall.<locals>.patched%s����Q���r!)rkrrlr�r�rtrN)r�dic1�dic2�origdic1�origdic2�origdic3r�rps       @r�test_patch_dict_stopallz!PatchTest.test_patch_dict_stopalls]������3�x���3�����9�9�;�;���9�9�;�;���9�9�;�;��
�
�4�S�T�*�*�+�+�1�1�3�3�3�
�
�4�!�S��"�"�(�(�*�*�*�	��D�	�	�	�	�	�	�
�	�	�	��	�	�	����D�(�+�+�+����D�(�+�+�+�����x�(�(�(�
�
��������x�(�(�(�����x�(�(�(�����x�(�(�(�(�(r!c��tj}tj}i}ddd�}|���}|���}t	dt
�����t	dt�����t	j|ddd������t	j|�����|d=|�	tj|��|�	tj|��|�
||��|�
||��t	j��|�tj|��|�tj|��|�
||��|�
||��dS)	NrjrkrlrKrLrmrnr)r�rPrQrkrr�r�r�rlr�r�rNr�rt)r�original_unlink�original_chdirrqrrrsrts       r�!test_patch_and_patch_dict_stopallz+PatchTest.test_patch_and_patch_dict_stopall5s����)��������3�����9�9�;�;���9�9�;�;��
�k�9�%�%�+�+�-�-�-�
�j�.�)�)�/�/�1�1�1�
�
�4�S�T�*�*�+�+�1�1�3�3�3�
�
�4����� � � ���G������O�4�4�4������>�2�2�2����D�(�+�+�+����D�(�+�+�+�
�
�����
�
�b�i��1�1�1��
�
�b�h��/�/�/�����x�(�(�(�����x�(�(�(�(�(r!c��dd�}tj|dd��5|�|��d��ddd��n#1swxYwY|�|��d��tj|dd��5|�|jd��ddd��n#1swxYwY|�|jd��tj|d	d
��5|�|jd
��ddd��n#1swxYwY|�|jd��tj|dtd
g����5|�|jtd
g����ddd��n#1swxYwY|�|jt����dd�d�}tj|dtdg����5|�|��d��ddd��n#1swxYwY|�|��d��dS)Nrc��|S)�TESTr3�rrs rrHz)PatchTest.test_special_attrs.<locals>.fooOs���Hr!�__defaults__)rr�__doc__�FUNr}r#�
testpatch2zmock.tests.testpatch�__annotations__)�srr~c��|Srr3)rrr5s  rrHz)PatchTest.test_special_attrs.<locals>.foobs���Hr!�__kwdefaults__)rrr)r)rr-rtr�r#rlr�)rrHs  r�test_special_attrszPatchTest.test_special_attrsNs��	�	�	�	��\�#�~�u�
5�
5�	'�	'����S�S�U�U�A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'���������"�"�"�
�\�#�y�%�
0�
0�	1�	1����S�[�%�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1������f�-�-�-�
�\�#�|�\�
:�
:�	;�	;����S�^�\�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;������)?�@�@�@�
�\�#�0�$�
�|�2D�2D�
E�
E�	F�	F����S�0�$�
�|�2D�2D�E�E�E�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�����,�d�f�f�5�5�5��	�	�	�	�	�
�\�#�/��z�l�1C�1C�
D�
D�	'�	'����S�S�U�U�A�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'���������"�"�"�"�"sY�A�A
�
A
�B-�-B1�4B1�)D�D�D�*F�F�F�-H�H�Hc��t��}t��|d<d|d<|���}tt	dtd������}t|�����|z}tj|t|����5|�	t|�����|��ddd��n#1swxYwY|�	||��tj||��5|�	t|�����|��ddd��n#1swxYwY|�	||��dS)Nr5�pythonrM�cdefghijklmnopqrstuvwxyz�)
rr-rkr5�zip�range�itemsrrlrt)rrHr��
update_values�patched_valuess     r�test_patch_orderdictzPatchTest.test_patch_orderdicths����m�m���8�8��C����C���8�8�:�:���S�!;�U�2�Y�Y�G�G�H�H�
��c�i�i�k�k�*�*�]�:��
�Z��[��7�7�
8�
8�	@�	@����T�#�)�)�+�+�.�.��?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	
����h�'�'�'�
�Z��]�
+�
+�	@�	@����T�#�)�)�+�+�.�.��?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	
����h�'�'�'�'�'s$�)6C+�+C/�2C/�!6E#�#E'�*E'c��ddl}tjd��5tjd=tjd=tjd=tjd=td��d���}|��ddd��dS#1swxYwYdS)	Nrzsys.modulesr
z
mock.testsz	mock.mockr��mock.tests.support.Xc��dSrr3r,s rrwz9PatchTest.test_dotted_but_module_not_loaded.<locals>.test�s���r!)�mock.tests.supportrrlrr)rr�rws   r�!test_dotted_but_module_not_loadedz+PatchTest.test_dotted_but_module_not_loaded{s���	"�!�!�!�
�Z�
�
&�
&�
	�
	���0�1���L�)���K�(���F�#��)�
*�
*�
�
�+�
*�
��D�F�F�F�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	����
	�
	�
	�
	�
	�
	s�AA=�=B�Bc��|�t��5td��ddd��dS#1swxYwYdS)N�)rarbrr;s r�test_invalid_targetzPatchTest.test_invalid_target�s���
�
�
�y�
)�
)�	�	��"�I�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�8�<�<c���tdt��d���d���}|�t��5|��ddd��dS#1swxYwYdS)Nr�r)r/rrc��dSrr3r3r!rrwz@PatchTest.test_cant_set_kwargs_when_passing_a_mock.<locals>.test�s���Dr!)rr-rarbr�s  r�(test_cant_set_kwargs_when_passing_a_mockz2PatchTest.test_cant_set_kwargs_when_passing_a_mock�s���	�%�6�8�8�q�	9�	9�	9���
:�	9��
�
�
�y�
)�
)�	�	��D�F�F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�!AN�T)qr"r#r$rgr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r
rrr'r1r5r<rIrTrYrnrsr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr r%r*r-r0r6r9r<rErLrNr\rbrfrirkrvr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�rrrrrr.r5r8r;r?rArFrIrSrhrvrzr�r�r�r�r�r3r!rr_r_Us�������:�:�:�:�
/�
/�
/�6�6�6�

/�
/�
/�/�/�/�(!�!�!�(>�(>�(>�V	0�	0�	0�'-�'-�'-�T���	�	�	����	�	�	����	�	�	�	�	�	����6�6�6�8�8�8�6�6�6�4�4�4�.�.�.�(6�6�6�,�,�,�0�0�0�/�/�/�,/�/�/�4
/�
/�
/� (�(�(�B/�/�/�6(�(�(�>/�/�/�4*�*�*�	:�	:�	:�
"�
"�
"����&�&�&�"0�0�0�20�0�0�
+�
+�
+�*�*�*�*�*�*�
+�
+�
+�&�&�&�&�&�&�&�&�&�>4�4�4�$4�4�4�$
3�
3�
3�
3�
3�
3�)�)�)�@�@�@�F���($�$�$�-�-�-�-�-�-�4�4�4�
�
�
����
�
�
�9�9�9�
'�
'�
'�
'�
'�
'�������*���
�
�
�
�
�
����&
&�
&�
&� %�%�%�*���>;�;�;�
,�,�,�&,�,�,�*(,�(,�(,�V,�,�,�2,�,�,�B/�/�/�
�
�
� ���$0�0�0�24�4�4�<0�0�0�04�4�4�:,�,�,��U�#�U�+�+�5�5�,�+�5�,�U�#�U�+�+�>�>�,�+�>�*���8�8�8����6
+�
+�
+�B�B�B�D
�
�
�.�.�.�$������	�	�	�������%�%�%�";�;�;�")�)�)�4)�)�)�2#�#�#�4(�(�(�&���&���
����r!r_�__main__r�)*r�r�collectionsrr@�
mock.testsrr�rrrr�r	r
rrr
rrr�	mock.mockrrrr�rr"r�r3r/rnr�r�r�r-r1r�rNrP�TestCaser_�mainr3r!r�<module>r�s��

�	�	�	�
�
�
�
�#�#�#�#�#�#�����������5�5�5�5�5�5�5�5���������������������������
9�8�8�8�8�8�8�8�8�8����;�x� ��
�(�
"�������
�	��(��
�
�
�
�
�&�
�
�
��h��������!�!�!�!�!��!�!�!�$B�B�B�B�B��!�B�B�B�J:�z����H�M�O�O�O�O�O��r!