U
    ,ò¿W|  ã                   @   s8   d dl Z G dd„ de jƒZG dd„ de jƒZdd„ ZdS )é    Nc                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTest_packagec                 C   s2   ddl m} ddlm} dd lm} |||ƒ d S )Nr   ©ÚverifyObject)ÚIComponentArchitecture)Úzope.interface.verifyr   Úzope.component.interfacesr   Úzope.componentÚ	component)Úselfr   r   Úzc© r   úD/usr/lib/python3/dist-packages/zope/component/tests/test___init__.pyÚ.test_module_conforms_to_IComponentArchitecture   s    z;Test_package.test_module_conforms_to_IComponentArchitecturec                 C   s2   ddl m} ddlm} dd lm} |||ƒ d S )Nr   r   )Ú!IComponentRegistrationConvenience)r   r   r   r   r   r	   )r
   r   r   r   r   r   r   Ú9test_module_conforms_to_IComponentRegistrationConvenience   s    zFTest_package.test_module_conforms_to_IComponentRegistrationConvenienceN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r      s   r   c                   @   s<   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Z	dS )ÚTest_Interface_callr   )ÚsetUpÚtearDownc                 C   s0   ddl m} G dd„ d|ƒ}|  t|tƒ ¡ d S )Nr   ©Ú	Interfacec                   @   s   e Zd ZdS )z+Test_Interface_call.test_miss.<locals>.IFooN©r   r   r   r   r   r   r   ÚIFoo&   s   r   )Úzope.interfacer   ZassertRaisesÚ	TypeErrorÚobject)r
   r   r   r   r   r   Ú	test_miss$   s    zTest_Interface_call.test_missc                 C   s<   ddl m} G dd„ d|ƒ}tƒ }|  |tƒ |ƒ|k¡ d S )Nr   r   c                   @   s   e Zd ZdS )z5Test_Interface_call.test_miss_w_default.<locals>.IFooNr   r   r   r   r   r   ,   s   r   )r   r   r   Ú
assertTrue)r
   r   r   Zmarkerr   r   r   Útest_miss_w_default*   s    z'Test_Interface_call.test_miss_w_defaultc           
      C   sº   ddl m} ddl m} ddlm} G dd„ d|ƒ}G dd„ d|ƒ}||ƒG d	d
„ d
tƒƒ}||ƒG dd„ dtƒƒ}|ƒ  ||f|d¡ |ƒ }||ƒ}	|  |	j|k¡ |  |	j	|k¡ d S )Nr   r   ©Úimplementer©ÚgetGlobalSiteManagerc                   @   s   e Zd ZdS )z*Test_Interface_call.test_hit.<locals>.IFooNr   r   r   r   r   r   5   s   r   c                   @   s   e Zd ZdS )z*Test_Interface_call.test_hit.<locals>.IBarNr   r   r   r   r   ÚIBar7   s   r%   c                   @   s   e Zd ZdS )z)Test_Interface_call.test_hit.<locals>.BarNr   r   r   r   r   ÚBar9   s   r&   c                   @   s   e Zd Zdd„ ZdS )z)Test_Interface_call.test_hit.<locals>.Bazc                 S   s
   || _ d S ©N©Úcontext©r
   r)   r   r   r   Ú__init__>   s    z2Test_Interface_call.test_hit.<locals>.Baz.__init__N©r   r   r   r+   r   r   r   r   ÚBaz<   s   r-   Ú ©
r   r   r"   r   r$   r   ZregisterAdapterr   Ú	__class__r)   )
r
   r   r"   r$   r   r%   r&   r-   ZbarÚadaptedr   r   r   Útest_hit1   s    zTest_Interface_call.test_hitc                 C   s   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|ƒ  |d	|d
¡ tƒ }||ƒ}|  |j|k¡ |  |j	|k¡ d S )Nr   r   r!   r#   c                   @   s   e Zd ZdS )z>Test_Interface_call.test_hit_registered_for_None.<locals>.IFooNr   r   r   r   r   r   J   s   r   c                   @   s   e Zd Zdd„ ZdS )z=Test_Interface_call.test_hit_registered_for_None.<locals>.Bazc                 S   s
   || _ d S r'   r(   r*   r   r   r   r+   N   s    zFTest_Interface_call.test_hit_registered_for_None.<locals>.Baz.__init__Nr,   r   r   r   r   r-   L   s   r-   r'   r.   r/   )r
   r   r"   r$   r   r-   Zctxr1   r   r   r   Útest_hit_registered_for_NoneF   s    z0Test_Interface_call.test_hit_registered_for_NoneN)
r   r   r   Zzope.component.testingr   r   r   r    r2   r3   r   r   r   r   r       s
   r   c                   C   s   t  t  t¡t  t¡f¡S r'   )ÚunittestZ	TestSuiteZ	makeSuiter   r   r   r   r   r   Ú
test_suiteX   s    þr5   )r4   ZTestCaser   r   r5   r   r   r   r   Ú<module>   s   8