Sindbad~EG File Manager
�
*Μg�����ddlZddlZddlZddlZddlmZmZmZmZm Z m
Z
mZmZm
Z
mZddlmZddlmZGd�de�ZGd�dej(�ZGd �d
ej(�ZGd�dej(�ZGd
�dej(�ZGd�dej(�Zedk(rej6�yy)�N)
�call�_Call�create_autospec� MagicMock�Mock�ANY� _CallList�patch�PropertyMock� _callable)�datetime��partialc� �eZdZd�Zd�Zdd�Zy)� SomeClassc��y�N���self�a�bs �D/usr/local/lib/python3.12/test/test_unittest/testmock/testhelpers.py�onez
SomeClass.one����c��yrr�rs r�twoz
SomeClass.twos��4rNc��yrr�rrs r�threezSomeClass.threes��Trr)�__name__�
__module__�__qualname__rrr"rrrrrs����!rrc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�AnyTestc���|jtt��t�}|t�|j t�t�}|t��|j t��y�N��foo)�assertEqualr�objectr�assert_called_with�r�mocks r�test_anyzAnyTest.test_anysO������f�h�'��v���S� �����$��v����
����C��(rc��|jtt�d�|jtt�d�y)Nz<ANY>)r,�reprr�strrs r� test_reprzAnyTest.test_repr"s*������c��G�,�����S��7�+rc��t�}|tj�tj���|jtt��yr))rr
�nowr.rr/s r�test_any_and_datetimezAnyTest.test_any_and_datetime's2���v���X�\�\�^�����0�������-rc�F�t�}Gd�dt�}tj�|�fD]�}|j �||||��|j|||��|�j||��t
ttt��t
j
ttt��t
�t
�jtt��g}|j||j�|j|j|���y)Nc��eZdZd�Zd�Zy)�9AnyTest.test_any_mock_calls_comparison_order.<locals>.Fooc��yrr�r�others r�__eq__z@AnyTest.test_any_mock_calls_comparison_order.<locals>.Foo.__eq__1���Trc��yrrr=s r�__ne__z@AnyTest.test_any_mock_calls_comparison_order.<locals>.Foo.__ne__2r@rN)r#r$r%r?rBrrr�Foor;0s��)�)rrC�r+�bar)�zinga�alpha)�a1�z99)
rr-r
r7�
reset_mock�methodrrr,�
mock_calls)rr0rC�d�expecteds r�$test_any_mock_calls_comparison_orderz,AnyTest.test_any_mock_calls_comparison_order.s����v�� *�&� *�������&�A��O�O�����q�!��K�K���!�K�,��F�M�M�Q�A�M�&��S�c�s�+����C�s�#�6�����
�
��#�
�6��H�
���X�t���7����T�_�_�h�7�'rc���Gd�d�}t�}||�d�|jttd�g�|j td�|jtd�y)Nc��eZdZd�Zy)�%AnyTest.test_any_no_spec.<locals>.Fooc��yrrr=s rr?z,AnyTest.test_any_no_spec.<locals>.Foo.__eq__Fr@rN�r#r$r%r?rrrrCrRE���)rrC��r�assert_has_callsrrr.�assert_any_call�rrCr0s r�test_any_no_speczAnyTest.test_any_no_specCsV�� *� *��v���S�U�A�����t�C��|�n�-�����Q�'����S�!�$rc���Gd�d�}t|��}||�d�|jttd�g�|j td�|jtd�y)Nc��eZdZd�Zy)�*AnyTest.test_any_and_spec_set.<locals>.Fooc��yrrr=s rr?z1AnyTest.test_any_and_spec_set.<locals>.Foo.__eq__Qr@rNrTrrrrCr^PrUrrC)�specrVrWrZs r�test_any_and_spec_setzAnyTest.test_any_and_spec_setNsX�� *� *���~���S�U�A�����t�C��|�n�-�����Q�'����S�!�$rN) r#r$r%r1r5r8rOr[rarrrr'r's �� )�,�
.�8�* %�
%rr'c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�CallTestc ��t�}|j|t��|j|td��|j|td��|j|tif��|j|td��|j|tdif��|j|tddif��|j|td��|j|td��|j|tdif��|j|td dif��td
�}|j|td
��|j|td��|j|tdif��|j|tddif��td
�}|j|td��|j|tddif��td�}|j|td��|j|tddif��|j|td��|j|tddif��tddif�}|j|tddddif��|j|tdddif��|j|tdddif��|j|tddif��y)N)��r)rerrerr*�rEr�baz�spam��rV��)rerkrk)�rVrl�)r+rn)rernrn)rErnrErrm�rr,�assertNotEqual)r�kalls r�test_call_with_callzCallTest.test_call_with_call\s����w������u�w�'�����u�U�|�,�����u�U�|�,�����u�b�U�|�,�����u�X��/�����u�b�"�X��/�����u�b�"�b�\�2�3�����u�X��/�����u�[�1�2�����u�e�R�[�1�2�����u�f�b�"�%5�6�7��\�"������u�\�2�3�����u�_�5�6�����u�i��_�5�6�����u�b�)�R�%8�9�:��\�"�����D�%��"8�9����D�%��Y��(;�"<�=��(�)�����D�%��"8�9����D�%��Y��(;�"<�=����D�%�(:�";�<����D�%�� �2�(>�"?�@��s�A�h�[�!������u�b�"�s�A�h�%7�8�9�����u�b�3��(�^�4�5�����u�b�3��(�^�4�5�����u�s�A�h�[�1�2rc� �t�}|j|d�|j|d�|j|d�|j|d�|j|ddif�|j|dif�|j|if�y)Nrr*rf�r+rr+)rr,�r�argss r�test_empty__CallzCallTest.test_empty__Call�s����w������r�"�����x�(�����u�%�����{�+������b�"�~�.������r�{�+������u�%rc��tddif�}|j|d�|j|d�|j|ddif�|j|dif�|j|d�|j|d�|j|if�|j|d�|j|d�|j|dif�y) 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�(�tdif�}|j|d�|j|d�|j|ddif�|j|dif�|j|jd�|j|ji�y)Nrkrj�r+rkr+)rr,rw�kwargsrvs r�test_call_with_argszCallTest.test_call_with_args�s����i��_�%������|�,�����1�2������y�"�5�6����� �2��/�������I�.�������b�)rc�*�tddif�}|j|d�|j|ddif�|j|jd�|j|ji�|j |d�|j |dif�y)Nr+rkr|rj)rr,rwr}rqrvs r�test_named_call_with_argsz"CallTest.test_named_call_with_args�s����e�Y��+�,������1�2������y�"�5�6�������I�.�������b�)����D�,�/����D�9�b�/�2rc ��tdtdd��f�}|j|tdd��f�|j|dtdd��f�|j|ddtdd��f�|j|dtdd��f�|j|jd�|j|jtdd���y)Nrrmro�rrr+)r�dictr,rwr}rvs r�test_call_with_kwargszCallTest.test_call_with_kwargs�s����b�$��a�.�)�*�������q�A��0�1������t�a�1�~�6�7������r�4�!�q�>�:�;������D�1��N�3�4�������B�'�������d�Q�!�n�5rc ��tddtdd��f�}|j|dtdd��f�|j|ddtdd��f�|j|jd�|j|jtdd���|j|tdd��f�|j|dtdd��f�y)Nr+rrmror�)rr�r,rwr}rqrvs r�test_named_call_with_kwargsz$CallTest.test_named_call_with_kwargs�s����e�R���Q��0�1�������t�a�1�~�6�7������r�4�!�q�>�:�;�������B�'�������d�Q�!�n�5����D�4�!�q�>�"3�4����D�2�t�a�1�~�"6�7rc���tdif�}|j|tddd��|jtddd�|�|jtddd�|g�y)NrkrVrlrm)rr,r�assertInrvs r�#test_call_with_args_call_empty_namez,CallTest.test_call_with_args_call_empty_name�sX���i��_�%������t�A�q�!�}�-�����a��A���-��
�
�d�1�a��m�d�V�,rc���|jtd�tdd��|jtd�tddd�k7�|j tdif�tddd�k7�y)NrjrVrlrm�rVrl)rqrr�assertFalse�
assertTruers r�test_call_nezCallTest.test_call_ne�s_�����E�,�/��a���<�����|�,��Q��1�
�=�>�����v�r�l�+�t�A�q�!�}�<�=rc��td�}dd|tfD](}|j||�|j||k(��*y)NrjrV)r�intrqr�)rrr�values r�test_call_non_tupleszCallTest.test_call_non_tuples�sA���\�"����d�C�'�E�����e�,����T�U�]�+�(rc
��|jtt��d�|jttd��d�|jttdddif��d�|jttddddif��d �|jtt�d
�|jt t�d
�|jtt��d�|jttd��d�|jttd
���d�|jtt�j
�d�|jttd�j
j
d��j�d�|jtt�jddd���d�|jtt���d�|jttd�d��d�|jtt��j
�jjd��d�y)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,r3rrr4r+rE�bingrh�beeprs rr5zCallTest.test_repr�s�������e�g���1�����e�H�o�.��=�����e�Y��c�
�$;�<�=�/� 1�����e�U�I��S�z�$B�C�D�3� 5�
����d��V�,�����T��F�+�����d�f��x�0�����d�1�g�� �2�����d�g�.�/�1C�D�����d�f�j�j�)�<�8�����d�1�g�k�k�o�o��o�2�7�7�8�0� 2���������A�q�A��&�'�#�
�
����f�d�f�h���4�����g�d�1�g�a�j�)�;�7������������#�#�(�(��+�,�(�
rc�,�|jt�ddif�|jtdddd��ddddd�f�t�}|d d
d�|dd��|j|jtd d
d�tdd��g�y)
Nrerr+rErmro)rrrDrVrl�r�)r,rr�call_args_listr/s r� test_callzCallTest.test_call�s��������"�b�"��.�����e�U��q�9��n�a��.B�C� E��v���Q��1�
��q�A������,�,��q�!�Q�-���Q��8� :rc���|jtjd�ddif�|jtjj d��ddddif�t�}|jdd d
�|jj d
d��|j|jtjdd d
�tjj d
d��g�y)
NrVr+)rV�eggs)�fishzbar.bazrr�rlrmr�r�)r,rr+rErhr�method_callsr/s r�test_attribute_callzCallTest.test_attribute_call
s���������!��u�d�B�&7�8���������6��2�#�R�&�&�)9�:� <��v������A�q�������q�A�������*�*��(�(�1�a��+�T�X�X�\�\�A��\�-C�D� Frc ��td�jd�jdd��}|j|ddt d��f�t�}|dddd��|j|jtdddd���|j|jtddd��|j|jtdddd��g�|j|jtdddd��g�t�}|jd�j��jjd ��tjd�j��jjd ��}|j|jd
|�|j|j|j��y)NrVrlrmror�z().foo().bar�rmr�r����)
rr+rEr,r�r� call_argsrqr�rLrhr�� call_list)r�resultr0� last_calls r�test_extended_callzCallTest.test_extended_callsi���a����Q��#�#�A��#�+������.�$��q� �!B�C��{���Q��Q�!���������a��a�1�)=�>����D�N�N�D��A�q�M�:�����,�,�t�A�q�A��/C�.D�E�������4��1��Q�+?�*@�A��{��������������$�$�q�$�)�%�D�H�H�Q�K�O�O�%�'�+�+�0�0�1�0�5� ��������,�i�8�������)�*=�*=�*?�@rc���td��j}td��j}|j||�|j||�|j||�y�NrV��xrl)rr+r,rqrs r�test_extended_not_equalz CallTest.test_extended_not_equal*sL���1�I�M�M���1�I�M�M������A������A�����A�q�!rc��td��j�j}td��j�j}|j||�|j||�|j ||�yr�)rr+rEr,rqrs r�test_nested_calls_not_equalz$CallTest.test_nested_calls_not_equal2s\���1�I�M�M�O�����1�I�M�M�O��������A������A�����A�q�!rc���t�}|d�|jtd�j�|j�t�}|d�jd�|jtd�jd�j�|j�t�}|d�jd�d�|jtd�jd�d�j�|j�t�}t
|d�jd�d�jjjd�d��td�jd�d�jjjd�d�j�}|j|j�|j�y)NrVrlrmro�)rr,rr�rLrKr�r+rErh�__int__)rr0rrs r�test_call_listzCallTest.test_call_list:sk���{���Q������a��*�*�,�d�o�o�>��{���Q����q������a�����*�4�4�6���� *��{����Q����q��!�����*��a�����*�1�-�7�7�9���� *��{���/��D��G�N�N�1��a� �$�$�(�(�,�,�Q�/��2�3�2� �t�A�w�~�~�a� ��#�'�'�+�+�/�/��2�1�5�=�=�?��������)�4�?�?�;rc���|jtt�t�}t |�|j|j
tg�|jtg|j
�yr)r,rrrr�rL�r�ms r�
test_call_anyzCallTest.test_call_anyOsL������s�#��K���A���������u�-����#�����-rc��tdddifd��}|jt|�d�|j|dd�|j|dddi�tdddif�}|j||�y) Nr�rrmT)rrlrrV)rr,�len)rrw�
other_argss r�test_two_args_callzCallTest.test_two_args_callXsz���f�s�A�h�'�T�2������T��A�&�����a��&�)�����a��3��(�+��F�S�!�H�-�.�
�����z�*rc���|jtdd�dd�|jtd�dd�|jtdddif�dd�y) Nrr+r)�rE�barzrer��hello�world)r,rrs r�test_call_with_namezCallTest.test_call_with_nameas]������r�5�)�!�,�e�4�����1�3�A�6��;������'�7�1C�D�F�q�I�2�Nrc ��t�}|�j�d�|j|jt �t �j�t �j�jd�t �j�j��g�t�}d|�j�d<|j|jt �t �j�t �j�j
dd�g�t�}t|�j��|j|jt �t �j�t �j�j�g�y)NrErV) rr+r,rLr�__getitem__�__setitem__�iter�__iter__r�s r�test_dunder_callzCallTest.test_dunder_callfs���K������� �%������
�L�L�
�V�T�V�Z�Z�\�4�6�:�:�<�#;�#;�E�#B�D^�D�F�J�J�L�D\�D\�D^�D`�a�
�
�K������� �%�����
�L�L�
�V�T�V�Z�Z�\�4�6�:�:�<�#;�#;�E�1�#E�F�
�
�K���Q�S�W�W�Y�����
�L�L�
�V�T�V�Z�Z�\�4�6�:�:�<�#8�#8�#:�;�
rN)r#r$r%rsrxrzr~r�r�r�r�r�r�r5r�r�r�r�r�r�r�r�r�r�rrrrcrcZso��"3�J &�
/� *� 3�6� 8�-�>�,�
�> :� F�A�("�"�<�*.�+�O�
rrcc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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*y))*�SpecSignatureTestc��|jtt|d�|jdd�|jj dd�|jt
|jjdd�|jt|jd�|j�|jj �|jt
|jjd�|jt|jd�|j�|jj �|jt
|jjd�|jt|jdd�|jd�|jj d�|jd��|jj d��y)Nr+rVrlrmror�) �assertRaises�AttributeError�getattrrr.�AssertionError� TypeErrorrr"r/s r�_check_someclass_mockz'SpecSignatureTest._check_someclass_mock}sK�����.�'�4��?�����A�����#�#�A�q�)����.��(�(�5�5�q�!� =����)�T�X�X�q�1����
����#�#�%����.��(�(�5�5�q� :����)�T�X�X�q�1��
�
���
�
�%�%�'����.��*�*�7�7�� <����)�T�Z�Z��A�6��
�
�1�
��
�
�%�%�a�(��
�
�Q�
���
�
�%�%��%�*rc��tt�}|j|�tt��}|j|�yr)rrr�r/s r�
test_basiczSpecSignatureTest.test_basic�s4���y�)���"�"�4�(��y�{�+���"�"�4�(rc��d�}t|d��}|j|�d�Gd�dt�}t|d��}|j|�d�y)Nc��yrrrrr�fz>SpecSignatureTest.test_create_autospec_return_value.<locals>.f�s��rr+��return_valuec��eZdZy)�@SpecSignatureTest.test_create_autospec_return_value.<locals>.FooN�r#r$r%rrrrCr�����rrC)rr,r-)rr�r0rCs r�!test_create_autospec_return_valuez3SpecSignatureTest.test_create_autospec_return_value�sO����q�u�5��������'� �&� ��s��7��������'rc��tt�}t|�|j�|j|jj
d�y)Nr)rr�rJr,r��
call_countr�s r�test_autospec_reset_mockz*SpecSignatureTest.test_autospec_reset_mock�s6���C� ���A�� ����������-�-�q�1rc��Gd�dt�}tj|d�}|j�}|�jd�|j d�y)Nc��eZdZd�Zy)�;SpecSignatureTest.test_mocking_unbound_methods.<locals>.Fooc��yrr)rr+s rr+z?SpecSignatureTest.test_mocking_unbound_methods.<locals>.Foo.foo����rN�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�sD�� %�&� %��L�L��e�$���7�7�9���� � �!���#�#�A�&rc�t�Gd�dt�}t|d��}|j|jd�y)Nc��eZdZdZy)�ESpecSignatureTest.test_create_autospec_keyword_arguments.<locals>.FoormN�r#r$r%rrrrrCr������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�|jd�|jt|dd�|dd��|jdd��y)N�rc��yrrr�s rr+zJSpecSignatureTest.test_create_autospec_keyword_only_arguments.<locals>.foo�s��trrVrlrm)rr.r�r�)rr+r�s r�+test_create_autospec_keyword_only_argumentsz=SpecSignatureTest.test_create_autospec_keyword_only_arguments�sW���#��C� �� �!�� ���Q�����)�Q��1�-� �!�q� � ���Q�!��$rc��t�}d�}||_t|�}|jd�|jjd�y)Nc��yrrr�s rr�z@SpecSignatureTest.test_function_as_instance_attribute.<locals>.f����$rr�)rr�rr.)r�objr�r0s r�#test_function_as_instance_attributez5SpecSignatureTest.test_function_as_instance_attribute�s:���k�������s�#�����v�����!�!�&�)rc��tg�}|jd�|jjd�|jtt
|d�Gd�dt�}t|�}|jjd�|jjjd�|jtt
|jd�y)Nr+c��eZdZgZy)�0SpecSignatureTest.test_spec_as_list.<locals>.FooNr�rrrrCr��s���CrrCrm)r�appendr.r�r�r�r-r+)rr0rCs r�test_spec_as_listz#SpecSignatureTest.test_spec_as_list�s����r�"�����E�����&�&�u�-����.�'�4��?� �&� ��s�#��������������*�*�1�-����.�'�4�8�8�U�Crc��Gd�dt�}t|�}||jfD]}|j|��y)Nc��eZdZe�Zy)�.SpecSignatureTest.test_attributes.<locals>.SubN�r#r$r%r�attrrrr�Subr�� ���;�Drr)rrrr�)rr�sub_mockr0s r�test_attributesz!SpecSignatureTest.test_attributes�s;�� �)� �#�3�'���x�}�}�-�D��&�&�t�,�.rc�j��Gd�dt��G�fd�dt�}t|�}|jd�|jt�5|j�ddd�|jt�5|jdd�ddd�y#1swY�:xYw#1swYyxYw)Nc��eZdZd�Zy)�VSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptorc��|�d�Sy)Nc��yrrr�s r�<lambda>zpSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.CrazyDescriptor.__get__.<locals>.<lambda>�r@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���eZdZW��Zy)�NSpecSignatureTest.test_spec_has_descriptor_returning_function.<locals>.MyClassN)r#r$r%� some_attr)rs�r�MyClassr�s���'�)�IrrrVrl)r-rrr�r�)rrr0rs @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&�)B2c���G�fd�dt����}|jt�5|jddd�|j |jd�d�t
|�}|jd�|jt�5|j�ddd�|jt�5|jdd�ddd�y#1swY��xYw#1swY�FxYw#1swYyxYw)Nc�(���eZdZ��fd�Zd�Z�xZS)�ISpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClassc�(��t�|��dgzS)N�crazy)�super�__dir__)r�
CrazyClass� __class__s ��rrzQSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__dir__
s����Z��6�8�'��B�Brc�(�|dk(rd�St|��)Nrc��|Srrr�s rrzgSpecSignatureTest.test_spec_has_function_not_in_bases.<locals>.CrazyClass.__getattr__.<locals>.<lambda>s��Qr�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__)r!r s@�rr rs���
C�
+rr �*rVrl)r-r�r�r>r,rrr�)r�instr0r s @r�#test_spec_has_function_not_in_basesz5SpecSignatureTest.test_spec_has_function_not_in_bases s���� +�� +��|��
�
�
�~�
.��J�J�/�������B���,��t�$���
�
�2��
�
�
�y�
)��J�J�L�*�
�
�
�y�
)��J�J�q�!��*�
)�/�
.��*�
)��
)�
)�s#�
C �C,�C8� C)�,C5�8Dc�<�Gd�dt�}t|�}|jd�|jjd�|j t
t|jd�|jd�|jjd�|j t|jdd�|j t
t|jd�|jddg�|jjddg�|j t
t|jd�|jjd�|jjjd�|j t
t|jd�y)Nc��eZdZd�ZeZiZy)�GSpecSignatureTest.test_builtin_functions_types.<locals>.BuiltinSubclassc��yrr)r�args rrEzKSpecSignatureTest.test_builtin_functions_types.<locals>.BuiltinSubclass.bar'r�rN)r#r$r%rE�sortedrrrr�BuiltinSubclassr-&s��$��F��Drr1rmr+rErVrl)�listrr�r.r�r�r�rEr�r0r�pop�rr1r0s r�test_builtin_functions_typesz.SpecSignatureTest.test_builtin_functions_types"s�� �d� �
��/�����A�����&�&�q�)����.�'�4�;�;��F���������#�#�E�*����)�T�X�X�u�e�<����.�'�4�8�8�U�C����Q��F�����&�&��1�v�.����.�'�4�;�;��F�� � �
�
�a��� � �
�
�(�(��+����.�'�4�9�9�e�Drc��Gd�dt�}t|�}|jdd�|j�|j d�tjdd�tj�tjd�g}|j
|j|�|jjdd�|jj�|jj d�|jt
jjdd�t
jj�t
jj d�g�|j
|j|�y)Nc��eZdZe�Zy)�0SpecSignatureTest.test_method_calls.<locals>.SubNrrrrrr8?rrrrVrlrm)
rrrrr"rr,r�r�extend)rrr0rNs r�test_method_callsz#SpecSignatureTest.test_method_calls>s��� �)� ��s�#������A�����
��
�
�1�
��H�H�Q��N�D�H�H�J��
�
�1�
�>������*�*�H�5�� � �
�
�a���� � �
�
��� � ��������
�Y�Y�]�]�1�a�
�$�)�)�-�-�/�4�9�9�?�?�1�3E�F�
�
����*�*�H�5rc��Gd�dt�}t|�}|jt|�g�|jtt
|�|jtt
|j�|jt|�g�|j|dt�|j|jdt�y)Nc��eZdZiZy)�=SpecSignatureTest.test_magic_methods.<locals>.BuiltinSubclassN)r#r$r%rrrrr1r=Us���Drr1r+) r2rr,r�r�r�r�assertIsInstancerr4s r�test_magic_methodsz$SpecSignatureTest.test_magic_methodsTs��� �d� ���/������d��R�(����)�S�$�/����)�S�$�)�)�4�����d��R�(����d�5�k�9�5����d�i�i��.� �:rc��Gd�dt�}||�fD]d}t|d��}|j|�|jtt
|dd�|jtt
|jdd��fy)Nc��eZdZe�Zy)�,SpecSignatureTest.test_spec_set.<locals>.SubNrrrrrrBcrrrT)�spec_setr+rE)rrr�r�r��setattrr)rrr`r0s r�
test_spec_setzSpecSignatureTest.test_spec_setbsj�� �)� ��#�%�L�D�"�4�$�7�D��&�&�t�,����n�g�t�U�E�J����n�g�t�y�y�%��O�!rc�^�Gd�dt�}Gd�d|�}Gd�dt|�}||�||�||�fD]i}t|�}|jdd�|jj dd�|jd d
�|j
j d d
��ky)Nc�,�eZdZed��Zed��Zy)�/SpecSignatureTest.test_descriptors.<locals>.Fooc��yrr)�clsrrs rr�z1SpecSignatureTest.test_descriptors.<locals>.Foo.fp���"rc��yrrr�s r�gz1SpecSignatureTest.test_descriptors.<locals>.Foo.grs��rN)r#r$r%�classmethodr��staticmethodrMrrrrCrHos��
�"��"�
���rrCc��eZdZy)�/SpecSignatureTest.test_descriptors.<locals>.BarNr�rrr�BarrQu��rrRc��eZdZy)�/SpecSignatureTest.test_descriptors.<locals>.BazNr�rrr�BazrUwrSrrVrVrlrmro)r-rrr��assert_called_once_withrM)rrCrRrVr`r0s r�test_descriptorsz"SpecSignatureTest.test_descriptorsns��� �&� � �#��'�)�S�'��#�%��c�e�S�#�%�8�D�"�4�(�D��F�F�1�a�L��F�F�*�*�1�a�0��F�F�1�a�L��F�F�*�*�1�a�0�
9rc��Gd�dt�}||_t|�}|�|j|jj�|j�|jj�|j
|jtj
�tjj�g�|j|j|j�|j|j|j�|jj�|jt|jjj �y)Nc��eZdZd�ZdZeZy)�+SpecSignatureTest.test_recursive.<locals>.Ac��yrrrs rrz-SpecSignatureTest.test_recursive.<locals>.A.a�rrzfoo bar bazN)r#r$r%rr+rErrr�Ar[�s����C��Crr])r-�Brr��calledrr,r�r�assertIsr+rE�assertIsNot�lowerr�r�r.)rr]r0s r�test_recursivez SpecSignatureTest.test_recursive�s��� �� �
����q�!������������'����������
�����*�*�T�V�V�X�t�v�v�x�x�z�,B�C��
�
�a�e�e�Q�U�U�#�������4�8�8�,����������.�$�(�(�.�.�*K�*K�Lrc�8�Gd�dt�}t|�}|j||��||�fD]�}|jd��|jj d��|jj d�|jt|jdd�|jtt|d���t|��}|jd�|jj d�|jj d��|jt|jdd�|jtt|d�|jt|�|jjd�|jjj d�|jjj d� �|jtt|jd
�|j�jd�|j�jj d�|j�jj d� �|jtt|j�d
�y)Nc�(�eZdZd�ZGd�de�Zy)�@SpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Fooc��yrr)rr�s rrzBSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.a����Drc��eZdZd�Zy)�DSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.Barc��yrr)r�ys rr�zFSpecSignatureTest.test_spec_inheritance_for_classes.<locals>.Foo.Bar.f�r�rN�r#r$r%r�rrrrRrj�s��$rrRN)r#r$r%rr-rRrrrrCrf�s�� �
%�f�
%rrCr�r�r+rErr�)rlrM)r-rrarr.r�r�r�r�rRr�)rrC�
class_mock� this_mock�
instance_mocks r�!test_spec_inheritance_for_classesz3SpecSignatureTest.test_spec_inheritance_for_classes�s��� %�&� %�
%�S�)�
�����Z�\�2�#�Z�\�1�I��K�K�!�K���K�K�*�*�Q�*�/��K�K�*�*�1�-����i����e�U�C����n�g�y�#�F�2�(���.�
���������*�*�1�-����*�*�Q�*�/����)�]�_�_�e�U�C����.�'�=�#�F�
���)�]�3������A�������.�.�q�1������.�.��.�3����.�'�=�3D�3D�c�J�������a� �������0�0��3�������0�0�1�0�5����.�'�=�3D�3D�3F��Lrc��Gd�dt�}||_t|�}|�}|jtt
|d�|j�}|jtt
|d�t|��}|jtt
|d�|jt|�|j�}|jtt
|d�y)Nc��eZdZdZy)�+SpecSignatureTest.test_inherit.<locals>.FoormNr�rrrrCrt�r�rrCr)r-rCrr�r�r�r�)rrCr0�instance�
attr_instance�call_results r�test_inheritzSpecSignatureTest.test_inherit�s��� �&� �����s�#���6�����.�'�8�S�A����
�
����.�'�=�#�F��s�u�%�����.�'�4��=����)�T�*��h�h�j�����.�'�;��Drc��td�tt�td�tt�ti�tt�tg�tt�tt��tt
�td�tt�td�tt�td�td�y)NrVr+g�?y�?FT)rr�r4r�r2�set�float�complexrs r�
test_builtinszSpecSignatureTest.test_builtins�s��������������������������������������������� ������rc���d�}t|�}|jt|�|dd�|jdd�|jdd��|jdd��||_t|�}|jt|j�|j dd�|jjdd�|jjdd��y)Nc��yrrr�s rr�z*SpecSignatureTest.test_function.<locals>.f�s��TrrVrlr�r�rmro)rr�r�r.r��rr�r0s r�
test_functionzSpecSignatureTest.test_function�s�����q�!�����)�T�*��Q��
�����1�%�����Q��'����!�q��)�����q�!�����)�T�V�V�,����q�!�����!�!�!�Q�'����!�!�A��!�+rc����Gd�dt��G�fd�dt�}|j|jdd�d�t|��|j t
�fd��|j�jdd��jj�|j t�fd ���j}|j|jfy)
Nc��eZdZdd�Zy)�;SpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserNc��|�td��y)Nz$Can only be accessed via an instancer$)rr��types rrzCSpecSignatureTest.test_skip_attributeerrors.<locals>.Raiser.__get__�s���;�(�)O�P�P�rrrrrr�Raiserr��s��
Qrr�c�.��eZdZW��Zed��Zy)�@SpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserClassc��||zSrrr�s r�existingzISpecSignatureTest.test_skip_attributeerrors.<locals>.RaiserClass.existings���1�u�rN)r#r$r%�raiserrOr�)r�s�r�RaiserClassr�s����X�F�
�
��
rr�rVrlrmc�*���jddd�S)NrVrlrm)r�)r��ss �rrz=SpecSignatureTest.test_skip_attributeerrors.<locals>.<lambda>s���q�z�z�!�Q��/Brc����jSr)�nonexisting)r�s�rrz=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_attributeerrors�s���� Q�V� Q�
�&� �
����-�-�a��3�Q�7��K�(�����)�%B�C�������A�q�)�1�:�:�+B�+B�C����.�*?�@��h�h��������rc��Gd�dt�}t|�}|jt|�|d�|j d�|j d��|jt
|jd�|dd�|j
dd�|j
dd��|jt
|jdd��y) Nc��eZdZdd�Zy)�3SpecSignatureTest.test_signature_class.<locals>.Fooc��yrrrs r�__init__z<SpecSignatureTest.test_signature_class.<locals>.Foo.__init__s��rNr��r#r$r%r�rrrrCr�s��,rrCrVr�rlror�r�)r-rr�r�rWr�r.rZs r�test_signature_classz&SpecSignatureTest.test_signature_classs��� -�&� -��s�#�����)�T�*��Q���$�$�Q�'��$�$�q�$�)����.�$�*F�*F��J��Q��
�����1�%����!�q��)����.�$�*A�*A�Q�!��Lrc�8�Gd�dt�}t|�y)Nc��eZdZy)�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�f�Gd�dt�}t|�}|dd�|jdd�|jdd��|jt|d�|dd�}|jt|�|d��|jd�|jd��|d�|jd�|jd��t|dd��}|d��|jd��|jt|�|d�|jd�y)Nc��eZdZd�Zd�Zy)�;SpecSignatureTest.test_signature_callable.<locals>.Callablec��yrr)rr�rls rr�zDSpecSignatureTest.test_signature_callable.<locals>.Callable.__init__1s��drc��yrrr!s r�__call__zDSpecSignatureTest.test_signature_callable.<locals>.Callable.__call__2s��4rN)r#r$r%r�r�rrr�Callabler�0s��*�'rr�rVrl�r�rlrr�)r-rrWr�r�r.)rr�r0rus r�test_signature_callablez)SpecSignatureTest.test_signature_callable/s�� (�v� (��x�(���Q��
��$�$�Q��*��$�$�q�A�$�.����)�T�3�/���1�:�����)�X�.��3���(�(��-��(�(�3�(�/���
��#�#�C�(��#�#�c�#�*��x��1�~�.���s���$�$�s�$�+����)�T�*��S� �����$rc�h�Gd�dt�}t|�}|�}|j�|jt|d�|jt|�|jt|d�t|��}|jt|�|jt|d�y)Nc��eZdZd�Zy)�ASpecSignatureTest.test_signature_noncallable.<locals>.NonCallablec��yrrrs rr�zJSpecSignatureTest.test_signature_noncallable.<locals>.NonCallable.__init__Ms��rNr�rrr�NonCallabler�Ls��
rr�r)r-rrWr�r�)rr�r0rus r�test_signature_noncallablez,SpecSignatureTest.test_signature_noncallableKs��� �&� ��{�+���6���$�$�&����)�T�3�/����)�X�.����)�X�s�3��{�}�-�����)�T�*����)�T�3�/rc���Gd�dt�}t|�}|j}|j|t d��|j�|j
j
�y)Nc��eZdZdZy)�8SpecSignatureTest.test_create_autospec_none.<locals>.FooN)r#r$r%rErrrrCr�]s���CrrC)r-rrE�assertNotIsInstancer�r+rW)rrCr0�nones r�test_create_autospec_nonez+SpecSignatureTest.test_create_autospec_none\sP�� �&� ��s�#���x�x��� � ��t�D�z�2����
����(�(�*rc�Z�Gd�dt�}t|�}|jd�|jjd�|jjd��|jd��|jjd�|jjd��y)Nc��eZdZd�Zy)�MSpecSignatureTest.test_autospec_functions_with_self_in_odd_place.<locals>.Fooc��yrr)rrs rr�zOSpecSignatureTest.test_autospec_functions_with_self_in_odd_place.<locals>.Foo.fjrhrNrmrrrrCr�is�� rrC�
r)r-rr�r.)rrCrs r�.test_autospec_functions_with_self_in_odd_placez@SpecSignatureTest.test_autospec_functions_with_self_in_odd_placehs��� !�&� !�
�C� �� ���B�� �����r�"� �����B��'� ������ �����r�"� �����B��'rc�����Gd�dt��Gd�dt��G��fd�dt�}t|�}�fd�}||j�||j�||j
�||j�y)Nc� �eZdZd�Zdd�Zd�Zy)�CSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptorc��||_yr)r�)rr�s rr�zLSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__init__ws ��"��
rNc��|Srr)rr�rJs rrzKSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__get__zs���rc��yrr)rr�r�s r�__set__zKSpecSignatureTest.test_autospec_data_descriptor.<locals>.Descriptor.__set__}s��4rr)r#r$r%r�rr�rrr�
Descriptorr�vs��
#�
�
0rr�c��eZdZy)�CSpecSignatureTest.test_autospec_data_descriptor.<locals>.MyPropertyNr�rrr�
MyPropertyr�r�rr�c�H��eZdZdgZed��ZW�d��ZW�d�Zy)�<SpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo�slotc��yrrrs r�propzASpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo.prop�s�� rc��yrrrs r�subpropzDSpecSignatureTest.test_autospec_data_descriptor.<locals>.Foo.subprop�s��#rr(N)r#r$r%� __slots__�propertyr�r��desc)r�r�s��rrCr��s/�����I�
� �� �
�#��#��b�>�DrrCc�����j|t�|ddd�|jddd�|jddd�|jjddd�y)NrVrlrmror�r�)r>r�abcrW)� mock_attrrs �r�check_data_descriptorzNSpecSignatureTest.test_autospec_data_descriptor.<locals>.check_data_descriptor�sW����!�!�)�Y�7��a��A���M�M�!�Q��"��-�-�a��A�6��M�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_descriptorusj��� 0�� 0� �� � "�&� "��c�"�� ;� �c�h�h�'��c�k�k�*��c�h�h�'��c�h�h�'rc�D�tjtjtj��}|j |�t
�t
|�}|�|j�|j�|ddd�|jddd�y)Nror�r�) �types�
MethodType�time�ctimer>r4rrWrJ)r�meth�mockeds r�'test_autospec_on_bound_builtin_functionz9SpecSignatureTest.test_autospec_on_bound_builtin_function�sv������
�
�D�I�I�K�8�����d�f�c�*� ��&�� ���&�&�(������q�!�Q���&�&�q�!�Q�/rc�r�Gd�d�}|�}t|�}|jt|d��y)Nc��eZdZd�Zy)�ESpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Fooc��td�|�S)Nc��|Srr)�names rrzcSpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Foo.__getattr__.<locals>.<lambda>�s��Drr)r� attributes rr&zQSpecSignatureTest.test_autospec_getattr_partial_function.<locals>.Foo.__getattr__�s���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�s4�� =� =�
���"�5�)�������:�6�7rc���Gd�d�}t|jd�}|jtj|j
�tj|��y)Nc��eZdZedd��Zy)�CSpecSignatureTest.test_autospec_signature_staticmethod.<locals>.Fooc��yrr�rr�cs r�
static_methodzQSpecSignatureTest.test_autospec_signature_staticmethod.<locals>.Foo.static_method�s��.2rN�r�)r#r$r%rOr�rrrrCr��s��
�2��2rrCr�)r�__dict__r,�inspect� signaturer�rZs r�$test_autospec_signature_staticmethodz6SpecSignatureTest.test_autospec_signature_staticmethod�sN�� 3� 3��s�|�|�O�<�=������*�*�3�+<�+<�=�w�?P�?P�QU�?V�Wrc���Gd�d�}t|jd�}|jtj|j
�tj|��y)Nc��eZdZedd��Zy)�BSpecSignatureTest.test_autospec_signature_classmethod.<locals>.Fooc��yrr)rJrrr�s r�class_methodzOSpecSignatureTest.test_autospec_signature_classmethod.<locals>.Foo.class_method�s��26rNr�)r#r$r%rNr�rrrrCr��s��
�6��6rrCr�)rr�r,r�r�r�rZs r�#test_autospec_signature_classmethodz5SpecSignatureTest.test_autospec_signature_classmethod�sN�� 7� 7��s�|�|�N�;�<������*�*�3�+;�+;�<�g�>O�>O�PT�>U�Vrc�J�d�}t|�}|dd�|dd��|jtj|�tj|��|j|jtdd�tdd��g�|j
t|d�y)Nc��yrrr�s r�myfuncz=SpecSignatureTest.test_spec_inspect_signature.<locals>.myfunc�s��$rrVrlr�)rr,r�r�rLrr�r�)rr�r0s r�test_spec_inspect_signaturez-SpecSignatureTest.test_spec_inspect_signature�s~����v�&���Q��
��q�A������*�*�4�0�'�2C�2C�F�2K�L�������4��1�:�t�a�1�~�*F�G����)�T�1�-rc ���ddtdtdtdtfd�}|j|ddd� �d
�t|�}|ddd� �|dd� �|jtj|�tj|��|j|j
t
ddd� �t
dd� �g�|jt|d�|jt|dddd� �y)
Nrrr��returnc��||z|zSrrr�s rr+zFSpecSignatureTest.test_spec_inspect_signature_annotations.<locals>.foo�s���q�5�1�9�rrVrlrm)r�r�ror�) r�r,rr�r�rLrr�r�)rr+r0s r�'test_spec_inspect_signature_annotationsz9SpecSignatureTest.test_spec_inspect_signature_annotations�s��� �3� �3� �� �� �
����Q��a��!�,��s�#���Q��Q���Q�!������*�*�4�0�'�2C�2C�C�2H�I�������4��1��?�D��a�L�*I�J����)�T�1�-����)�T�1�a��a��8rc�X�d�}t|�}|j|jd�y)Nc��y)N�noperrrrrz>SpecSignatureTest.test_spec_function_no_name.<locals>.<lambda>�s��vr�funcopy)rr,r#)r�funcr0s r�test_spec_function_no_namez,SpecSignatureTest.test_spec_function_no_name�s%�����t�$�������� �2rc���d�}t|�}|d�|jtd�g�|jt�5|jtd�g�ddd�y#1swYyxYw)Nc��yrrr�s rr�z@SpecSignatureTest.test_spec_function_assert_has_calls.<locals>.f�r�rrVrl)rrXrr�r�r�s r�#test_spec_function_assert_has_callsz5SpecSignatureTest.test_spec_function_assert_has_calls�sX����q�!���Q�����t�A�w�i�(�
�
�
�~�
.��!�!�4��7�)�,�/�
.�
.�s�A,�,A5c���d�}t|�}|d�|jd�|jt�5|jd�ddd�y#1swYyxYw)Nc��yrrr�s rr�z?SpecSignatureTest.test_spec_function_assert_any_call.<locals>.f�r�rrVrl)rrYr�r�r�s r�"test_spec_function_assert_any_callz4SpecSignatureTest.test_spec_function_assert_any_call�sL����q�!���Q�����Q��
�
�
�~�
.�� � ��#�/�
.�
.�s�A�A!c�|�d�}t�}t||��}|d�d�|j|jt d�g�|j|jt d�g�|j�|j|jg�|j|jg�y)Nc��yrrr�s rr�z:SpecSignatureTest.test_spec_function_reset_mock.<locals>.fr�rr�rVrl)rrr,rLrrJ)rr��rvr0s r�test_spec_function_reset_mockz/SpecSignatureTest.test_spec_function_reset_mocks����
�V���q�r�2����Q���
�������4��7�)�4��������a�� �2�����������"�-��������+rN)+r#r$r%r�r�r�r�r�r�r�r�rr rr*r5r:r?rErXrcrqrxr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrr�r�{s���+�6)� (�2�'�#� %�*�D�$-�!�(�2E�86�,;� P�1�(M�,#M�LE�0�*,�$�0M�$�%�80�" +�
(�)(�X
0�
8�X�W�
.�
9� 3�-�$� ,rr�c�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z y) �TestCallListc�^�t�}|j|jt�|dd�|d��|dd�|d��t dd�t d��t dd�t d��fD]}|j||j�� t d��t dd�g}|j||j�t dd�t d��g}|j||j�t dd�t d��g}|j||j�t dd�g}|j||j�|j
t d�|j�|j
t d�g|j�y) NrVrlrmr�ror�r�r�)rr>r�r rr��assertNotIn)rr0rr�callss r�!test_args_list_contains_call_listz.TestCallList.test_args_list_contains_call_listsL���v�����d�1�1�9�=��Q��
��q� ��Q��
��q� ���A�J��q� �4��1�:�t�a�y�@�D��M�M�$�� 3� 3�4�A����D��A�J�'���
�
�e�T�0�0�1��a���T�A�Y�'���
�
�e�T�0�0�1��a���T�A�Y�'���
�
�e�T�0�0�1��a������
�
�e�T�0�0�1�����f��t�':�':�;����$�v�,���)<�)<�=rc���t�}|dd�|jd��|jj�jdd��d}|j t|j�|�y) NrVrlrmr�r��dog)�catzU[call(1, 2),
call.foo(a=3),
call.foo.bar(),
call.foo.bar().baz('fish', cat='dog')])rr+rErhr,r4rL)rr0rNs r�test_call_list_strzTestCallList.test_call_list_str)sa���v���Q��
����1��
���������6�u��-�
6� �
����T�_�_�-�x�8rc��tdtzt��}|j�} tj
|j
�t �}|j
|j�|j|jt�t�g�d|_|j|jt�t�td�g�|j�y#|j�wxYw)Nz%s.SomeClass.one)�new_callablerm)r
r#rr�rrrWr.r,rLr�stop)rr�r0r�s r�test_propertymockzTestCallList.test_propertymock8s����$�x�/�l�K���w�w�y�� ��M�M��(�(�*���A�
�E�E��#�#�%����T�_�_�t�v�t�v�.>�?��A�E����T�_�_�t�v�t�v�t�A�w�.G�H�
�F�F�H��A�F�F�H�s�B3C.�.Dc���t�}t�}|t|�_|j}|j �|j|t�|j
|t�yr)rrr�r+rWr>r��rr�r��returneds r�test_propertymock_barez#TestCallList.test_propertymock_bareJsP���K���N����Q����5�5�� �!�!�#����h� �2�� � ��<�8rc���t�}td��}|t|�_|j}|j �|j|d�|j
|t�y)Nr(r�)rrr�r+rWr,r�rs r�test_propertymock_returnvaluez*TestCallList.test_propertymock_returnvalueUsS���K���b�)����Q����5�5�� �!�!�#�����2�&�� � ��<�8rc���t�}tt��}|t|�_|jt�5|jddd�|j
�y#1swY�xYw)N)�side_effect)rr�
ValueErrorr�r+r�rW�rr�r�s r�test_propertymock_side_effectz*TestCallList.test_propertymock_side_effect`sM���K���Z�0����Q���
�
�
�z�
*�
�E�E�+� �!�!�#�+�
*�s�
A&�&A/c��t�}t�}|t|�_|j |d�|j|jg�y)Nr+)rrr�r+�attach_mockr,rLr's r�test_propertymock_attachz%TestCallList.test_propertymock_attachjs=���F���N����Q��� �
�
�a���������r�*rN)
r#r$r%rrrr!r#r(r+rrrrrs%��>�29��$9�9�$�+rrc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�TestCallablePredicatec��tttttt
fD]}|j
t|���yr)r4�bytesr�r2�tuplerr�r)rr�s r� test_typezTestCallablePredicate.test_typets)�����T�5�)�<�C��O�O�I�c�N�+�=rc�Z�Gd�d�}|�}|jt|��y)Nc��eZdZd�Zy)�>TestCallablePredicate.test_call_magic_method.<locals>.Callablec��yrrrs rr�zGTestCallablePredicate.test_call_magic_method.<locals>.Callable.__call__zr�rN)r#r$r%r�rrrr�r4yr�rr�)r�r)rr�rus r�test_call_magic_methodz,TestCallablePredicate.test_call_magic_methodxs$�� %� %��:����� �(�+�,rc�`�Gd�d�}|jt|j��y)Nc��eZdZed��Zy)�ATestCallablePredicate.test_staticmethod.<locals>.WithStaticMethodc��yrrrrr�
staticfunczLTestCallablePredicate.test_staticmethod.<locals>.WithStaticMethod.staticfunc�rKrN)r#r$r%rOr;rrr�WithStaticMethodr9s��
�"��"rr<)r�rr;)rr<s r�test_staticmethodz'TestCallablePredicate.test_staticmethod~s&�� #� #�
��� �"2�"=�"=�>�?rc�`�Gd�d�}|jt|j��y)Nc��eZdZed�Zy)�MTestCallablePredicate.test_non_callable_staticmethod.<locals>.BadStaticMethodN)r#r$r%rO�not_callablerrr�BadStaticMethodr@�s��'��-�LrrB�r�rrA)rrBs r�test_non_callable_staticmethodz4TestCallablePredicate.test_non_callable_staticmethod�s%�� .� .�����?�#?�#?�@�Arc�`�Gd�d�}|jt|j��y)Nc��eZdZed��Zy)�?TestCallablePredicate.test_classmethod.<locals>.WithClassMethodc��yrr)rJs r� classfunczITestCallablePredicate.test_classmethod.<locals>.WithClassMethod.classfunc�s�� $rN)r#r$r%rNrIrrr�WithClassMethodrG�s��
�$��$rrJ)r�rrI)rrJs r�test_classmethodz&TestCallablePredicate.test_classmethod�s%�� %� %�
��� �/�";�";�<�=rc�`�Gd�d�}|jt|j��y)Nc��eZdZed�Zy)�KTestCallablePredicate.test_non_callable_classmethod.<locals>.BadClassMethodN)r#r$r%rNrArrr�BadClassMethodrN�s��&�t�,�LrrOrC)rrOs r�test_non_callable_classmethodz3TestCallablePredicate.test_non_callable_classmethod�s%�� -� -�����>�#>�#>�?�@rN) r#r$r%r1r6r=rDrKrPrrrr-r-rs#��,�-�@�B�
>�Arr-�__main__)r�r�r��unittest�
unittest.mockrrrrrrr r
rrr
� functoolsrr-r�TestCaser'rcr�rr-r#�mainrrr�<module>rWs����������
��"��"�C%�h���C%�J^
�x� � �^
�B P
,��)�)�P
,�fa+�8�$�$�a+�H A�H�-�-� A�F�z���H�M�M�O�r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists