Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/unittest/test/testmock/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/unittest/test/testmock/__pycache__/testpatch.cpython-311.opt-1.pyc

�

TԚg<���r�ddlZddlZddlmZddlZddlmZddlmZm	Z	ddl
mZddlm
Z
mZmZmZmZmZmZmZmZmZmZdZejeZdezZdd
�Zejaej Z!Gd�de"��Z#d
ezZ$e#fd�Z%Gd�de"��Z&Gd�dej'��Z(edkrej)��dSdS)�N)�OrderedDict)�support)�	SomeClass�is_instance)�uncache)�NonCallableMock�
CallableMixin�sentinel�	MagicMock�Mock�NonCallableMagicMock�patch�_patch�DEFAULT�call�_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  ��=/usr/local/lib/python3.11/unittest/test/testmock/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��dSrr2r3s  r�fzFoo.f0r6r c��dSrr2�rs r�gzFoo.g1r6r �barc��dSrr2r2r r�
static_methodzFoo.static_method4s���r c��dSrr2)�clss r�class_methodzFoo.class_method7s���4r c��eZdZd�ZdS)�Foo.Barc��dSrr2r:s rr4z	Foo.Bar.a;r6r N�r!r"r#r4r2r r�BarrC:s����������r rFN)
r!r"r#r5r8r;�foo�staticmethodr>�classmethodrAr,rFr2r rr0r0.s����������������
�C�����\������[�������f�����r r0z%s.Fooc��dSrr2�r4�bs  r�functionrM@r6r c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�	Containerc��i|_dSr��valuesr:s rr5zContainer.__init__Ds
������r c��|j|SrrQ�rrs  r�__getitem__zContainer.__getitem__Gs���{�4� � r c��||j|<dSrrQ)rrr's   r�__setitem__zContainer.__setitem__Js��!���D���r c��|j|=dSrrQrTs  r�__delitem__zContainer.__delitem__Ms���K����r c�*�t|j��Sr)�iterrRr:s r�__iter__zContainer.__iter__Ps���D�K� � � r N)r!r"r#r5rUrWrYr\r2r rrOrOCs_���������!�!�!�"�"�"����!�!�!�!�!r rOc���eZdZdud�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�ZXdX�ZYdY�ZZe[dZd[��d\���Z\e[dZd]��d^���Z]d_�Z^d`�Z_da�Z`db�Zadc�Zbdd�Zcde�Zddf�Zedg�Zfdh�Zgdi�Zhdj�Zidk�Zjdl�Zkdm�Zldn�Zmdo�Zndp�Zodq�Zpdr�Zqds�ZrdtS)v�	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�	attributer2r r�	Somethingrib������� �)�I�I�Ir rmrlc�T�����jtjd��dS�N�	unpatched��assertEqualrlr
�Patched�rmrs��r�testz/PatchTest.test_single_patchobject.<locals>.testes'������Y�0�(�2B�K�P�P�P�P�Pr �patch not restored�r,rr
rtrsrlrk�rrvrms` @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 strrm�do_something)�assertRaisesRegexrarr,)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>.SomethingNrjr2r rrmr�srnr rmrlc�>�����jd��dSrp)�assertIsNonerlrus��rrvz2PatchTest.test_patchobject_with_none.<locals>.testvs"������i�1�;�?�?�?�?�?r rw)r,rrsrlr
rkrys` @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
rkrl�	Original2�next_attributer2r rrmr��������� �)�I�%�/�N�N�Nr rmrlr�c������jtjd�����jtjd��dSrp)rsrlr
rtr��Patched2rus��rrvz1PatchTest.test_multiple_patchobject.<locals>.test�sY���
���Y�0�(�2B�(�
*�
*�
*����Y�5�x�7H�(�
*�
*�
*�
*�
*r rw)
r,rr
rtr�rsrlrkr�r�rys` @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��dSrr2r2r rrvz8PatchTest.test_object_lookup_is_quite_lazy.<locals>.test�s���Dr )�	somethingrr!r
�
Something2�replacement_valuers�r�originalrvs   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��dSrp)rs�PTModuler�r
r�r:s�rrvz"PatchTest.test_patch.<locals>.test�s2������X�/��1D�(�
*�
*�
*�
*�
*r rwz%s.something_elsec�����tjtjd����tjtjd��dSrp)rsr�r�r
r��something_else�
SomethingElser:s�rrvz"PatchTest.test_patch.<locals>.test�sY���
���X�/��1D�(�
*�
*�
*����X�4�h�6L�(�
*�
*�
*�
*�
*r �%s.openc�f����tdd��tjd��dS)N�filename�rzopen not patched)rs�openr
�Handler:s�rrvz"PatchTest.test_patch.<locals>.test�s8������T�*�c�2�2�H�O�/�
1�
1�
1�
1�
1r )rr!r
r�rsr�r�rmr�r�rr��return_value�builtin_string�assertNotEqualr�)rrv�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��dSrp)rsr�r�class_attributer
�ClassAttributer:s�rrvz2PatchTest.test_patch_class_attribute.<locals>.test�s<���
���X�/�?�%�4�k�
C�
C�
C�
C�
Cr rw)rr!r
r�r�r�rr��rrvs` 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
rkr�r��
something2r2r 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)rsr��assertIsInstancer)r�r�rs ��rrvz: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)	rsr
�this1�this2r�r�r�rr�)r�r��mock1�mock2r��
outerMock1�
outerMock2rs    ����rrvz: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�)rrvr�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_wibbler2r r�<lambda>z>PatchTest.test_patch_with_spec.<locals>.test.<locals>.<lambda>�	��i�6J�r �rsrrbr�wibblerr`�AttributeError��
MockSomeClassrs �rrvz,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�r2r rr�zDPatchTest.test_patchobject_with_spec.<locals>.test.<locals>.<lambda>���i�&?�&J�r �	rsrr�rbrr�rr`r���
MockAttributers �rrvz2PatchTest.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�r2r rr�zFPatchTest.test_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>r�r r�r�s �rrvz4PatchTest.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�r2r rr�zLPatchTest.test_patchobject_with_spec_as_list.<locals>.test.<locals>.<lambda>*r�r r�r�s �rrvz: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�r2r rr�zMPatchTest.test_nested_patch_with_spec_as_list.<locals>.test.<locals>.<lambda>6r�r r�)r��MockOpenrs  �rrvz;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 �rsrr�r`r�r�s`�rrvz7PatchTest.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`�rrvz>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 )rbrrrfr�r`r�)r�r�rs @�rrvzDPatchTest.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)rs�froobler
�Froobler:s�rrvzLPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.testas"������W�h�&6�7�7�7�7�7r c��tSr�rr2r rr�zPPatchTest.test_patch_with_create_mocks_non_existent_attributes.<locals>.<lambda>f���W�r )rr�r
rr`�	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)NrTr�c�\����tjtj��dSr)rsrrr
rr:s�rrvzRPatchTest.test_patchobject_with_create_mocks_non_existent_attributes.<locals>.testjs%������Y�.��0@�A�A�A�A�Ar )rr,rr
rrc�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��dSrr2r2r rrvz9PatchTest.test_patch_wont_create_by_default.<locals>.testt����r c��tSrrr2r rr�z=PatchTest.test_patch_wont_create_by_default.<locals>.<lambda>xrr )r`r�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��dSrr2r2r rrvz?PatchTest.test_patchobject_wont_create_by_default.<locals>.test}rr )	r`r�rr,rr
rrcrr�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!rs)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
�Staticr2r r�wootz:PatchTest.test_patch_with_static_methods.<locals>.Foo.woot�s
����&r N)r!r"r#rHr,r2r rr0r)�s-������
�
'�
'��\�
'�
'�
'r r0r,c��tjSr)r
rtr2r rr�z:PatchTest.test_patch_with_static_methods.<locals>.<lambda>�s	���8H�r c�l��������tj��dSr)rsr,r
rt)r0rs��r�	anonymousz;PatchTest.test_patch_with_static_methods.<locals>.anonymous�s*������S�X�X�Z�Z��)9�:�:�:�:�:r )r,rrHrsr,r
r+)rr/r0s` @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)Nr0c�H����tjd��dS�Nr0)rsr
r0r:s�rr/z-PatchTest.test_patch_local.<locals>.anonymous�s!������X�\�5�1�1�1�1�1r )r
r0rr,rs)rrGr/s`  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)r0N)r!r"r#�	__slots__r2r rr0r7�s������ �I�I�Ir r0c�>�����jd��dSr3)rsr0�rGrs��rr/z-PatchTest.test_patch_slots.<locals>.anonymous�s!������S�W�e�,�,�,�,�,r )r,r
r0rrs)rr0r/rGs`  @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>.SomethingNrjr2r rrmr>�rnr rmc�(��eZdZ��fd�Z��fd�ZdS)�7PatchTest.test_patchobject_class_decorator.<locals>.Fooc�T�����jtjd��dSrprr��
other_selfrmrs ��r�test_methodzCPatchTest.test_patchobject_class_decorator.<locals>.Foo.test_method�s2���� � ��!4�h�6F�!,�.�.�.�.�.r c�T�����jtjd��dS�Nznon-test method patched)rsrlr
rkrBs ��r�not_test_methodzGPatchTest.test_patchobject_class_decorator.<locals>.Foo.not_test_method�s2���� � ��!4�h�6G�!:�<�<�<�<�<r N)r!r"r#rDrGrus��rr0r@�sQ�������
.�
.�
.�
.�
.�
.�
<�
<�
<�
<�
<�
<�
<�
<r r0rlrw)	r,rr
rtrDrGrsrlrk)rr0r8rms`  @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>.SomethingNrjr2r rrmrK�rnr rmc�(��eZdZdZ�fd�Z�fd�ZdS)�1PatchTest.test_patch_class_decorator.<locals>.Foo�whateverc�J����tj|d��dSrp)rsr�r�)rC�mock_somethingrs  �rrDz=PatchTest.test_patch_class_decorator.<locals>.Foo.test_method�s/���� � ��!3�^�!,�.�.�.�.�.r c�^����tjtjd��dSrF)rsr�r�r
rm)rCrs �rrGzAPatchTest.test_patch_class_decorator.<locals>.Foo.not_test_method�s2���� � ��!3�X�5G�!:�<�<�<�<�<r N)r!r"r#�test_class_attrrDrGr:s�rr0rM�sL�������(�O�
.�
.�
.�
.�
.�
<�
<�
<�
<�
<�
<�
<r r0r�rw)r,rr!rDrGrsrlr
rkr�r�rm)rrmr0r8s`   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�r2r rrmrV�r�r rmrlc�T�����jtjd��dSrprrrus��rrvz.PatchTest.test_patchobject_twice.<locals>.test�s)���
���Y�0�(�2B�K�P�P�P�P�Pr rwrxrys` @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�r4r[�something elser\r2�rGs�rrvz'PatchTest.test_patch_dict.<locals>.test� ����C��H��I��+�C��L�L�Lr r4rLc�����t���d�����dd��dS�Nr_r4rL�rs�lenr:s��rrvz'PatchTest.test_patch_dict.<locals>.test�?������S��X�X�q�)�)�)����S��X�s�+�+�+�+�+r rKc�����t���d�����dd��dSrdrer:s��rrvz'PatchTest.test_patch_dict.<locals>.testrgr �r,�copyr�dictrs�rr�rvrGs`  @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^r2ras�rrvz=PatchTest.test_patch_dict_with_container_object.<locals>.test&rbr r4rLc�����t�j��d�����dd��dSrd)rsrfrRr:s��rrvz=PatchTest.test_patch_dict_with_container_object.<locals>.test0sA������S���_�_�a�0�0�0����S��X�s�+�+�+�+�+r �rOr,rRrjrrkrsrls`  @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�rZT��clearc�H�����i��d�d<d�d<dS�Nr_r4r`r\�rsr:s��rrvz2PatchTest.test_patch_dict_with_clear.<locals>.test>s/������S�"�%�%�%��C��H�+�C��L�L�Lr r4rLc�8�����ddi��dS�Nr4rLrxr:s��rrvz2PatchTest.test_patch_dict_with_clear.<locals>.testH�#������S�3��*�-�-�-�-�-r rKc�8�����ddi��dSrzrxr:s��rrvz2PatchTest.test_patch_dict_with_clear.<locals>.testPr{r rirls`  @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\Trtc�R�����ji��d�d<d�d<dSrw�rsrRr:s��rrvzGPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.test`s1������S�Z��,�,�,��C��H�+�C��L�L�Lr r4rLc�B�����jddi��dSrzr�r:s��rrvzGPatchTest.test_patch_dict_with_container_object_and_clear.<locals>.testjs%������S�Z�#�s��4�4�4�4�4r rqrls`  @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)Nr4rLr)r4)rrkrs)rrG�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��dSrr2r2r r�	some_namez0PatchTest.test_name_preserved.<locals>.some_name}s	���r r�)rr!r,rrkrs)rrGr�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)Nr4rLc� �td���)N�Konrad�rr2r rrvz1PatchTest.test_patch_with_exception.<locals>.test�s���H�%�%�%r )rrkr`rrs)rrGrvs   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�rrvz3PatchTest.test_patch_dict_with_string.<locals>.test�s����M�M�/�2�:�6�6�6�6�6r )rrkr�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)Nz%unittest.test.testmock.support.targetr<�BARc�N����tjddd���dS)N�BAZr��rGr<)rsr�targetr:s�rrvz<PatchTest.test_patch_dict_decorator_resolution.<locals>.test�s)������W�^�U�5�-I�-I�J�J�J�J�Jr rGr�)rr�rjrrkrsr�s`  r�$test_patch_dict_decorator_resolutionz.PatchTest.test_patch_dict_decorator_resolution�s�����>�&�&�(�(��	��;�e�U�^�	L�	L�	K�	K�	K�	K�
M�	L�	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�NrG��z�res rrvz+PatchTest.test_patch_spec_set.<locals>.test��
���I�K�K�Kr rc��d|_dSr�r�r�s rrvz+PatchTest.test_patch_spec_set.<locals>.test�r�r �r�c��d|_dSr�r�r�s rrvz+PatchTest.test_patch_spec_set.<locals>.test�r�r c��d|_dSr�r�r�s rrvz+PatchTest.test_patch_spec_set.<locals>.test�r�r )rr!rr`r�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�)rer�s  rrvz-PatchTest.test_spec_set_inherit.<locals>.test�s�� �y�{�{�H��H�J�J�Jr )rr!r`r�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�rG)r�rr,r�r�r�rsr�)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)NrGr<��spam�eggsTrtr�r�)rjrrkrsr�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)NrGr<r�Trt)rjrrkrcr�rsr�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�NrGr<rx�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�rxr�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�rGr<Trt)rjr,rrkrsr�r�)rr�r�rvr�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>.SomethingrGN�r!r"r#rGr2r rrmr�-��������C�C�Cr rmc��eZdZdZdS)�4PatchTest.test_get_only_proxy.<locals>.SomethingElserGNr�r2r rr�r�/r�r r�rGr<c�>�����jd��dS�Nr<�rsrG��proxyrs��rrvz+PatchTest.test_get_only_proxy.<locals>.test5�!���� � ���E�2�2�2�2�2r �r,r.rrsrG�assertNotIn�__dict__�rrmr��thingrvr�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>.SomethingrGNr�r2r rrmr�?r�r rmc��eZdZdZdS)�:PatchTest.test_get_set_delete_proxy.<locals>.SomethingElserGNr�r2r rr�r�Ar�r r�F)r-rGr<c�>�����jd��dSr�r�r�s��rrvz1PatchTest.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_valuerG)�KeyErrorrrr�r�r�r`rsrGr<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�r8)r�rrr,r0r�r�r`rsrGr<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)NrGr<r_��)rGr<�baz)rjrrkr�rsr�)rr�rjr�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��dSrr2r3s  rr5z-PatchTest.test_autospec.<locals>.Boo.__init__{r6r c��dSrr2r3s  rr8z&PatchTest.test_autospec.<locals>.Boo.f|r6r c��dSrr2r:s rr;z&PatchTest.test_autospec.<locals>.Boo.g}r6r r<c��eZdZd�ZdS)�(PatchTest.test_autospec.<locals>.Boo.Barc��dSrr2r:s rr4z*PatchTest.test_autospec.<locals>.Boo.Bar.a�r6r NrEr2r rrFr�s������!�!�!�!�!r rFN)	r!r"r#r5r8r;rGr,rFr2r r�Boorzs^������'�'�'� � � �����C�
"�
"�
"�
"�
"�f�
"�
"�
"�
"�
"r rc�~��|d��|�d����t|��dS�N�)�assert_called_withr`ra�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<rL)r8rr`rar;r�rrG�lowerrFr4r
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�r0)r�rrrs ���rrMz)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�r0)r,rr�r�r0�sys�modulesr!)rrrMrvr��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_rG)
rM�assert_not_calledr`�AssertionError�
assert_called�assert_called_oncerrar�rr
s �rrvz.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)rM)�
mock_functions rrvz.PatchTest.test_autospec_keywords.<locals>.test�s���A�q�>�>�!r r%)rrv�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!r0r>�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!r0rAr'r(s  r�test_autospec_classmethodz#PatchTest.test_autospec_classmethod�s���
�(�8�3�d�
C�
C�
C�	-�v��������*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-r+c	�z�Gd�d��}|�ddd���tj|dd�	��5}|ddd���|�t|��|�t|d��|�t|dddd
���ddd��dS#1swxYwYdS)Nc�&�eZdZedd���ZdS)�;PatchTest.test_autospec_staticmethod_signature.<locals>.Foo�
c��dSrr2)r4rLrs   rr>zIPatchTest.test_autospec_staticmethod_signature.<locals>.Foo.static_method�s��.2�dr N�r1)r!r"r#rHr>r2r rr0r0�s&������
�2�2�2��\�2�2�2r r0rrr_�rr>Tr�r�)r>rr,r`ra�rr0r)s   r�$test_autospec_staticmethod_signaturez.PatchTest.test_autospec_staticmethod_signature�s%��	3�	3�	3�	3�	3�	3�	3�	3�	���!�Q�!��$�$�$�
�\�#���
>�
>�
>�	?�&��F�1�a�1��������i��0�0�0����i���3�3�3����i���A�q�A��>�>�>�		?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?��A&B0�0B4�7B4c	�z�Gd�d��}|�ddd���tj|dd�	��5}|ddd���|�t|��|�t|d��|�t|dddd
���ddd��dS#1swxYwYdS)Nc�&�eZdZedd���ZdS)�:PatchTest.test_autospec_classmethod_signature.<locals>.Foor1c��dSrr2)r@r4rLrs    rrAzGPatchTest.test_autospec_classmethod_signature.<locals>.Foo.class_method�s��26�$r Nr3)r!r"r#rIrAr2r rr0r:�s&������
�6�6�6��[�6�6�6r r0rrr_r4rATr�r�)rArr,r`rar5s   r�#test_autospec_classmethod_signaturez-PatchTest.test_autospec_classmethod_signature�s%��	7�	7�	7�	7�	7�	7�	7�	7�	����A���#�#�#�
�\�#�~��
=�
=�
=�	?���F�1�a�1��������i��0�0�0����i���3�3�3����i���A�q�A��>�>�>�		?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?r7c��tdtzdd���}|�t|j��t
jt}tj|ddd���}|�t|j��dS)Nrr_T)�newr�rM)rr!r`rar�rrr,)rr�rs   r�test_autospec_with_newz PatchTest.test_autospec_with_newsu���
��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#�extrar2r rrFrBs�������E�E�Er rFr�)r0rr�r�r�rC�listr�)rrFr�r�s    r�test_autospec_with_objectz#PatchTest.test_autospec_with_objects���	�	�	�	�	�#�	�	�	���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_)r0rr�r�r�r�)r�FooClassr�r�s    r�test_autospec_inheritsz PatchTest.test_autospec_inheritss�������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��reprr8r�)rr�r�s   r�test_autospec_namezPatchTest.test_autospec_name&s�����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)Nr8c��t�r)rr2r rrvz'PatchTest.test_tracebacks.<locals>.test4s�� � r rzraise AssertionError)	rr,r0r�exc_info�unittest�TextTestResult�_exc_info_to_stringr�)rrv�errr$�	tracebacks     r�test_tracebackszPatchTest.test_tracebacks3s���	��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�rf�rr��m1�m2r�s     r�test_new_callable_patchz!PatchTest.test_new_callable_patchAs�����/C�D�D�D��
�]�]�_�_��������
�]�]�_�_������������R� � � ���F�	'�	'�D��"�"�2�&�&�&�&�	'�	'r c�L�tjtdt���}|���}|���|���}|���|�||��||fD]}|�|���dS)Nr8rV)rr,r0r
r�r�r�rfrXs     r�test_new_callable_patch_objectz(PatchTest.test_new_callable_patch_objectNs����,�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�rFs  �rr5zCPatchTest.test_new_callable_keyword_arguments.<locals>.Bar.__init__^����#��
�
�
r �r!r"r#r�r5�rFs�rrFr`\�3��������F�
$�
$�
$�
$�
$�
$�
$r rFrr)rW�arg1�arg2)rhri)
r,rr�r�r��typersr�rkr�)rr�r!rFs   @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���|�_dSrrbrcs  �rr5z6PatchTest.test_new_callable_spec.<locals>.Bar.__init__mrdr rerfs�rrFrnkrgr rF�rWr�r�)rWr�r�)r,rr�r�rsr�rkr�)rr�rFs  @r�test_new_callable_specz PatchTest.test_new_callable_specjs���	$�	$�	$�	$�	$�	$�	$�&�	$�	$�	$�
��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.weeeeerVT)rWrF)rd)r�rrr`r�r�rfr�)r�non_existent_attr�pr!s    r�test_new_callable_createz"PatchTest.test_new_callable_creates���'�(�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>rWr8)r`�
ValueErrorrr�r,rr0r:s r�'test_new_callable_incompatible_with_newz1PatchTest.test_new_callable_incompatible_with_new�sk�������x�V�X�X�I�	�	
�	
�	
�	
������c�3�F�H�H�"�	�	
�	
�	
�	
�	
r c���|�ttttd���|�ttjtdtd���dS)NT)rWr�r8)r`rwrr�rr,r0r:s r�,test_new_callable_incompatible_with_autospecz6PatchTest.test_new_callable_incompatible_with_autospec�sd�������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#r2r r�MockSubr}���������Dr rr�TrW�x)rrr
rrr�r�r�r`r�rr�)	rr�MockClasses�Klass�argr�rtr!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  rr5zGPatchTest.test_new_callable_inherit_non_mock.<locals>.NotAMock.__init__�s
�� ��	�	�	r N)r!r"r#r5r2r r�NotAMockr��s#������
!�
!�
!�
!�
!r r�Trpr�)
r,rr�r�rbrr`r�rr�rsr�r0)rr�rtr!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�r0r�r�r)r�mock_foor�rvs  ��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�rvs��r�SomeTestr��sQ�������
6�
6�
6�
6�
6�
6�

%�
%�
%�
%�
%�
%�
%�
%r r�rV)r0r,rr�rr�r�r�)rr�r�rvs  @@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)r8r;r_r�c�����t�����tjd����tjd��dS)Nr_r�)r�r0rsr8r;)�original_foors��rrvz+PatchTest.test_patch_multiple.<locals>.test�sM����M�M�#�|�,�,�,����S�U�A�&�&�&����S�U�A�&�&�&�&�&r )
r0r8r;r�multipler�r�r�rsr�)r�
original_f�
original_g�patcher1�patcher2r�rvr�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)r`rwrr�r�r0r: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_�r8r;rGc�����t�����tj|����tjd����tj|����t|t������t|t����dS�Nr_�	r�r0r8rsr;rGrbrr)r8rGr�rs  ��rrvz8PatchTest.test_patch_multiple_create_mocks.<locals>.tests�����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 �r0r8r;rr�r�rrs)rr�r�rvr�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)Nr8r_r;c�����tj|����tjd��dSr�)r�r0r;rsr8)r;rs �rrvzHPatchTest.test_patch_multiple_create_mocks_different_order.<locals>.tests7����M�M�#�%��#�#�#����S�U�A�&�&�&�&�&r )	r0r8r;rr,�attribute_namer�additional_patchersrs)rr�r�r�r\rvs`     r�0test_patch_multiple_create_mocks_different_orderz:PatchTest.test_patch_multiple_create_mocks_different_orders�����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)r8raz.gc����|fi|��dSrr2�r;r�rs  �r�test1z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test1+�#���
�E�!���v�����r c����|fi|��dSrr2r�s  �r�test2z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test21r�r c����|fi|��dSrr2r�s  �r�test3z?PatchTest.test_patch_multiple_stacked_decorators.<locals>.test37r�r c�l��|�d��}|�d��}��|����t�����tj|����tj|����tj|����t|t������t|t������t|t����dS)Nr8rG)
�poprcr�r0r8r;rGrbrr)r;r�r8rGr�rs    ��rrz?PatchTest.test_patch_multiple_stacked_decorators.<locals>._test=s�����
�
�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_decorators&s���������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�r8rG)r0r8r;rr�r�rr�rs�setr�rGrbrrr�)rr�r�r�r�r$r8rGs        r�(test_patch_multiple_create_mocks_patcherz2PatchTest.test_patch_multiple_create_mocks_patcherQsH�����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�)rr8rGr�rvs   ��rrzFPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest._testrs�����
�
�c�<�0�0�0��
�
�c�e�Q�'�'�'�� � ����*�*�*��
�
�c�g�s�+�+�+�����A�y� 9� 9�:�:�:�����C�� ;� ;�<�<�<�<�<r c�2�|�||��dSrr��rr8rGs   rr�zIPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_twoz����
�
�1�c�"�"�"�"�"r c�2�|�||��dSrr�r�s   rr�zIPatchTest.test_patch_multiple_decorating_class.<locals>.SomeTest.test_one|r�r Nr�)r�rvs��rr�r�psQ�������
=�
=�
=�
=�
=�
=�
#�
#�
#�
#�
#�
#�
#�
#r r�r_r�)r0r8r;r,rr�r�rr�r�rs)rr�r�r�r�r�rvs     @@r�$test_patch_multiple_decorating_classz.PatchTest.test_patch_multiple_decorating_classjs����������U�
��U�
�
	#�
	#�
	#�
	#�
	#�
	#�
	#�
	#�v�
	#�
	#�
	#�
�5�>���1�'�
�
�
�
������
�
��
������
�����������
�+�+�+������
�+�+�+�+�+r c���tjtd���}|�t|j��tjtdd���}|���	|�tjd��|���n#|���wxYw|�	ttd����dS)N�blam)r�T)r�r)rr�r0r`r�r�rsr�r�rcrr�s  r�test_patch_multiple_createz$PatchTest.test_patch_multiple_create�s����.��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)Nr4rL)rGr�rGrrr)rr�r0rr�rsrGr4rLrr`r�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>.ThingNr~r2r r�Thingr��r�r r�)r8r;rWr8r;)r,rr�r0rr�r�r8r;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�missingr8c��dSrr2r2r r�thing1z3PatchTest.test_nested_patch_failure.<locals>.thing1��	���dr c��dSrr2r2r r�thing2z3PatchTest.test_nested_patch_failure.<locals>.thing2�r�r c��dSrr2r2r r�thing3z3PatchTest.test_nested_patch_failure.<locals>.thing3�r�r )r0r8r;rr,r`r�rs)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�r2r rr�z4PatchTest.test_new_callable_failure.<locals>.crasher�����I�&�&�&r r;rrGrVr8c��dSrr2r2r rr�z3PatchTest.test_new_callable_failure.<locals>.thing1�r�r c��dSrr2r2r rr�z3PatchTest.test_new_callable_failure.<locals>.thing2�r�r c��dSrr2r2r rr�z3PatchTest.test_new_callable_failure.<locals>.thing3�r�r )	r0r8r;rGrr,r`rrs)	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)Nr8rr;r�c��dSrr2r2r rr�z3PatchTest.test_patch_multiple_failure.<locals>.funcrr )
r0r8r;rr,r�r�r`r�rs)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�r2r rr�zCPatchTest.test_patch_multiple_new_callable_failure.<locals>.crasherr�r r8rr;rGrVc��dSrr2r2r rr�z@PatchTest.test_patch_multiple_new_callable_failure.<locals>.funcrr )r0r8r;rGrr,r�r�r`rrs)
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)Nr0�fish�tasty�nearly gone)r�c�>�����jd��dS)Nr�)rsr�r:s��rrvz=PatchTest.test_patch_multiple_string_subclasses.<locals>.test*s!������S�X�}�5�5�5�5�5r )rj�strrr�rsr�)rr0rvrGs`  @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 zunittest.mock.patch.TEST_PREFIXrGc��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_one7�
���z�!r c��|jSrr�r:s r�foo_twoz5PatchTest.test_patch_test_prefix.<locals>.Foo.foo_two9r�r c��|jSrr�r:s rr�z6PatchTest.test_patch_test_prefix.<locals>.Foo.test_one;r�r c��|jSrr�r:s rr�z6PatchTest.test_patch_test_prefix.<locals>.Foo.test_two=r�r N)r!r"r#r�r�rr�r�r2r rr0r�4sU�������E�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"r r0r��changedr�)r,rrsr�rr�r�)rr0rGs   r�test_patch_test_prefixz PatchTest.test_patch_test_prefix2s���
	"�
	"�
	"�
	"�
	"�&�
	"�
	"�
	"�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�rk�r�the_dicts �r�bar_onez:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_oneL�����H�~�~�%r c�"��t���Srr
rs �r�bar_twoz:PatchTest.test_patch_dict_test_prefix.<locals>.Foo.bar_twoNrr c�"��t���Srr
rs �rr�z;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_onePrr c�"��t���Srr
rs �rr�z;PatchTest.test_patch_dict_test_prefix.<locals>.Foo.test_twoRrr N)r!r"r#r
rr�r�)rs�rr0rKsy�������
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&r r0�keyr�r)r)r,rrkrsr
rr�r�)rr0rGrs   @r�test_patch_dict_test_prefixz%PatchTest.test_patch_dict_test_prefixIs����	&�	&�	&�	&�	&�	&�	&�&�	&�	&�	&��:�&��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�rJr�r�)rr�rtr!s    r�test_patch_with_spec_mock_reprz(PatchTest.test_patch_with_spec_mock_repr_s���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�unittest.test.testmock.supportTr�z" name='support.SomeClass.wibble()'z$ name='support.SomeClass().wibble()')rr�rJrr�)rr!s  r�test_patch_nested_autospec_reprz)PatchTest.test_patch_nested_autospec_reprns���
�3�d�
C�
C�
C�	8�q��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�rrs�
mock_calls�method_calls�appendr�)rr�rtr!�kallsr$s      r�test_mock_calls_with_patchz$PatchTest.test_mock_calls_with_patchws���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_)rr`�ImportErrorr�rrrr�squozzr�rs)r�p1r#s   r�test_patch_imports_lazilyz#PatchTest.test_patch_imports_lazily�s���
�?�
#�
#�����+�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#rNr2r r�holderr+�s������'�H�H�Hr r-c� ��eZdZd�fd�	ZeZdS)�APatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patchNc�J��tj||||��|||f�_dSr)r�__exit__rN)r�etype�val�tbr-s    �rr1zJPatchTest.test_patch_propagates_exc_on_exit.<locals>.custom_patch.__exit__�s*������e�S�"�5�5�5�"'��b�.����r r,)r!r"r#r1r�)r-s�r�custom_patchr/�s4�������
1�
1�
1�
1�
1�
1��D�D�Dr r5c�X��t|��\}}�||tdddddi�	�	S)NF)rr)r��getterrlr5s   �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 r"c��t�r)�RuntimeError�r�s rrvz9PatchTest.test_patch_propagates_exc_on_exit.<locals>.test�s���r r#rrzexception value not propagatedrz"exception traceback not propagated)
rrrrrr`r:r�rN�assertIsNotNone)rr8rvr#r5r-s    @@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)�doesnotexistr2r rr�z1PatchTest.test_create_and_specs.<locals>.<lambda>�s���r )rr!r`rar�r�MODNAMEr�)r�kwargrts   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�rrBr`rar�r�)rr�rCrts    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)NFr?r_)rrBr��does_not_existr�)rrtr�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)rrBr�r`r�rr��rrCrtr!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)NrFr�TrAr�)rrBr�r`r�r&rr�rMs    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�)rrBr�rb�callabler��rr�rtr!s    r�test_callable_spec_as_listz$PatchTest.test_callable_spec_as_listsf�����'��%�%�%��
�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�)rrBr�rcrSr�rTs    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���rVc�|����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_pathr`rr_s ���rr�z-PatchTest.test_patch_stopall.<locals>.patchedsV����M�O�O�O��M�M�"�'�9�-�-�-��M�M�"�)�V�,�,�,��M�M�"�(�E�*�*�*�*�*r )	r�r_r`r^rr�r�r�r�)rr^r�r`r_s`  @@r�test_patch_stopallzPatchTest.test_patch_stopalls�������������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�threer2r rr�re*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__rl�mypatch�stoppeds ����rr�zDPatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.mypatch.stop/s1����N�N�9�-�-�-� ��$�/�/�4�4�6�6�6r )r!r"r#r��
__classcell__)rnrlrorps@���rrork.sH��������7�7�7�7�7�7�7�7�7�7�7�7r roc����Srr2r�s�rr�z@PatchTest.test_stopall_lifo.<locals>.get_patch.<locals>.<lambda>2s���5�r F)r)rlrorpr�s`@��r�	get_patchz.PatchTest.test_stopall_lifo.<locals>.get_patch-sr�����
7�
7�
7�
7�
7�
7�
7�
7�
7�&�
7�
7�
7��7�=�=�=�=�)�T�4� �$��d�B�8�8�
8r c�J��g|]}�|������� Sr2)r�)�.0r3rss  �r�
<listcomp>z/PatchTest.test_stopall_lifo.<locals>.<listcomp>4s-���C�C�C�C���3���	�	�	�	�C�C�Cr )rfrgrh)rhrgrf)r,rr]rs)rrsrpr�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)Nrr4�A�B�rr�I�IIrrLc����d=dSr
r2)�dic3s�rr�z2PatchTest.test_patch_dict_stopall.<locals>.patchedCs����Q���r )rjrrkr�r�rsr])r�dic1�dic2�origdic1�origdic2�origdic3r�rs       @r�test_patch_dict_stopallz!PatchTest.test_patch_dict_stopall9s]������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)	Nryrzr{rZr[r|r}r)r�r_r`rjrr�r�r�rkr�r�r]r�rs)r�original_unlink�original_chdirr�r�r�r�s       r�!test_patch_and_patch_dict_stopallz+PatchTest.test_patch_and_patch_dict_stopallSs����)��������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��|j}tj|dd��5|�|jd��ddd��n#1swxYwY|�|j|��tj|dd	��5|�|jd	��ddd��n#1swxYwY|�|jt
��tj|d
t
dg����5|�|jt
dg����ddd��n#1swxYwY|�|jt
����dd�d
�}tj|dt
dg����5|�|��d��ddd��n#1swxYwY|�|��d��dS)Nrc��|S)�TESTr2�r�s rrGz)PatchTest.test_special_attrs.<locals>.fooms���Hr �__defaults__)rr�__doc__�FUNr"�
testpatch2�__annotations__)�srr�c��|Srr2)r�r4s  rrGz)PatchTest.test_special_attrs.<locals>.foo�s���Hr �__kwdefaults__)r�r)r)rr,rsr�r"r!rkr�)rrG�orig_docs   r�test_special_attrszPatchTest.test_special_attrsls���	�	�	�	��\�#�~�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������h�/�/�/�
�\�#�|�\�
:�
:�	;�	;����S�^�\�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�������2�2�2�
�\�#�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
�B4�4B8�;B8�0D�D�D�'*F�F!�$F!�9H$�$H(�+H(c��t��}t��|d<d|d<|���}tt	dtd������}t|�����|z}tj|t|����5|�	t|�����|��ddd��n#1swxYwY|�	||��tj||��5|�	t|�����|��ddd��n#1swxYwY|�	||��dS)Nr4�pythonrL�cdefghijklmnopqrstuvwxyz�)
rr,rjrD�zip�range�itemsrrkrs)rrGr��
update_values�patched_valuess     r�test_patch_orderdictzPatchTest.test_patch_orderdict�s����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.modulesrzunittest.test.testmockz
unittest.testrO� unittest.test.testmock.support.Xc��dSrr2r;s rrvz9PatchTest.test_dotted_but_module_not_loaded.<locals>.test�s���r )�unittest.test.testmock.supportrrkrr)rrOrvs   r�!test_dotted_but_module_not_loadedz+PatchTest.test_dotted_but_module_not_loaded�s���	.�-�-�-�
�Z�
�
&�
&�
	�
	���<�=���4�5���O�,���J�'��5�
6�
6�
�
�7�
6�
��D�F�F�F�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	�
	����
	�
	�
	�
	�
	�
	s�AA=�=B�Bc��Gd�d��}dd|��fD]q}|�|���5|�t��5t|��ddd��n#1swxYwYddd��n#1swxYwY�rdS)Nc��eZdZdS)�*PatchTest.test_invalid_target.<locals>.FooNr~r2r rr0r��r�r r0��)r�)�subTestr`rar)rr0r�s   r�test_invalid_targetzPatchTest.test_invalid_target�s/��	�	�	�	�	�	�	�	��2�s�s�u�u�o�	"�	"�F����V��,�,�
"�
"��&�&�y�1�1�"�"��&�M�M�M�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"�
"����
"�
"�
"�
"��	"�	"s5�B�A*�B�*A.�.B�1A.�2B�B	�B	c���tdt��d���d���}|�t��5|��ddd��dS#1swxYwYdS)Nr�r)r>r�c��dSrr2r2r rrvz@PatchTest.test_cant_set_kwargs_when_passing_a_mock.<locals>.test�s���Dr )rr,r`rar�s  r�(test_cant_set_kwargs_when_passing_a_mockz2PatchTest.test_cant_set_kwargs_when_passing_a_mock�s���	�1�v�x�x�1�	E�	E�	E���
F�	E��
�
�
�y�
)�
)�	�	��D�F�F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�!AN�T)sr!r"r#rfrzrr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr&r0r4r;rHrSrXrmrrr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr r%r*r-r6r<r?rErHrKrTr[r]rkrqrurxrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr r(r=rDrGrJrNrPrUrXrbrwr�r�r�r�r�r�r�r2r 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�,�e�4�4�5�5�5�4�5�,�U�,�e�4�4�>�>�5�4�>�*���8�8�8����6
+�
+�
+�B�B�B�D
�
�
�.�.�.�$������	�	�	�������%�%�%�";�;�;�")�)�)�4)�)�)�2#�#�#�6(�(�(�&���&"�"�"�����r r^�__main__r�)*r�r�collectionsrrO�unittest.test.testmockrr�rr�test.test_importlib.utilr�
unittest.mockrr	r
rrr
rrrrrr�rr!r�rBr.rmr�r�r�r,r0r�rMrO�TestCaser^�mainr2r r�<module>r�s��

�	�	�	�
�
�
�
�#�#�#�#�#�#�����*�*�*�*�*�*�A�A�A�A�A�A�A�A�,�,�,�,�,�,������������������������������;�x� ��
�(�
"�������
�	��(��
�
�
�
�
�&�
�
�
��h��������!�!�!�!�!��!�!�!�$f�f�f�f�f��!�f�f�f�R;�z����H�M�O�O�O�O�O��r 

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists