Sindbad~EG File Manager
�
TԚg� � � � d dl Z d dlmZmZmZ d dlmZmZmZm Z m
Z
mZmZ G d� de j
� � Zedk r e j � � dS dS )� N)�is_instance�X� SomeClass)�Mock� MagicMock�NonCallableMagicMock�NonCallableMock�patch�create_autospec�
CallableMixinc �V � e Zd Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z d� Z
d � Zd
� Zd� Z
d� Zd
S )�TestCallablec � � | � t |t � � � � | � t |t � � � � d S �N)�
assertTruer r �assertFalser ��self�mocks �@/usr/local/lib/python3.11/unittest/test/testmock/testcallable.py�assertNotCallablezTestCallable.assertNotCallable sC � �����D�*>�?�?�@�@�@�����T�=�9�9�:�:�:�:�:� c � � t � � t � � fD ]m}| � t |� � | � t |d� � � � | � |j j t |� � � � �nd S )N�__call__)
r r �assertRaises� TypeErrorr �hasattr�assertIn� __class__�__name__�reprr s r �test_non_callablezTestCallable.test_non_callable s� � �(�*�*�O�,=�,=�=� ?� ?�D����i��.�.�.����W�T�:�6�6�7�7�7��M�M�$�.�1�4��:�:�>�>�>�>� ?� ?r c � � | � t t t � � � � | � t t t
� � � � d S r )r �
issubclassr r r r �r s r �test_hierarchyzTestCallable.test_hierarchy sA � ����
�9�d�3�3�4�4�4����
�#7��I�I�J�J�J�J�Jr c �& � t � � }| � t t |j � � t
� � � � t
� � }| � t t |j � � t � � � � d S r ) r r r$ �type�oner r �twor )r r) r* s r �test_attributeszTestCallable.test_attributes# sf � ��������
�4���=�=�$�7�7�8�8�8�"�$�$�����
�4���=�=�)�<�<�=�=�=�=�=r c �N � G d� dt � � } |� � }| � t t |j � � |� � � � G d� dt
� � } |� � }| � t t |j � � |� � � � d S )Nc � � e Zd ZdS )�-TestCallable.test_subclasses.<locals>.MockSubN�r �
__module__�__qualname__� r r �MockSubr. , � � � � � � ��Dr r3 c � � e Zd ZdS )�.TestCallable.test_subclasses.<locals>.MagicSubNr/ r2 r r �MagicSubr6 2 r4 r r7 )r r r$ r( r) r r* )r r3 r) r7 r* s r �test_subclasseszTestCallable.test_subclasses+ s� � � � � � � �d� � � � �g�i�i�����
�4���=�=�'�:�:�;�;�;� � � � � �y� � � � �h�j�j�����
�4���=�=�(�;�;�<�<�<�<�<r c �0 � t dt z d�� � }|� � � }| � |j � � |� � }|� � � | � |� � | � t |� � d S )N�%s.XT��spec� r
r �start�
addCleanup�stop�assert_called_once_withr r r �r �patcherr �instances r �test_patch_speczTestCallable.test_patch_spec9 s� � ����)��5�5�5���}�}���������%�%�%��4�6�6���$�$�&�&�&����x�(�(�(����)�X�.�.�.�.�.r c �0 � t dt z d�� � }|� � � }| � |j � � |� � }|� � � | � |� � | � t |� � d S )Nr: T��spec_setr= rB s r �test_patch_spec_setz TestCallable.test_patch_spec_setE s� � ����)�D�9�9�9���}�}���������%�%�%��4�6�6���$�$�&�&�&����x�(�(�(����)�X�.�.�.�.�.r c � � t dt z t � � �� � }|� � � }| � |j � � | � |� � | � t |� � d S )Nr: r; � r
r r r>