U
    ÌZj™8  ã                   @   sº   d Z ddlZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG d	d
„ d
ejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZ	G dd„ dejƒZ
G dd„ dejƒZdd„ ZdS )zTests for z.c.interface
é    Nc                   @   sL   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
dd„ ZdS )ÚTest_provideInterfacer   ©ÚsetUpÚtearDownc                 O   s   ddl m} |||ŽS )Nr   )ÚprovideInterface)Úzope.component.interfacer   )ÚselfÚargsÚkwr   © r   úf/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/zope/component/tests/test_interface.pyÚ_callFUT   s    zTest_provideInterface._callFUTc                 C   s   |   t| jdtƒ ¡ d S )NÚxxx)ÚassertRaisesÚ	TypeErrorr   Úobject©r   r   r   r   Útest_w_interface_not_IInterface   s    z5Test_provideInterface.test_w_interface_not_IInterfacec                 C   sH   ddl m} ddlm} G dd„ d|ƒ}|dƒ}|  t| jd||¡ d S )Nr   ©Ú	Interface)ÚInterfaceClassc                   @   s   e Zd ZdS )zDTest_provideInterface.test_w_iface_type_not_IInterface.<locals>.IFooN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   ÚIFoo!   s   r   ÚIBarr   )Úzope.interfacer   Zzope.interface.interfacer   r   r   r   )r   r   r   r   r   r   r   r   Ú test_w_iface_type_not_IInterface   s
    z6Test_provideInterface.test_w_iface_type_not_IInterfacec                 C   sz   ddl m} ddlm} |ƒ }G dd„ d|ƒ}G dd„ dtƒ}|  d||¡ |  | |¡¡ |  t	t
| |¡ƒƒd¡ d S )	Nr   ©Ú
IInterface©ÚgetGlobalSiteManagerc                   @   s   e Zd ZdS )z0Test_provideInterface.test_w_class.<locals>.IBarNr   r   r   r   r   r   *   s   r   c                   @   s   e Zd ZdS )z/Test_provideInterface.test_w_class.<locals>.FooNr   r   r   r   r   ÚFoo,   s   r#   Ú )Úzope.interface.interfacesr    Úzope.component.globalregistryr"   r   r   ZassertFalseÚ
providedByÚassertEqualÚlenÚlistZgetUtilitiesFor)r   r    r"   Úgsmr   r#   r   r   r   Útest_w_class&   s    z"Test_provideInterface.test_w_classc                 C   s†   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}G dd„ d|ƒ}|  d	||¡ |  | |¡¡ d
}|  | 	||¡|k¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z=Test_provideInterface.test_wo_name_w_iface_type.<locals>.IFooNr   r   r   r   r   r   7   s   r   c                   @   s   e Zd ZdS )z=Test_provideInterface.test_wo_name_w_iface_type.<locals>.IBarNr   r   r   r   r   r   9   s   r   r$   ú(zope.component.tests.test_interface.IFoo©
r   r   r%   r    r&   r"   r   Ú
assertTruer'   Z
getUtility)r   r   r    r"   r+   r   r   Únmr   r   r   Útest_wo_name_w_iface_type2   s    z/Test_provideInterface.test_wo_name_w_iface_typec                 C   sv   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}|  d|¡ |  | |¡¡ |j	|dd�}|  ||k¡ d S )	Nr   r   r   r!   c                   @   s   e Zd ZdS )z=Test_provideInterface.test_w_name_wo_ifact_type.<locals>.IFooNr   r   r   r   r   r   E   s   r   Úfoo)Únamer.   )r   r   r    r"   r+   r   Ú
registeredr   r   r   Útest_w_name_wo_ifact_type@   s    z/Test_provideInterface.test_w_name_wo_ifact_typeN)r   r   r   Úzope.component.testingr   r   r   r   r   r,   r1   r5   r   r   r   r   r      s   r   c                   @   s4   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	S )
ÚTest_getInterfacer   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetInterface)r   r8   )r   r	   r
   r8   r   r   r   r   Q   s    zTest_getInterface._callFUTc                 C   s$   ddl m} |  || jtƒ d¡ d S ©Nr   )ÚComponentLookupErrorÚnonesuch©Zzope.component.interfacesr:   r   r   r   ©r   r:   r   r   r   Ú	test_missU   s      ÿzTest_getInterface.test_missc                 C   sd   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  |  t	ƒ d¡|k¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z(Test_getInterface.test_hit.<locals>.IFooNr   r   r   r   r   r   _   s   r   r2   )
r   r   r%   r    r&   r"   ÚregisterUtilityr/   r   r   ©r   r   r    r"   r+   r   r   r   r   Útest_hitZ   s    zTest_getInterface.test_hitN©	r   r   r   r6   r   r   r   r>   rA   r   r   r   r   r7   M   s   r7   c                   @   s4   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	S )
ÚTest_queryInterfacer   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚqueryInterface)r   rD   )r   r	   r
   rD   r   r   r   r   i   s    zTest_queryInterface._callFUTc                 C   s"   t ƒ }|  | jd|d�|k¡ d S )Nr;   )Údefault)r   r/   r   )r   Z_DEFAULTr   r   r   r>   m   s    ÿzTest_queryInterface.test_missc                 C   s`   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  |  d¡|k¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z*Test_queryInterface.test_hit.<locals>.IFooNr   r   r   r   r   r   w   s   r   r2   )	r   r   r%   r    r&   r"   r?   r/   r   r@   r   r   r   rA   r   s    zTest_queryInterface.test_hitNrB   r   r   r   r   rC   e   s   rC   c                   @   sD   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
dS )ÚTest_searchInterfacer   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚsearchInterface)r   rG   )r   r	   r
   rG   r   r   r   r   �   s    zTest_searchInterface._callFUTc                 C   s   |   |  tƒ ¡g ¡ d S ©N©r(   r   r   r   r   r   r   Ú
test_empty…   s    zTest_searchInterface.test_emptyc                 C   sb   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  |  t	ƒ ¡|g¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z@Test_searchInterface.test_no_search_string_no_base.<locals>.IFooNr   r   r   r   r   r   �   s   r   r2   ©
r   r   r%   r    r&   r"   r?   r(   r   r   r@   r   r   r   Útest_no_search_string_no_baseˆ   s    z2Test_searchInterface.test_no_search_string_no_basec                 C   s‚   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}G dd„ d|ƒ}| ||d	¡ | ||d
¡ |  |  t	ƒ d¡|g¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z?Test_searchInterface.test_w_search_string_no_base.<locals>.IFooNr   r   r   r   r   r   —   s   r   c                   @   s   e Zd ZdS )z?Test_searchInterface.test_w_search_string_no_base.<locals>.IBarNr   r   r   r   r   r   ™   s   r   r2   ÚbarrK   ©r   r   r    r"   r+   r   r   r   r   r   Útest_w_search_string_no_base’   s    z1Test_searchInterface.test_w_search_string_no_basec                 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
|ƒ}| ||d¡ | ||d¡ |  | jt	ƒ |d�|g¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z@Test_searchInterface.test_no_search_string_w_base.<locals>.IBaseNr   r   r   r   r   ÚIBase¤   s   rP   c                   @   s   e Zd ZdS )z?Test_searchInterface.test_no_search_string_w_base.<locals>.IFooNr   r   r   r   r   r   ¦   s   r   c                   @   s   e Zd ZdS )z?Test_searchInterface.test_no_search_string_w_base.<locals>.IBarNr   r   r   r   r   r   ¨   s   r   r2   rM   ©ÚbaserK   ©r   r   r    r"   r+   rP   r   r   r   r   r   Útest_no_search_string_w_baseŸ   s    z1Test_searchInterface.test_no_search_string_w_baseN©r   r   r   r6   r   r   r   rJ   rL   rO   rT   r   r   r   r   rF   }   s   
rF   c                   @   sD   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
dS )ÚTest_searchInterfaceIdsr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚsearchInterfaceIds)r   rW   )r   r	   r
   rW   r   r   r   r   ³   s    z Test_searchInterfaceIds._callFUTc                 C   s   |   |  tƒ ¡g ¡ d S rH   rI   r   r   r   r   rJ   ·   s    z"Test_searchInterfaceIds.test_emptyc                 C   sb   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  |  t	ƒ ¡dg¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zCTest_searchInterfaceIds.test_no_search_string_no_base.<locals>.IFooNr   r   r   r   r   r   ¿   s   r   r2   rK   r@   r   r   r   rL   º   s    z5Test_searchInterfaceIds.test_no_search_string_no_basec                 C   s‚   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}G dd„ d|ƒ}| ||d	¡ | ||d
¡ |  |  t	ƒ d¡d	g¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zBTest_searchInterfaceIds.test_w_search_string_no_base.<locals>.IFooNr   r   r   r   r   r   É   s   r   c                   @   s   e Zd ZdS )zBTest_searchInterfaceIds.test_w_search_string_no_base.<locals>.IBarNr   r   r   r   r   r   Ë   s   r   r2   rM   rK   rN   r   r   r   rO   Ä   s    z4Test_searchInterfaceIds.test_w_search_string_no_basec                 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
|ƒ}| ||d¡ | ||d¡ |  | jt	ƒ |d�dg¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zCTest_searchInterfaceIds.test_no_search_string_w_base.<locals>.IBaseNr   r   r   r   r   rP   Ö   s   rP   c                   @   s   e Zd ZdS )zBTest_searchInterfaceIds.test_no_search_string_w_base.<locals>.IFooNr   r   r   r   r   r   Ø   s   r   c                   @   s   e Zd ZdS )zBTest_searchInterfaceIds.test_no_search_string_w_base.<locals>.IBarNr   r   r   r   r   r   Ú   s   r   r2   rM   rQ   rK   rS   r   r   r   rT   Ñ   s    z4Test_searchInterfaceIds.test_no_search_string_w_baseNrU   r   r   r   r   rV   ¯   s   
rV   c                   @   sL   e Zd ZddlmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
dd„ ZdS )ÚTest_searchInterfaceUtilitiesr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚsearchInterfaceUtilities)r   rY   )r   r	   r
   rY   r   r   r   r   å   s    z&Test_searchInterfaceUtilities._callFUTc                 C   s   |   |  tƒ ¡g ¡ d S rH   rI   r   r   r   r   rJ   é   s    z(Test_searchInterfaceUtilities.test_emptyc                 C   sf   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  |  t	ƒ ¡d|fg¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zITest_searchInterfaceUtilities.test_no_search_string_no_base.<locals>.IFooNr   r   r   r   r   r   ñ   s   r   r2   rK   r@   r   r   r   rL   ì   s    z;Test_searchInterfaceUtilities.test_no_search_string_no_basec                 C   s†   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}G dd„ d|ƒ}| ||d	¡ | ||d
¡ |  |  t	ƒ d¡d	|fg¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zHTest_searchInterfaceUtilities.test_w_search_string_no_base.<locals>.IFooNr   r   r   r   r   r   û   s   r   c                   @   s   e Zd ZdS )zHTest_searchInterfaceUtilities.test_w_search_string_no_base.<locals>.IBarNr   r   r   r   r   r   ý   s   r   r2   rM   rK   rN   r   r   r   rO   ö   s    z:Test_searchInterfaceUtilities.test_w_search_string_no_basec                 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
|ƒ}| ||d¡ | ||d¡ |  | jt	ƒ |d�d|fg¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zITest_searchInterfaceUtilities.test_no_search_string_w_base.<locals>.IBaseNr   r   r   r   r   rP     s   rP   c                   @   s   e Zd ZdS )zHTest_searchInterfaceUtilities.test_no_search_string_w_base.<locals>.IFooNr   r   r   r   r   r   
  s   r   c                   @   s   e Zd ZdS )zHTest_searchInterfaceUtilities.test_no_search_string_w_base.<locals>.IBarNr   r   r   r   r   r     s   r   r2   rM   rQ   rK   rS   r   r   r   rT     s    z:Test_searchInterfaceUtilities.test_no_search_string_w_basec                 C   sˆ   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}G dd„ d|ƒ}| ||d	¡ | ||d
¡ |  | jt	ƒ |d�d	|fg¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )zPTest_searchInterfaceUtilities.test_no_search_string_w_base_is_same.<locals>.IFooNr   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )zPTest_searchInterfaceUtilities.test_no_search_string_w_base_is_same.<locals>.IBarNr   r   r   r   r   r     s   r   r2   rM   rQ   rK   rN   r   r   r   Ú$test_no_search_string_w_base_is_same  s    zBTest_searchInterfaceUtilities.test_no_search_string_w_base_is_sameN)r   r   r   r6   r   r   r   rJ   rL   rO   rT   rZ   r   r   r   r   rX   á   s   
rX   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTest_getInterfaceAllDocsc                 O   s   ddl m} |||ŽS )Nr   )ÚgetInterfaceAllDocs)r   r\   )r   r	   r
   r\   r   r   r   r   "  s    z!Test_getInterfaceAllDocs._callFUTc                 C   s&   G dd„ dt ƒ}|  |  |¡d¡ d S )Nc                   @   s   e Zd ZdZdZdd„ ZdS )z2Test_getInterfaceAllDocs.test_w_class.<locals>.FooÚ	DOCSTRINGNc                 S   s   dS ©ZBAZNr   r   r   r   r   Úbaz*  s    z6Test_getInterfaceAllDocs.test_w_class.<locals>.Foo.baz©r   r   r   Ú__doc__rM   r_   r   r   r   r   r#   '  s   r#   z1zope.component.tests.test_interface.foo
docstring)r   r(   r   )r   r#   r   r   r   r,   &  s    ÿz%Test_getInterfaceAllDocs.test_w_classc                 C   s2   ddl m} G dd„ d|ƒ}|  |  |¡d¡ d S )Nr   r   c                   @   s   e Zd ZdZdS )zBTest_getInterfaceAllDocs.test_w_interface_no_members.<locals>.IFoor]   N)r   r   r   ra   r   r   r   r   r   2  s   r   z2zope.component.tests.test_interface.ifoo
docstring)r   r   r(   r   ©r   r   r   r   r   r   Útest_w_interface_no_members0  s
    ÿz4Test_getInterfaceAllDocs.test_w_interface_no_membersc                    sB   ddl m‰  ddl m} G ‡ fdd„d|ƒ}|  |  |¡d¡ d S )Nr   ©Ú	Attributer   c                       s"   e Zd ZdZ” ddƒZdd„ ZdS )zATest_getInterfaceAllDocs.test_w_interface_w_members.<locals>.IFoor]   rM   zDo barc                 S   s   dS r^   r   r   r   r   r   r_   >  s    zETest_getInterfaceAllDocs.test_w_interface_w_members.<locals>.IFoo.bazNr`   r   rd   r   r   r   ;  s   
r   z=zope.component.tests.test_interface.ifoo
docstring
do bar
baz)r   re   r   r(   r   rb   r   rd   r   Útest_w_interface_w_members8  s    ÿz3Test_getInterfaceAllDocs.test_w_interface_w_membersN)r   r   r   r   r,   rc   rf   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_nameToInterfacer   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚnameToInterface)r   rh   )r   r	   r
   rh   r   r   r   r   K  s    zTest_nameToInterface._callFUTc                 C   s   |   |  tƒ d¡d k¡ d S ©NÚNone)r/   r   r   r   r   r   r   Útest_w_NoneO  s    z Test_nameToInterface.test_w_Nonec                 C   s$   ddl m} |  || jtƒ d¡ d S r9   r<   r=   r   r   r   r>   R  s      ÿzTest_nameToInterface.test_missc                 C   sh   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  tƒ d¡}|  	||k¡ d S )Nr   r   r   r!   c                   @   s   e Zd ZdS )z+Test_nameToInterface.test_hit.<locals>.IFooNr   r   r   r   r   r   \  s   r   r2   )
r   r   r%   r    r&   r"   r?   r   r   r/   )r   r   r    r"   r+   r   Úfoundr   r   r   rA   W  s    zTest_nameToInterface.test_hitN)
r   r   r   r6   r   r   r   rk   r>   rA   r   r   r   r   rg   G  s
   rg   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_interfaceToNamer   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚinterfaceToName)r   rn   )r   r	   r
   rn   r   r   r   r   g  s    zTest_interfaceToName._callFUTc                 C   s   |   |  tƒ d ¡d¡ d S ri   rI   r   r   r   r   rk   k  s    z Test_interfaceToName.test_w_Nonec                 C   s6   ddl m} G dd„ d|ƒ}|  |  tƒ |¡d¡ d S )Nr   r   c                   @   s   e Zd ZdS )z6Test_interfaceToName.test_w_unregistered.<locals>.IFooNr   r   r   r   r   r   p  s   r   r-   )r   r   r(   r   r   rb   r   r   r   Útest_w_unregisteredn  s
    ÿz(Test_interfaceToName.test_w_unregisteredc                 C   sb   ddl m} ddlm} ddlm} |ƒ }G dd„ d|ƒ}| ||d¡ |  |  t	ƒ |¡d¡ d S )	Nr   r   r   r!   c                   @   s   e Zd ZdS )z4Test_interfaceToName.test_w_registered.<locals>.IFooNr   r   r   r   r   r   z  s   r   r2   r-   rK   r@   r   r   r   Útest_w_registeredu  s    ÿz&Test_interfaceToName.test_w_registeredN)
r   r   r   r6   r   r   r   rk   ro   rp   r   r   r   r   rm   c  s
   rm   c                   C   sR   t  t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t	¡t  t
¡t  t¡f	¡S rH   )ÚunittestZ	TestSuiteZ	makeSuiter   r7   rC   rF   rV   rX   r[   rg   rm   r   r   r   r   Ú
test_suite�  s    ÷rr   )ra   rq   ZTestCaser   r7   rC   rF   rV   rX   r[   rg   rm   rr   r   r   r   r   Ú<module>   s   :22?'