HOME


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

f�LcD����ddlZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZddlmZddlmZddlmZddlZGd�de��ZGd	�d
ej��ZGd�dej��ZGd
�dej��ZGd�dej��ZGd�dej��Zedkrej��dSdS)�N)�call�create_autospec�	MagicMock�Mock�ANY�patch�PropertyMock)�_Call�	_CallList�	_callable)�IS_PYPY)�datetime��partialc�"�eZdZd�Zd�Zdd�ZdS)�	SomeClassc��dS�N���self�a�bs   �8/usr/lib/python3/dist-packages/mock/tests/testhelpers.py�onez
SomeClass.one�����c��dSrr�rs r�twoz
SomeClass.tworrNc��dSrr�rrs  r�threezSomeClass.threerrr)�__name__�
__module__�__qualname__rr r#rrrrrs.������������!�!�!�!�!�!rrc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�AnyTestc�8�|�tt����t��}|t��|�t��t��}|t���|�t���dS�N��foo)�assertEqualr�objectr�assert_called_with�r�mocks  r�test_anyzAnyTest.test_anys{������f�h�h�'�'�'��v�v����S�	�	�	�����$�$�$��v�v�����
�
�
�
����C��(�(�(�(�(rc��|�tt��d��|�tt��d��dS)Nz<ANY>)r-�reprr�strrs r�	test_reprzAnyTest.test_repr&s@������c���G�,�,�,�����S���7�+�+�+�+�+rc���t��}|tj��tj�����|�tt���dSr*)rr�nowr/rr0s  r�test_any_and_datetimezAnyTest.test_any_and_datetime+sK���v�v����X�\�^�^�����0�0�0�0�������-�-�-�-�-rc��t��}Gd�dt��}tj��|��fD�]}|���||||���|�|||���|���||���t
ttt���t
jttt���t
��t
���tt���g}|�||j	��|�|j	|����dS)Nc��eZdZd�Zd�ZdS)�9AnyTest.test_any_mock_calls_comparison_order.<locals>.Fooc��dSrr�r�others  r�__eq__z@AnyTest.test_any_mock_calls_comparison_order.<locals>.Foo.__eq__5rrc��dSrrr>s  r�__ne__z@AnyTest.test_any_mock_calls_comparison_order.<locals>.Foo.__ne__6rrN)r$r%r&r@rBrrr�Foor<4s"������)�)�)�)�)�)�)�)rrC�r,�bar)�zinga�alpha)�a1�z99)
rr.rr8�
reset_mock�methodrrr-�
mock_calls)rr1rC�d�expecteds     r�$test_any_mock_calls_comparison_orderz,AnyTest.test_any_mock_calls_comparison_order2s=���v�v��	*�	*�	*�	*�	*�&�	*�	*�	*���������&�
	8�
	8�A��O�O�����D���q�!�!�!�!��K�K���!�K�,�,�,��D�F�F�M�M�Q�A�M�&�&�&��S�c�s�+�+�+���C�s�#�6�6�6�������
�
��#�
�6�6��H�

���X�t��7�7�7����T�_�h�7�7�7�7�
	8�
	8rc�"�Gd�d��}t��}||��d��|�ttd��g��|�td��|�td��dS)Nc��eZdZd�ZdS)�%AnyTest.test_any_no_spec.<locals>.Fooc��dSrrr>s  rr@z,AnyTest.test_any_no_spec.<locals>.Foo.__eq__JrrN�r$r%r&r@rrrrCrRI�������)�)�)�)�)rrC��r�assert_has_callsrrr/�assert_any_call�rrCr1s   r�test_any_no_speczAnyTest.test_any_no_specGs���	*�	*�	*�	*�	*�	*�	*�	*��v�v����S�S�U�U�A�������t�C��|�|�n�-�-�-�����Q�'�'�'����S�!�$�$�$�$�$rc�&�Gd�d��}t|���}||��d��|�ttd��g��|�td��|�td��dS)Nc��eZdZd�ZdS)�*AnyTest.test_any_and_spec_set.<locals>.Fooc��dSrrr>s  rr@z1AnyTest.test_any_and_spec_set.<locals>.Foo.__eq__UrrNrTrrrrCr^TrUrrC)�specrVrWrZs   r�test_any_and_spec_setzAnyTest.test_any_and_spec_setRs���	*�	*�	*�	*�	*�	*�	*�	*���~�~�~����S�S�U�U�A�������t�C��|�|�n�-�-�-�����Q�'�'�'����S�!�$�$�$�$�$rN)	r$r%r&r2r6r9rOr[rarrrr(r(sn������	)�	)�	)�,�,�,�
.�.�.�8�8�8�*	%�	%�	%�
%�
%�
%�
%�
%rr(c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�CallTestc	���t��}|�|t����|�|td����|�|td����|�|tif����|�|td����|�|tdif����|�|tddif����|�|td����|�|td����|�|tdif����|�|td	dif����td
��}|�|td
����|�|td����|�|tdif����|�|tddif����td
��}|�|td����|�|tddif����td��}|�|td����|�|tddif����|�|td����|�|tddif����tddif��}|�|tddddif����|�|tdddif����|�|tdddif����|�|tddif����dS)N)��r)rerrerr+�rEr�baz�spam��rV��)rerkrk)�rVrl�)r,rn)rernrn)rErnrErrm�r
r-�assertNotEqual)r�kalls  r�test_call_with_callzCallTest.test_call_with_call`s����w�w������u�w�w�'�'�'�����u�U�|�|�,�,�,�����u�U�|�|�,�,�,�����u�b�U�|�|�,�,�,�����u�X���/�/�/�����u�b�"�X���/�/�/�����u�b�"�b�\�2�2�3�3�3�����u�X���/�/�/�����u�[�1�1�2�2�2�����u�e�R�[�1�1�2�2�2�����u�f�b�"�%5�6�6�7�7�7��\�"�"������u�\�2�2�3�3�3�����u�_�5�5�6�6�6�����u�i��_�5�5�6�6�6�����u�b�)�R�%8�9�9�:�:�:��\�"�"�����D�%��"8�"8�9�9�9����D�%��Y��(;�"<�"<�=�=�=��(�)�)�����D�%��"8�"8�9�9�9����D�%��Y��(;�"<�"<�=�=�=����D�%�(:�";�";�<�<�<����D�%��	�2�(>�"?�"?�@�@�@��s�A�h�[�!�!������u�b�"�s�A�h�%7�8�8�9�9�9�����u�b�3��(�^�4�4�5�5�5�����u�b�3��(�^�4�4�5�5�5�����u�s�A�h�[�1�1�2�2�2�2�2rc�b�t��}|�|d��|�|d��|�|d��|�|d��|�|ddif��|�|dif��|�|if��dS)Nrr+rf�r,rr,)r
r-�r�argss  r�test_empty__CallzCallTest.test_empty__Call�s����w�w������r�"�"�"�����x�(�(�(�����u�%�%�%�����{�+�+�+������b�"�~�.�.�.������r�{�+�+�+������u�%�%�%�%�%rc���tddif��}|�|d��|�|d��|�|ddif��|�|dif��|�|d��|�|d��|�|if��|�|d��|�|d��|�|dif��dS)	Nr,rr+rurf)rErgrErprvs  r�test_named_empty_callzCallTest.test_named_empty_call�s���e�R��_�%�%������x�(�(�(�����{�+�+�+������b�"�~�.�.�.������r�{�+�+�+����D�%�(�(�(����D�"�%�%�%����D�2�%�(�(�(����D�(�+�+�+����D�+�.�.�.����D�5�"�+�.�.�.�.�.rc�N�tdif��}|�|d��|�|d��|�|ddif��|�|dif��|�|jd��|�|ji��dS)Nrkrj�r,rkr,)r
r-rw�kwargsrvs  r�test_call_with_argszCallTest.test_call_with_args�s����i��_�%�%������|�,�,�,�����1�2�2�2������y�"�5�6�6�6�����	�2��/�/�/������I�.�.�.������b�)�)�)�)�)rc�P�tddif��}|�|d��|�|ddif��|�|jd��|�|ji��|�|d��|�|dif��dS)Nr,rkr|rj)r
r-rwr}rqrvs  r�test_named_call_with_argsz"CallTest.test_named_call_with_args�s����e�Y��+�,�,������1�2�2�2������y�"�5�6�6�6������I�.�.�.������b�)�)�)����D�,�/�/�/����D�9�b�/�2�2�2�2�2rc	��tdtdd���f��}|�|tdd���f��|�|dtdd���f��|�|ddtdd���f��|�|dtdd���f��|�|jd��|�|jtdd�����dS)Nrrmro�rrr,)r
�dictr-rwr}rvs  r�test_call_with_kwargszCallTest.test_call_with_kwargs�s����b�$��a�.�.�.�)�*�*�������q�A����0�1�1�1������t�a�1�~�~�~�6�7�7�7������r�4�!�q�>�>�>�:�;�;�;������D�1��N�N�N�3�4�4�4������B�'�'�'������d�Q�!�n�n�n�5�5�5�5�5rc	�
�tddtdd���f��}|�|dtdd���f��|�|ddtdd���f��|�|jd��|�|jtdd�����|�|tdd���f��|�|dtdd���f��dS)Nr,rrmror�)r
r�r-rwr}rqrvs  r�test_named_call_with_kwargsz$CallTest.test_named_call_with_kwargs�s����e�R���Q����0�1�1�������t�a�1�~�~�~�6�7�7�7������r�4�!�q�>�>�>�:�;�;�;������B�'�'�'������d�Q�!�n�n�n�5�5�5����D�4�!�q�>�>�>�"3�4�4�4����D�2�t�a�1�~�~�~�"6�7�7�7�7�7rc��tdif��}|�|tddd����|�tddd��|��|�tddd��|g��dS)NrkrVrlrm)r
r-r�assertInrvs  r�#test_call_with_args_call_empty_namez,CallTest.test_call_with_args_call_empty_name�sy���i��_�%�%������t�A�q�!�}�}�-�-�-�����a��A����-�-�-��
�
�d�1�a��m�m�d�V�,�,�,�,�,rc�@�|�td��tdd����|�td��tddd��k��|�tdif��tddd��k��dS)NrjrVrlrm�rVrl)rqr
r�assertFalse�
assertTruers r�test_call_nezCallTest.test_call_ne�s������E�,�/�/��a����<�<�<�����|�,�,��Q��1�
�
�=�>�>�>�����v�r�l�+�+�t�A�q�!�}�}�<�=�=�=�=�=rc��td��}dd|tfD]1}|�||��|�||k���2dS)NrjrV)r
�intrqr�)rrr�values   r�test_call_non_tupleszCallTest.test_call_non_tuples�sb���\�"�"����d�C�'�	,�	,�E�����e�,�,�,����T�U�]�+�+�+�+�	,�	,rc
��|�tt����d��|�ttd����d��|�ttdddif����d��|�ttddddif����d	��|�tt��d
��|�t	t��d
��|�tt����d��|�ttd����d��|�ttd
�����d��|�tt��j��d��|�ttd��j�d���j��d��|�tt���ddd�����d��|�tt������d��|�ttd��d����d��|�tt�������j�	d����d��dS)Nzcall()r+z
call.foo()rkrrzcall(1, 2, 3, a='b')rEzcall.bar(1, 2, 3, a='b')rrVzcall(1)�thing)�zzzcall(zz='thing')z
call().foorm�rzcall().foo.bar().bingrlzcall().foo(1, 2, a=3)zcall()()z	call()(2)zcall()().bar().baz.beep(1))
r-r4r
rr5r,rE�bingrh�beeprs rr6zCallTest.test_repr�s�������e�g�g����1�1�1�����e�H�o�o�.�.��=�=�=�����e�Y��c�
�$;�<�<�=�=�/�	1�	1�	1�����e�U�I��S�z�$B�C�C�D�D�3�	5�	5�	5�	
����d���V�,�,�,�����T���F�+�+�+�����d�f�f���x�0�0�0�����d�1�g�g���	�2�2�2�����d�g�.�.�.�/�/�1C�D�D�D�����d�f�f�j�)�)�<�8�8�8�����d�1�g�g�k�o�o��o�2�2�7�8�8�0�	2�	2�	2����������A�q�A��&�&�'�'�#�	
�	
�	
�	
����f�d�f�f�h�h����4�4�4�����g�d�1�g�g�a�j�j�)�)�;�7�7�7���������������#�(�(��+�+�,�,�(�	
�	
�	
�	
�	
rc�p�|�t��ddif��|�tdddd���ddddd�f��t��}|d	d
d��|dd���|�|jtd	d
d��tdd���g��dS)
Nrerr,rErmro)rr rDrVrl�r�)r-rr�call_args_listr0s  r�	test_callzCallTest.test_calls���������"�b�"��.�.�.�����e�U��q�9�9�9��n�a��.B�.B�C�	E�	E�	E��v�v����Q��1�
�
�
���q�A���������,��q�!�Q�-�-���Q����8�	:�	:�	:�	:�	:rc���|�tjd��ddif��|�tj�d���ddddif��t��}|�dd	d
��|j�d
d���|�|jtjdd	d
��tj�d
d���g��dS)
NrVr,)rV�eggs)�fishzbar.bazrr�rlrmr�r�)r-rr,rErhr�method_callsr0s  r�test_attribute_callzCallTest.test_attribute_calls��������!���u�d�B�&7�8�8�8��������6��2�2�#�R�&�&�)9�:�	<�	<�	<��v�v������A�q��������q�A���������*��(�1�a��+�+�T�X�\�\�A��\�-C�-C�D�	F�	F�	F�	F�	Frc	�2�td���d���dd���}|�|ddt	d���f��t��}|dddd���|�|jtdddd�����|�|jtddd����|�|jtdddd���g��|�|j	tdddd���g��t��}|�d�������j
�d	���tjd�������j
�d	���}|�|j	d
|��|�|j	|�����dS)NrVrlrmror�z().foo().bar�rmr�r����)
rr,rEr-r�r�	call_argsrqr�rLrhr��	call_list)r�resultr1�	last_calls    r�test_extended_callzCallTest.test_extended_calls����a�����Q���#�#�A��#�+�+������.�$��q�	�	�	�!B�C�C�C��{�{����Q��Q�!�����������a��a�1�)=�)=�)=�>�>�>����D�N�D��A�q�M�M�:�:�:�����,�t�A�q�A��/C�/C�/C�.D�E�E�E������4��1��Q�+?�+?�+?�*@�A�A�A��{�{����������������$�$�q�$�)�)�)�%�D�H�Q�K�K�O�O�%�%�'�'�+�0�0�1�0�5�5�	�������,�i�8�8�8������)�*=�*=�*?�*?�@�@�@�@�@rc���td���j}td���j}|�||��|�||��|�||��dS�NrV��xrl)rr,r-rqrs   r�test_extended_not_equalz CallTest.test_extended_not_equal.sh���1�I�I�I�M���1�I�I�I�M������A��������A�������A�q�!�!�!�!�!rc�&�td������j}td������j}|�||��|�||��|�||��dSr�)rr,rEr-rqrs   r�test_nested_calls_not_equalz$CallTest.test_nested_calls_not_equal6sz���1�I�I�I�M�M�O�O����1�I�I�I�M�M�O�O�������A��������A�������A�q�!�!�!�!�!rc��t��}|d��|�td�����|j��t��}|d���d��|�td���d�����|j��t��}|d���d��d��|�td���d��d�����|j��t��}t
|d���d��d��jj�	d��d����td���d��d��jj�	d��d���
��}|�|���|j��dS)NrVrlrmro�)rr-rr�rLrKr�r,rErh�__int__)rr1rrs   r�test_call_listzCallTest.test_call_list>s����{�{����Q��������a���*�*�,�,�d�o�>�>�>��{�{����Q�����q��������a������*�*�4�4�6�6���	*�	*�	*��{�{�����Q�����q���!�������*��a������*�*�1�-�-�7�7�9�9���	*�	*�	*��{�{���/��D�D��G�G�N�N�1���a� � �$�(�,�,�Q�/�/��2�2�3�3�3�2� �t�A�w�w�~�~�a� � ��#�#�'�+�/�/��2�2�1�5�5�=�=�?�?��������)�)�4�?�;�;�;�;�;rc��|�tt��t��}t	|��|�|jtg��|�tg|j��dSr)r-rrrr�rL�r�ms  r�
test_call_anyzCallTest.test_call_anySsf������s�#�#�#��K�K���A����������u�-�-�-����#����-�-�-�-�-rc�<�tdddifd���}|�t|��d��|�|dd��|�|dddi��tdddif��}|�||��dS)	Nr�rrmT)r rlrrV)r
r-�len)rrw�
other_argss   r�test_two_args_callzCallTest.test_two_args_call\s����f�s�A�h�'�T�2�2�2������T���A�&�&�&�����a��&�)�)�)�����a��3��(�+�+�+��F�S�!�H�-�.�.�
�����z�*�*�*�*�*rc��|�tdd��dd��|�td��dd��|�tdddif��dd��dS)	Nrr,r)�rE�barzrer��hello�world)r-r
rs r�test_call_with_namezCallTest.test_call_with_namees~������r�5�)�)�!�,�e�4�4�4�����1�3�3�A�6��;�;�;������'�7�1C�D�F�F�q�I�2�N�N�N�N�Nrc	��t��}|�����d��|�|jt	��t	�����t	������d��t	����������g��t��}d|�����d<|�|jt	��t	�����t	������dd��g��t��}t|�������|�|jt	��t	�����t	��������g��dS)NrErV)	rr,r-rLr�__getitem__�__setitem__�iter�__iter__r�s  r�test_dunder_callzCallTest.test_dunder_calljs����K�K���������	�	�%��������
�L�
�V�V�T�V�V�Z�Z�\�\�4�6�6�:�:�<�<�#;�#;�E�#B�#B�D^�D�F�F�J�J�L�L�D\�D\�D^�D^�D`�D`�a�	
�	
�	
�
�K�K���������	�	�%�����
�L�
�V�V�T�V�V�Z�Z�\�\�4�6�6�:�:�<�<�#;�#;�E�1�#E�#E�F�	
�	
�	
�
�K�K���Q�Q�S�S�W�W�Y�Y�������
�L�
�V�V�T�V�V�Z�Z�\�\�4�6�6�:�:�<�<�#8�#8�#:�#:�;�	
�	
�	
�	
�	
rN)r$r%r&rsrxrzr~r�r�r�r�r�r�r6r�r�r�r�r�r�r�r�r�r�rrrrcrc^sY������"3�"3�"3�J	&�	&�	&�
/�
/�
/� *�*�*�	3�	3�	3�6�6�6�	8�	8�	8�-�-�-�>�>�>�,�,�,�
�
�
�>	:�	:�	:�	F�	F�	F�A�A�A�("�"�"�"�"�"�<�<�<�*.�.�.�+�+�+�O�O�O�

�
�
�
�
rrcc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'S)(�SpecSignatureTestc���|�tt|d��|�dd��|j�dd��|�t
|jjdd��|�t|jd��|���|j���|�t
|jjd��|�t|jd��|���|j���|�t
|jjd��|�t|jdd��|�d��|j�d��|�d���|j�d���dS)Nr,rVrlrmror�)	�assertRaises�AttributeError�getattrrr/�AssertionError�	TypeErrorr r#r0s  r�_check_someclass_mockz'SpecSignatureTest._check_someclass_mock�s������.�'�4��?�?�?�����A������#�#�A�q�)�)�)����.��(�5�q�!�	=�	=�	=����)�T�X�q�1�1�1����
�
�
���#�#�%�%�%����.��(�5�q�	:�	:�	:����)�T�X�q�1�1�1��
�
�����
�%�%�'�'�'����.��*�7��	<�	<�	<����)�T�Z��A�6�6�6��
�
�1�
�
�
��
�%�%�a�(�(�(��
�
�Q�
�����
�%�%��%�*�*�*�*�*rc��tt��}|�|��tt����}|�|��dSr)rrr�r0s  r�
test_basiczSpecSignatureTest.test_basic�sN���y�)�)���"�"�4�(�(�(��y�{�{�+�+���"�"�4�(�(�(�(�(rc���d�}t|d���}|�|��d��Gd�dt��}t|d���}|�|��d��dS)Nc��dSrrrrr�fz>SpecSignatureTest.test_create_autospec_return_value.<locals>.f�rrr,��return_valuec��eZdZdS)�@SpecSignatureTest.test_create_autospec_return_value.<locals>.FooN�r$r%r&rrrrCr����������DrrC)rr-r.)rr�r1rCs    r�!test_create_autospec_return_valuez3SpecSignatureTest.test_create_autospec_return_value�s����
�
��q�u�5�5�5����������'�'�'�	�	�	�	�	�&�	�	�	��s��7�7�7����������'�'�'�'�'rc��tt��}t|��|���|�|jjd��dS)Nr)rr�rJr-r��
call_countr�s  r�test_autospec_reset_mockz*SpecSignatureTest.test_autospec_reset_mock�sH���C� � ���A����	�����������-�q�1�1�1�1�1rc���Gd�dt��}tj|d��}|���}|���d��|�d��dS)Nc��eZdZd�ZdS)�;SpecSignatureTest.test_mocking_unbound_methods.<locals>.Fooc��dSrr)rr,s  rr,z?SpecSignatureTest.test_mocking_unbound_methods.<locals>.Foo.foo�rrN�r$r%r&r,rrrrCr���������$�$�$�$�$rrCr,rV)r.r�startr,r/)rrC�p�mock_foos    r�test_mocking_unbound_methodsz.SpecSignatureTest.test_mocking_unbound_methods�sy��	%�	%�	%�	%�	%�&�	%�	%�	%��L��e�$�$���7�7�9�9������	�	�!�����#�#�A�&�&�&�&�&rc��Gd�dt��}t|d���}|�|jd��dS)Nc��eZdZdZdS)�ESpecSignatureTest.test_create_autospec_keyword_arguments.<locals>.FoormN�r$r%r&rrrrrCr����������A�A�ArrC�3r�)r.rr-r)rrCr�s   r�&test_create_autospec_keyword_argumentsz8SpecSignatureTest.test_create_autospec_keyword_arguments�s\��	�	�	�	�	�&�	�	�	��C�3�'�'�'�������c�"�"�"�"�"rc���dd�d�}t|��}|d��|�d��|�t|dd��|dd���|�dd���dS)N�rc��dSrrr�s  rr,zJSpecSignatureTest.test_create_autospec_keyword_only_arguments.<locals>.foo�rrrVrlrm)rr/r�r�)rr,r�s   r�+test_create_autospec_keyword_only_argumentsz=SpecSignatureTest.test_create_autospec_keyword_only_arguments�s����#�#�#�#�#��C� � ��	��!����	���Q�������)�Q��1�-�-�-�	��!�q�	�	�	�	�	���Q�!��$�$�$�$�$rc��t��}d�}||_t|��}|�d��|j�d��dS)Nc��dSrrr�s rr�z@SpecSignatureTest.test_function_as_instance_attribute.<locals>.f�rrr�)rr�rr/)r�objr�r1s    r�#test_function_as_instance_attributez5SpecSignatureTest.test_function_as_instance_attribute�sQ���k�k���������s�#�#�����v������!�!�&�)�)�)�)�)rc���tg��}|�d��|j�d��|�tt
|d��Gd�dt��}t|��}|j�d��|jj�d��|�tt
|jd��dS)Nr,c��eZdZgZdS)�0SpecSignatureTest.test_spec_as_list.<locals>.FooNr�rrrrCr��s�������C�C�CrrCrm)r�appendr/r�r�r�r.r,)rr1rCs   r�test_spec_as_listz#SpecSignatureTest.test_spec_as_list�s����r�"�"�����E������&�&�u�-�-�-����.�'�4��?�?�?�	�	�	�	�	�&�	�	�	��s�#�#�������������*�*�1�-�-�-����.�'�4�8�U�C�C�C�C�Crc��Gd�dt��}t|��}||jfD]}|�|���dS)Nc�"�eZdZe��ZdS)�.SpecSignatureTest.test_attributes.<locals>.SubN�r$r%r&r�attrrrr�Subr���������9�;�;�D�D�Drr)rrrr�)rr�sub_mockr1s    r�test_attributesz!SpecSignatureTest.test_attributes�sr��	�	�	�	�	�)�	�	�	�#�3�'�'���x�}�-�	-�	-�D��&�&�t�,�,�,�,�	-�	-rc���Gd�dt���G�fd�dt��}t|��}|�d��|�t��5|���ddd��n#1swxYwY|�t��5|�dd��ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�VSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptorc��|�d�SdS)Nc��dSrrr�s r�<lambda>zpSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptor.__get__.<locals>.<lambda>�s��T�rr)rr��type_s   r�__get__z^SpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptor.__get__�s���;�)�>�)��;rN�r$r%r&rrrr�CrazyDescriptorr
�s#������
*�
*�
*�
*�
*rrc�$��eZdZ���ZdS)�NSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.MyClassN)r$r%r&�	some_attr)rs�r�MyClassrs�������'��)�)�I�I�IrrrVrl)r.rrr�r�)rrr1rs   @r�+test_spec_has_descriptor_returning_functionz=SpecSignatureTest.test_spec_has_descriptor_returning_function�s����	*�	*�	*�	*�	*�f�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�f�	*�	*�	*��w�'�'�����q����
�
�
�y�
)�
)�	�	��N�N����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	!�	!��N�N�1�a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s$�(B	�	B
�B
�.C�C�Cc�p��G�fd�dt������}|�t��5|jddd��n#1swxYwY|�|�d��d��t
|��}|�d��|�t��5|���ddd��n#1swxYwY|�t��5|�dd��ddd��dS#1swxYwYdS)Nc�(���eZdZ��fd�Zd�Z�xZS)�ISpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClassc�P��t�|�����dgzS)N�crazy)�super�__dir__)r�
CrazyClass�	__class__s ��rrzQSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__dir__s&����Z��.�.�6�6�8�8�'��B�Brc�2�|dkrd�St|���)Nrc��|Srrr�s rr
zgSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__getattr__.<locals>.<lambda>s��Q�r�r�)r�items  r�__getattr__zUSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__getattr__s!���7�?�?�&�;�&�$�T�*�*�*r)r$r%r&rr$�
__classcell__)rrs@�rrrsS��������
C�
C�
C�
C�
C�
C�
+�
+�
+�
+�
+�
+�
+rr�*rVrl)r.r�r�r?r-rrr�)r�instr1rs   @r�#test_spec_has_function_not_in_basesz5SpecSignatureTest.test_spec_has_function_not_in_bases
s����	+�	+�	+�	+�	+�	+�	+��	+�	+�	+��z�|�|��
�
�
�~�
.�
.�	�	��J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������B����,�,�,��t�$�$���
�
�2����
�
�
�y�
)�
)�	�	��J�J�L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��J�J�q�!����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�A�C"�"C&�)C&�D+�+D/�2D/c�Z�Gd�dt��}t|��}|�d��|j�d��|�t
t|jd��|�d��|j�d��|�t|jdd��|�t
t|jd��|�	ddg��|j	�ddg��|�t
t|j	d��|j
�d��|j
j�d��|�t
t|j
d��dS)Nc��eZdZd�ZeZiZdS)�GSpecSignatureTest.test_builtin_functions_types.<locals>.BuiltinSubclassc��dSrr)r�args  rrEzKSpecSignatureTest.test_builtin_functions_types.<locals>.BuiltinSubclass.bar+rrN)r$r%r&rE�sortedrrrr�BuiltinSubclassr+*s!������$�$�$��F��D�D�Drr/rmr,rErVrl)�listrr�r/r�r�r�rEr�r.r�pop�rr/r1s   r�test_builtin_functions_typesz.SpecSignatureTest.test_builtin_functions_types&ss��	�	�	�	�	�d�	�	�	�
��/�/�����A������&�&�q�)�)�)����.�'�4�;��F�F�F����������#�#�E�*�*�*����)�T�X�u�e�<�<�<����.�'�4�8�U�C�C�C����Q��F������&�&��1�v�.�.�.����.�'�4�;��F�F�F��	�
�
�a�����	�
�(�(��+�+�+����.�'�4�9�e�D�D�D�D�Drc�$�Gd�dt��}t|��}|�dd��|���|�d��tjdd��tj��tjd��g}|�|j|��|j�dd��|j���|j�d��|�	t
j�dd��t
j���t
j�d��g��|�|j|��dS)Nc�"�eZdZe��ZdS)�0SpecSignatureTest.test_method_calls.<locals>.SubNrrrrrr6CrrrrVrlrm)
rrrr r#rr-r�r�extend)rrr1rNs    r�test_method_callsz#SpecSignatureTest.test_method_callsBsG��	�	�	�	�	�)�	�	�	��s�#�#������A�������
�
�
��
�
�1�
�
�
��H�Q��N�N�D�H�J�J��
�1�
�
�>������*�H�5�5�5��	�
�
�a������	�
�
�����	����������
�Y�]�]�1�a�
 �
 �$�)�-�-�/�/�4�9�?�?�1�3E�3E�F�	
�	
�	
�	
����*�H�5�5�5�5�5rc���Gd�dt��}t|��}|�t|��g��|�tt
|��|�tt
|j��|�t|��g��|�|dt��|�|jdt��dS)Nc��eZdZiZdS)�=SpecSignatureTest.test_magic_methods.<locals>.BuiltinSubclassN)r$r%r&rrrrr/r;Ys�������D�D�Drr/r,)	r0rr-r�r�r�r�assertIsInstancerr2s   r�test_magic_methodsz$SpecSignatureTest.test_magic_methodsXs���	�	�	�	�	�d�	�	�	���/�/������d���R�(�(�(����)�S�$�/�/�/����)�S�$�)�4�4�4�����d���R�(�(�(����d�5�k�9�5�5�5����d�i��.�	�:�:�:�:�:rc�,�Gd�dt��}||��fD]s}t|d���}|�|��|�tt
|dd��|�tt
|jdd���tdS)Nc�"�eZdZe��ZdS)�,SpecSignatureTest.test_spec_set.<locals>.SubNrrrrrr@grrrT)�spec_setr,rE)rrr�r�r��setattrr)rrr`r1s    r�
test_spec_setzSpecSignatureTest.test_spec_setfs���	�	�	�	�	�)�	�	�	��#�#�%�%�L�	P�	P�D�"�4�$�7�7�7�D��&�&�t�,�,�,����n�g�t�U�E�J�J�J����n�g�t�y�%��O�O�O�O�	P�	Prc��Gd�dt��}Gd�d|��}Gd�dt|��}||��||��||��fD]s}t|��}|�dd��|j�dd��|�d	d
��|j�d	d
���tdS)Nc�:�eZdZed���Zed���ZdS)�/SpecSignatureTest.test_descriptors.<locals>.Fooc��dSrr)�clsrrs   rr�z1SpecSignatureTest.test_descriptors.<locals>.Foo.ft���"�drc��dSrrr�s  r�gz1SpecSignatureTest.test_descriptors.<locals>.Foo.gvs���rN)r$r%r&�classmethodr��staticmethodrKrrrrCrFss6������
�"�"��[�"�
����\���rrCc��eZdZdS)�/SpecSignatureTest.test_descriptors.<locals>.BarNr�rrr�BarrOy��������rrPc��eZdZdS)�/SpecSignatureTest.test_descriptors.<locals>.BazNr�rrr�BazrS{rQrrTrVrlrmro)r.rrr��assert_called_once_withrK)rrCrPrTr`r1s      r�test_descriptorsz"SpecSignatureTest.test_descriptorsrs���	�	�	�	�	�&�	�	�	�	�����#����'�'�'�'�'�)�S�'�'�'��#�#�%�%��c�c�e�e�S�#�#�%�%�8�	1�	1�D�"�4�(�(�D��F�F�1�a�L�L�L��F�*�*�1�a�0�0�0��F�F�1�a�L�L�L��F�*�*�1�a�0�0�0�0�
	1�	1rc��Gd�dt��}||_t|��}|��|�|jj��|���|j���|�|jtj��tj���g��|�	|j
|j��|�|j
|j��|j
�
��|�t|jj
j��dS)Nc��eZdZd�ZdZeZdS)�+SpecSignatureTest.test_recursive.<locals>.Ac��dSrrrs rrz-SpecSignatureTest.test_recursive.<locals>.A.a�rrzfoo bar bazN)r$r%r&rr,rErrr�ArY�s!����������C��C�C�Crr[)r.�Brr��calledrr-r�r�assertIsr,rE�assertIsNot�lowerr�r�r/)rr[r1s   r�test_recursivez SpecSignatureTest.test_recursive�s��	�	�	�	�	��	�	�	�
����q�!�!�������������'�'�'�����������
�
�
�����*�T�V�X�X�t�v�x�x�z�z�,B�C�C�C��
�
�a�e�Q�U�#�#�#������4�8�,�,�,�����������.�$�(�.�*K�L�L�L�L�Lrc��Gd�dt��}t|��}|�||����||��fD]�}|�d���|j�d���|j�d��|�t|jdd��|�tt|d����t|����}|�d��|j�d��|j�d���|�t|jdd��|�tt|d��|�t|��|j	�
d��|j	j
�d��|j	j
�d�	��|�tt|j	d
��|�	���
d��|�	��j
�d��|�	��j
�d�	��|�tt|�	��d
��dS)Nc�0�eZdZd�ZGd�de��ZdS)�@SpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Fooc��dSrr)rr�s  rrzBSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.a�rrc��eZdZd�ZdS)�DSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.Barc��dSrr)r�ys  rr�zFSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.Bar.f�rrN�r$r%r&r�rrrrPrg�s������$�$�$�$�$rrPN)r$r%r&rr.rPrrrrCrd�sG������ � � �
%�
%�
%�
%�
%�f�
%�
%�
%�
%�
%rrCr�r�r,rErr�)rirK)r.rr_rr/r�r�r�r�rPr�)rrC�
class_mock�	this_mock�
instance_mocks     r�!test_spec_inheritance_for_classesz3SpecSignatureTest.test_spec_inheritance_for_classes�s���	%�	%�	%�	%�	%�&�	%�	%�	%�
%�S�)�)�
�����Z�Z�\�\�2�2�2�#�Z�Z�\�\�1�	G�	G�I��K�K�!�K�����K�*�*�Q�*�/�/�/��K�*�*�1�-�-�-����i���e�U�C�C�C����n�g�y�#�F�F�F�F�'�����.�.�
����������*�*�1�-�-�-���*�*�Q�*�/�/�/����)�]�_�e�U�C�C�C����.�'�=�#�F�F�F�	
���)�]�3�3�3�����A�������.�.�q�1�1�1����.�.��.�3�3�3����.�'�=�3D�c�J�J�J��������a� � � �������0�0��3�3�3�������0�0�1�0�5�5�5����.�'�=�3D�3D�3F�3F��L�L�L�L�Lrc�0�Gd�dt��}||_t|��}|��}|�tt
|d��|���}|�tt
|d��t|����}|�tt
|d��|�t|��|���}|�tt
|d��dS)Nc��eZdZdZdS)�+SpecSignatureTest.test_inherit.<locals>.FoormNr�rrrrCrq�r�rrCr)r.rCrr�r�r�r�)rrCr1�instance�
attr_instance�call_results      r�test_inheritzSpecSignatureTest.test_inherit�s��	�	�	�	�	�&�	�	�	�����s�#�#���4�6�6�����.�'�8�S�A�A�A����
�
�
����.�'�=�#�F�F�F��s�s�u�u�%�%�����.�'�4��=�=�=����)�T�*�*�*��h�h�j�j�����.�'�;��D�D�D�D�Drc�D�td��tt��td��tt��ti��tt��tg��tt��tt����tt
��td��tt��td��tt��td��td��dS)NrVr,g�?y�?FT)rr�r5r�r0�set�float�complexrs r�
test_builtinszSpecSignatureTest.test_builtins�s������������������������������������������������������������������������ � � ������������rc��d�}t|��}|�t|��|dd��|�dd��|�dd���|�dd���||_t|��}|�t|j��|�dd��|j�dd��|j�dd���dS)Nc��dSrrr�s  rr�z*SpecSignatureTest.test_function.<locals>.f�rrrVrlr�r�rmro)rr�r�r/r��rr�r1s   r�
test_functionzSpecSignatureTest.test_function�s�������q�!�!�����)�T�*�*�*���Q��
�
�
�����1�%�%�%�����Q��'�'�'����!�q��)�)�)�����q�!�!�����)�T�V�,�,�,����q�!������!�!�!�Q�'�'�'���!�!�A��!�+�+�+�+�+rc�����Gd�dt���G�fd�dt��}|�|�dd��d��t|���|�t
�fd���|���dd���jj��|�t�fd	����j}|j	|j
fdS)
Nc��eZdZdd�ZdS)�;SpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserNc�(�|�td���dS)Nz$Can only be accessed via an instancer")rr��types   rrzCSpecSignatureTest.test_skip_attributeerrors.<locals>.Raiser.__get__s���;�(�)O�P�P�P��;rrrrrr�Raiserr�s.������
Q�
Q�
Q�
Q�
Q�
Qrr�c�:��eZdZ���Zed���ZdS)�@SpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserClassc��||zSrrr�s  r�existingzISpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserClass.existing
s���1�u�rN)r$r%r&�raiserrMr�)r�s�r�RaiserClassr�s9��������V�X�X�F�
�
�
��\�
�
�
rr�rVrlrmc�2����ddd��S)NrVrlrm)r�)r��ss �rr
z=SpecSignatureTest.test_skip_attributeerrors.<locals>.<lambda>s���q�z�z�!�Q��/B�/B�rc����jSr)�nonexisting)r�s�rr
z=SpecSignatureTest.test_skip_attributeerrors.<locals>.<lambda>s	���!�-�r)r.r-r�rr�r�r�r�r�r,rE)rr�r�r�r�s   @@r�test_skip_attributeerrorsz+SpecSignatureTest.test_skip_attributeerrorss&����	Q�	Q�	Q�	Q�	Q�V�	Q�	Q�	Q�
	�	�	�	�	�	�	�&�	�	�	�	
����-�-�a��3�3�Q�7�7�7��K�(�(�����)�%B�%B�%B�%B�C�C�C�������A�q�)�)�1�:�+B�C�C�C����.�*?�*?�*?�*?�@�@�@��h���������rc���Gd�dt��}t|��}|�t|��|d��|�d��|�d���|�t
|jd��|dd��|�dd��|�dd���|�t
|jdd���dS)	Nc��eZdZdd�ZdS)�3SpecSignatureTest.test_signature_class.<locals>.Foormc��dSrrrs   r�__init__z<SpecSignatureTest.test_signature_class.<locals>.Foo.__init__rrNr��r$r%r&r�rrrrCr�s������,�,�,�,�,�,rrCrVr�rlror�r�)r.rr�r�rUr�r/rZs   r�test_signature_classz&SpecSignatureTest.test_signature_classs��	-�	-�	-�	-�	-�&�	-�	-�	-��s�#�#�����)�T�*�*�*���Q�����$�$�Q�'�'�'��$�$�q�$�)�)�)����.�$�*F��J�J�J���Q��
�
�
�����1�%�%�%����!�q��)�)�)����.�$�*A�Q�!��L�L�L�L�Lrc�J�Gd�dt��}t|��dS)Nc��eZdZdS)�6SpecSignatureTest.test_class_with_no_init.<locals>.FooNr�rrrrCr�.r�rrC)r.r)rrCs  r�test_class_with_no_initz)SpecSignatureTest.test_class_with_no_init+s@��	�	�	�	�	�&�	�	�	�������rc��Gd�dt��}t|��}|dd��|�dd��|�dd���|�t|d��|dd��}|�t|��|d���|�d��|�d���|d��|�d��|�d���t|dd����}|d���|�d���|�t|��|d��|�d��dS)Nc��eZdZd�Zd�ZdS)�;SpecSignatureTest.test_signature_callable.<locals>.Callablec��dSrr)rr�ris   rr�zDSpecSignatureTest.test_signature_callable.<locals>.Callable.__init__5rrc��dSrrr"s  r�__call__zDSpecSignatureTest.test_signature_callable.<locals>.Callable.__call__6rrN)r$r%r&r�r�rrr�Callabler�4s"������*�*�*�'�'�'�'�'rr�rVrl�r�rirr�)r.rrUr�r�r/)rr�r1rrs    r�test_signature_callablez)SpecSignatureTest.test_signature_callable3s���	(�	(�	(�	(�	(�v�	(�	(�	(��x�(�(����Q��
�
�
��$�$�Q��*�*�*��$�$�q�A�$�.�.�.����)�T�3�/�/�/��4��1�:�:�����)�X�.�.�.���3������(�(��-�-�-��(�(�3�(�/�/�/����
�
�
��#�#�C�(�(�(��#�#�c�#�*�*�*��x�x��1�~�~�.�.����s������$�$�s�$�+�+�+����)�T�*�*�*���S�	�	�	�����$�$�$�$�$rc���Gd�dt��}t|��}|��}|���|�t|d��|�t|��|�t|d��t|����}|�t|��|�t|d��dS)Nc��eZdZd�ZdS)�ASpecSignatureTest.test_signature_noncallable.<locals>.NonCallablec��dSrrrs rr�zJSpecSignatureTest.test_signature_noncallable.<locals>.NonCallable.__init__Qs���rNr�rrr�NonCallabler�Ps#������
�
�
�
�
rr�r)r.rrUr�r�)rr�r1rrs    r�test_signature_noncallablez,SpecSignatureTest.test_signature_noncallableOs���	�	�	�	�	�&�	�	�	��{�+�+���4�6�6���$�$�&�&�&����)�T�3�/�/�/����)�X�.�.�.����)�X�s�3�3�3��{�{�}�}�-�-�����)�T�*�*�*����)�T�3�/�/�/�/�/rc��Gd�dt��}t|��}|j}|�|t	d����|���|j���dS)Nc��eZdZdZdS)�8SpecSignatureTest.test_create_autospec_none.<locals>.FooN)r$r%r&rErrrrCr�as�������C�C�CrrC)r.rrE�assertNotIsInstancer�r,rU)rrCr1�nones    r�test_create_autospec_nonez+SpecSignatureTest.test_create_autospec_none`s���	�	�	�	�	�&�	�	�	��s�#�#���x��� � ��t�D�z�z�2�2�2����
�
�
���(�(�*�*�*�*�*rc���Gd�dt��}t|��}|�d��|j�d��|j�d��dS)Nc��eZdZd�ZdS)�MSpecSignatureTest.test_autospec_functions_with_self_in_odd_place.<locals>.Fooc��dSrr)rrs  rr�zOSpecSignatureTest.test_autospec_functions_with_self_in_odd_place.<locals>.Foo.fnrrNrjrrrrCr�ms������ � � � � rrC�
)r.rr�r/)rrCrs   r�.test_autospec_functions_with_self_in_odd_placez@SpecSignatureTest.test_autospec_functions_with_self_in_odd_placels~��	!�	!�	!�	!�	!�&�	!�	!�	!�
�C� � ��	���B����	����r�"�"�"�	
����r�"�"�"�"�"rc�,����Gd�dt���Gd�dt���G��fd�dt��}t|��}�fd�}||j��||j��||j��||j��dS)Nc�"�eZdZd�Zdd�Zd�ZdS)�CSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptorc��||_dSr)r�)rr�s  rr�zLSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__init__{s
��"��
�
�
rNc��|Srr)rr�rHs   rrzKSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__get__~s���rc��dSrr)rr�r�s   r�__set__zKSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__set__�rrr)r$r%r&r�rr�rrr�
Descriptorr�zs>������
#�
#�
#�
�
�
�
�
0�/�/�/�/rr�c��eZdZdS)�CSpecSignatureTest.test_autospec_data_descriptor.<locals>.MyPropertyNr�rrr�
MyPropertyr��r�rr�c�X��eZdZdgZed���Z�d���Z�d��ZdS)�<SpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo�slotc��dSrrrs r�propzASpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo.prop�s�� �Drc��dSrrrs r�subpropzDSpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo.subprop�s��#�trr&N)r$r%r&�	__slots__�propertyr�r��desc)r�r�s��rrCr��sI���������I�
� � ��X� �
�#�#��Z�#��:�b�>�>�D�D�DrrCc������|t��|ddd��|�ddd��|�ddd��|j�ddd��dS)NrVrlrmror�r�)r<r�abcrU)�	mock_attrrs �r�check_data_descriptorzNSpecSignatureTest.test_autospec_data_descriptor.<locals>.check_data_descriptor�s{����!�!�)�Y�7�7�7��I�a��A�����M�M�!�Q��"�"�"��-�-�a��A�6�6�6��M�1�1�!�Q��:�:�:�:�:r)r.r�rr�r�r�r�)rrCr,r�r�r�s`   @@r�test_autospec_data_descriptorz/SpecSignatureTest.test_autospec_data_descriptorys�����	0�	0�	0�	0�	0��	0�	0�	0�	�	�	�	�	��	�	�	�		"�		"�		"�		"�		"�		"�		"�		"�&�		"�		"�		"��c�"�"��	;�	;�	;�	;�	;�	��c�h�'�'�'���c�k�*�*�*���c�h�'�'�'���c�h�'�'�'�'�'rc��tjtjtj����}|�|��t
��t
|��}|��|���|���trB|�
t��5|ddd��ddd��dS#1swxYwYdS|ddd��|�ddd��dS)Nror�r�)�types�
MethodType�time�ctimer<r5rrUrJr
r�r�)r�meth�mockeds   r�'test_autospec_on_bound_builtin_functionz9SpecSignatureTest.test_autospec_on_bound_builtin_function�s8�����
�D�I�K�K�8�8�����d�d�f�f�c�*�*�*� ��&�&��	������&�&�(�(�(��������	4��"�"�9�-�-�
 �
 ���q�!�Q����
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 �
 �
 �
�F�1�a��O�O�O��*�*�1�a��3�3�3�3�3s�6C�C�Cc��Gd�d��}|��}t|��}|�t|d����dS)Nc��eZdZd�ZdS)�ESpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Fooc�$�td�|��S)Nc��|Srr)�names rr
zcSpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Foo.__getattr__.<locals>.<lambda>�s��D�rr)r�	attributes  rr$zQSpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Foo.__getattr__�s���0�0�)�<�<�<rN)r$r%r&r$rrrrCr��s#������
=�
=�
=�
=�
=rrCr$)rr��hasattr)rrC�proxy�autospecs    r�&test_autospec_getattr_partial_functionz8SpecSignatureTest.test_autospec_getattr_partial_function�sh��	=�	=�	=�	=�	=�	=�	=�	=�
�����"�5�)�)�������:�6�6�7�7�7�7�7rc�|�d�}t|��}|dd��|dd���|�tj|��tj|����|�|jtdd��tdd���g��|�t|d��dS)Nc��dSrrr�s  r�myfuncz=SpecSignatureTest.test_spec_inspect_signature.<locals>.myfunc�rrrVrlr�)rr-�inspect�	signaturerLrr�r�)rr�r1s   r�test_spec_inspect_signaturez-SpecSignatureTest.test_spec_inspect_signature�s�������v�&�&����Q��
�
�
���q�A���������*�4�0�0�'�2C�F�2K�2K�L�L�L������4��1�:�:�t�a�1�~�~�~�*F�G�G�G����)�T�1�-�-�-�-�-rc	�D�d
dtdtdtdtfd�}|�|ddd	�
��d��t|��}|ddd	�
��|dd	�
��|�tj|��tj|����|�|jt
ddd	�
��t
dd	�
��g��|�t|d��|�t|ddd	d�
��dS)Nr�rr�c�returnc��||z|zSrr)rrr�s   rr,zFSpecSignatureTest.test_spec_inspect_signature_annotations.<locals>.foo�s���q�5�1�9�rrVrlrm)r�r�ro)r�)	r�r-rr�r�rLrr�r�)rr,r1s   r�'test_spec_inspect_signature_annotationsz9SpecSignatureTest.test_spec_inspect_signature_annotations�s,��	�	�3�	�3�	��	��	�	�	�	�	
�����Q��a����!�,�,�,��s�#�#����Q��Q�������Q�!���������*�4�0�0�'�2C�C�2H�2H�I�I�I������4��1��?�?�?�D��a�L�L�L�*I�J�J�J����)�T�1�-�-�-����)�T�1�a��a��8�8�8�8�8rc�`�d�}t|��}|�|jd��dS)Nc��dS)N�noperrrrr
z>SpecSignatureTest.test_spec_function_no_name.<locals>.<lambda>�s��v�r�funcopy)rr-r$)r�funcr1s   r�test_spec_function_no_namez,SpecSignatureTest.test_spec_function_no_name�s4���~���t�$�$�������	�2�2�2�2�2rc�2�d�}t|��}|d��|�td��g��|�t��5|�td��g��ddd��dS#1swxYwYdS)Nc��dSrrr�s rr�z@SpecSignatureTest.test_spec_function_assert_has_calls.<locals>.f�rrrVrl)rrXrr�r�r}s   r�#test_spec_function_assert_has_callsz5SpecSignatureTest.test_spec_function_assert_has_calls�s�������q�!�!����Q�������t�A�w�w�i�(�(�(�
�
�
�~�
.�
.�	-�	-��!�!�4��7�7�)�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�$B�B�Bc��d�}t|��}|d��|�d��|�t��5|�d��ddd��dS#1swxYwYdS)Nc��dSrrr�s rr�z?SpecSignatureTest.test_spec_function_assert_any_call.<locals>.f�rrrVrl)rrYr�r�r}s   r�"test_spec_function_assert_any_callz4SpecSignatureTest.test_spec_function_assert_any_call�s�������q�!�!����Q�������Q����
�
�
�~�
.�
.�	$�	$�� � ��#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�
A0�0A4�7A4c��d�}t��}t||���}|d��d��|�|jt	d��g��|�|jt	d��g��|���|�|jg��|�|jg��dS)Nc��dSrrr�s rr�z:SpecSignatureTest.test_spec_function_reset_mock.<locals>.f�rrr�rVrl)rrr-rLrrJ)rr��rvr1s    r�test_spec_function_reset_mockz/SpecSignatureTest.test_spec_function_reset_mock�s������
�V�V���q�r�2�2�2�����Q����
�
�
������4��7�7�)�4�4�4�������a���	�2�2�2������������"�-�-�-�������+�+�+�+�+rN))r$r%r&r�r�r�r�r�r�r�r�r�rrr(r3r8r=rCrVrarnrurzr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�r�se������+�+�+�6)�)�)�	(�	(�	(�2�2�2�'�'�'�#�#�#�	%�	%�	%�*�*�*�D�D�D�$-�-�-�!�!�!�(���2E�E�E�86�6�6�,;�;�;�	P�	P�	P�1�1�1�(M�M�M�,#M�#M�#M�LE�E�E�0���*,�,�,�$���0M�M�M�$���%�%�%�80�0�0�"	+�	+�	+�	#�	#�	#�)(�)(�)(�X4�4�4�$
8�
8�
8�
.�
.�
.�
9�
9�
9� 3�3�3�-�-�-�$�$�$�	,�	,�	,�	,�	,rr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�TestCallListc���t��}|�|jt��|dd��|d���|dd��|d���t	dd��t	d���t	dd��t	d���fD]}|�||j���t	d���t	dd��g}|�||j��t	dd��t	d���g}|�||j��t	dd��t	d���g}|�||j��t	dd��g}|�||j��|�t	d��|j��|�t	d��g|j��dS)	NrVrlrmr�ror�r�r�)rr<r�rrr��assertNotIn)rr1rr�callss    r�!test_args_list_contains_call_listz.TestCallList.test_args_list_contains_call_lists����v�v�����d�1�9�=�=�=���Q��
�
�
���q�	�	�	�	���Q��
�
�
���q�	�	�	�	���A�J�J��q�	�	�	�4��1�:�:�t�a�y�y�y�@�	5�	5�D��M�M�$�� 3�4�4�4�4������D��A�J�J�'���
�
�e�T�0�1�1�1��a����T�A�Y�Y�Y�'���
�
�e�T�0�1�1�1��a����T�A�Y�Y�Y�'���
�
�e�T�0�1�1�1��a�������
�
�e�T�0�1�1�1�����f���t�':�;�;�;����$�v�,�,���)<�=�=�=�=�=rc��t��}|dd��|�d���|j����dd���d}|�t|j��|��dS)	NrVrlrmr�r��dog)�catzU[call(1, 2),
 call.foo(a=3),
 call.foo.bar(),
 call.foo.bar().baz('fish', cat='dog')])rr,rErhr-r5rL)rr1rNs   r�test_call_list_strzTestCallList.test_call_list_str s����v�v����Q��
�
�
����1��
�
�
���������6�u��-�-�-�
6�	�	
����T�_�-�-�x�8�8�8�8�8rc�V�tdtzt���}|���}	tj|���t	��}|j|���|�|j	t��t��g��d|_|�|j	t��t��td��g��|���dS#|���wxYw)Nz%s.SomeClass.one)�new_callablerm)rr$r	r�rrrUr/r-rLr�stop)rr�r1r�s    r�test_propertymockzTestCallList.test_propertymock/s����$�x�/�l�K�K�K���w�w�y�y��	��M�M��(�(�*�*�*����A�
�E�E��#�#�%�%�%����T�_�t�v�v�t�v�v�.>�?�?�?��A�E����T�_�t�v�v�t�v�v�t�A�w�w�.G�H�H�H�
�F�F�H�H�H�H�H��A�F�F�H�H�H�H���s�CD�D(c��t��}t��}|t|��_|j}|���|�|t��|�|t��dSr)rr	r�r,rUr<r�)rr�r��returneds    r�test_propertymock_returnvaluez*TestCallList.test_propertymock_returnvalueAsl���K�K���N�N����Q�����5��	�!�!�#�#�#����h�	�2�2�2�� � ��<�8�8�8�8�8rN)r$r%r&rrrrrrrr�r�sP������>�>�>�29�9�9����$9�9�9�9�9rr�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�TestCallablePredicatec��tttttt
fD]$}|�t|�����%dSr)r5�bytesr�r0�tuplerr�r)rr�s  r�	test_typezTestCallablePredicate.test_typeNsC�����T�5�)�<�	,�	,�C��O�O�I�c�N�N�+�+�+�+�	,�	,rc�x�Gd�d��}|��}|�t|����dS)Nc��eZdZd�ZdS)�>TestCallablePredicate.test_call_magic_method.<locals>.Callablec��dSrrrs rr�zGTestCallablePredicate.test_call_magic_method.<locals>.Callable.__call__TrrN)r$r%r&r�rrrr�rSr�rr�)r�r)rr�rrs   r�test_call_magic_methodz,TestCallablePredicate.test_call_magic_methodRsU��	%�	%�	%�	%�	%�	%�	%�	%��8�:�:�����	�(�+�+�,�,�,�,�,rc�n�Gd�d��}|�t|j����dS)Nc�$�eZdZed���ZdS)�ATestCallablePredicate.test_staticmethod.<locals>.WithStaticMethodc��dSrrrrr�
staticfunczLTestCallablePredicate.test_staticmethod.<locals>.WithStaticMethod.staticfuncZrIrN)r$r%r&rMrrrr�WithStaticMethodrYs#������
�"�"��\�"�"�"rr)r�rr)rrs  r�test_staticmethodz'TestCallablePredicate.test_staticmethodXsP��	#�	#�	#�	#�	#�	#�	#�	#�	
���	�"2�"=�>�>�?�?�?�?�?rc�n�Gd�d��}|�t|j����dS)Nc�$�eZdZed��ZdS)�MTestCallablePredicate.test_non_callable_staticmethod.<locals>.BadStaticMethodN)r$r%r&rM�not_callablerrr�BadStaticMethodr#_s������'�<��-�-�L�L�Lrr%�r�rr$)rr%s  r�test_non_callable_staticmethodz4TestCallablePredicate.test_non_callable_staticmethod^sO��	.�	.�	.�	.�	.�	.�	.�	.�����?�#?�@�@�A�A�A�A�Arc�n�Gd�d��}|�t|j����dS)Nc�$�eZdZed���ZdS)�?TestCallablePredicate.test_classmethod.<locals>.WithClassMethodc��dSrr)rHs r�	classfunczITestCallablePredicate.test_classmethod.<locals>.WithClassMethod.classfunces�� $�rN)r$r%r&rLr,rrr�WithClassMethodr*ds#������
�$�$��[�$�$�$rr-)r�rr,)rr-s  r�test_classmethodz&TestCallablePredicate.test_classmethodcsO��	%�	%�	%�	%�	%�	%�	%�	%�	
���	�/�";�<�<�=�=�=�=�=rc�n�Gd�d��}|�t|j����dS)Nc�$�eZdZed��ZdS)�KTestCallablePredicate.test_non_callable_classmethod.<locals>.BadClassMethodN)r$r%r&rLr$rrr�BadClassMethodr1js������&�;�t�,�,�L�L�Lrr2r&)rr2s  r�test_non_callable_classmethodz3TestCallablePredicate.test_non_callable_classmethodisO��	-�	-�	-�	-�	-�	-�	-�	-�����>�#>�?�?�@�@�@�@�@rN)	r$r%r&rrr r'r.r3rrrrrLsy������,�,�,�-�-�-�@�@�@�B�B�B�
>�>�>�A�A�A�A�Arr�__main__)r�r�r��unittestr1rrrrrrr	�	mock.mockr
rrr
r�	functoolsr�pytestr.r�TestCaser(rcr�r�rr$�mainrrr�<module>r;s@������������������������������������2�1�1�1�1�1�1�1�1�1�������������������
�
�
�
�"�"�"�"�"��"�"�"�C%�C%�C%�C%�C%�h��C%�C%�C%�J^
�^
�^
�^
�^
�x� �^
�^
�^
�B	C
,�C
,�C
,�C
,�C
,��)�C
,�C
,�C
,�LD9�D9�D9�D9�D9�8�$�D9�D9�D9�N A� A� A� A� A�H�-� A� A� A�F�z����H�M�O�O�O�O�O��r