U
    ÌZjã!  ã                   @   sr   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dd„ ZdS )z Tests for z.c._api
é    Nc                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTest_getGlobalSiteManagerc                 C   s   ddl m} |ƒ S )Nr   ©ÚgetGlobalSiteManager)Úzope.component.globalregistryr   )Úselfr   © r   úk/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/zope/component/tests/test_globalregistry.pyÚ_callFUT   s    z"Test_getGlobalSiteManager._callFUTc                 C   sB   ddl m} ddlm} |  ¡ }|  ||k¡ |  | |¡¡ d S )Nr   )Úbase)ÚIComponentLookup)r   r
   Zzope.component.interfacesr   r	   Ú
assertTrueÚ
providedBy)r   r
   r   Úgsmr   r   r   Útest_gsm_is_IComponentLookup   s
    z6Test_getGlobalSiteManager.test_gsm_is_IComponentLookupc                 C   s   |   ¡ }|  |   ¡ |k¡ d S ©N)r	   r   )r   r   r   r   r   Útest_gsm_is_singleton   s    z/Test_getGlobalSiteManager.test_gsm_is_singletonc           	      C   s†   ddl m} |  ¡ }| |¡}| |¡}|  ||k¡ | |j¡}| |¡}|  ||jk¡ | |j¡}| |¡}|  ||jk¡ d S )Nr   )Ú_pickle)Zzope.component._compatr   r	   ÚdumpsÚloadsr   Z	utilitiesÚadapters)	r   r   r   ZdumpedZloadedZdumped_utilitiesZloaded_utilitiesZdumped_adaptersZloaded_adaptersr   r   r   Útest_gsm_pickling#   s    



z+Test_getGlobalSiteManager.test_gsm_picklingN)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   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_provideUtilityr   ©ÚsetUpÚtearDownc                 O   s   ddl m} |||ŽS )Nr   )ÚprovideUtility)r   r   )r   ÚargsÚkwr   r   r   r   r	   7   s    zTest_provideUtility._callFUTc                 C   s|   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|ƒ }|  |¡ |ƒ }|  | |d	¡|k¡ d S )
Nr   ©Ú	Interface©Úimplementerr   c                   @   s   e Zd ZdS )z<Test_provideUtility.test_anonymous_no_provides.<locals>.IFooN©r   r   r   r   r   r   r   ÚIFoo?   s   r&   c                   @   s   e Zd ZdS )z;Test_provideUtility.test_anonymous_no_provides.<locals>.FooNr%   r   r   r   r   ÚFooA   s   r'   Ú )	Úzope.interfacer"   r$   r   r   Úobjectr	   r   Ú
getUtility)r   r"   r$   r   r&   r'   Úfoor   r   r   r   Útest_anonymous_no_provides;   s    
z.Test_provideUtility.test_anonymous_no_providesc                 C   sl   ddl m} ddlm} G dd„ d|ƒ}G dd„ dtƒ}|ƒ }|  ||d¡ |ƒ }|  | |d¡|k¡ d S )	Nr   r!   r   c                   @   s   e Zd ZdS )z7Test_provideUtility.test_named_w_provides.<locals>.IFooNr%   r   r   r   r   r&   L   s   r&   c                   @   s   e Zd ZdS )z6Test_provideUtility.test_named_w_provides.<locals>.FooNr%   r   r   r   r   r'   N   s   r'   Únamed)r)   r"   r   r   r*   r	   r   r+   )r   r"   r   r&   r'   r,   r   r   r   r   Útest_named_w_providesI   s    z)Test_provideUtility.test_named_w_providesN)	r   r   r   Úzope.component.testingr   r   r	   r-   r/   r   r   r   r   r   3   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_provideAdapterr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚprovideAdapter)r   r2   )r   r   r    r2   r   r   r   r	   Z   s    zTest_provideAdapter._callFUTc                 C   sÎ   ddl m} 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ƒƒƒ}|  |¡ |ƒ }	|ƒ }
|	 	|
|¡}|  
t||ƒ¡ |  
|j|
k¡ d S )Nr   r!   r#   r   ©Úadapterc                   @   s   e Zd ZdS )zFTest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.IFooNr%   r   r   r   r   r&   c   s   r&   c                   @   s   e Zd ZdS )zFTest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.IBarNr%   r   r   r   r   ÚIBare   s   r5   c                   @   s   e Zd ZdS )zETest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.FooNr%   r   r   r   r   r'   g   s   r'   c                   @   s   e Zd Zdd„ ZdS )zETest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.Barc                 S   s
   || _ d S r   ©Úcontext©r   r7   r   r   r   Ú__init__m   s    zNTest_provideAdapter.test_anonymous_no_provides_no_adapts.<locals>.Bar.__init__N©r   r   r   r9   r   r   r   r   ÚBarj   s   r;   )r)   r"   r$   r   r   Úzope.component._apir4   r*   r	   Ú
getAdapterr   Ú
isinstancer7   ©r   r"   r$   r   r4   r&   r5   r'   r;   r   r,   Úadaptedr   r   r   Ú$test_anonymous_no_provides_no_adapts^   s"    
z8Test_provideAdapter.test_anonymous_no_provides_no_adaptsc                 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|	|dd�}
|  t	|
|ƒ¡ |  |
j
|	k¡ d S )Nr   r!   r#   r   c                   @   s   e Zd ZdS )z@Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.IFooNr%   r   r   r   r   r&   z   s   r&   c                   @   s   e Zd ZdS )z@Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.IBarNr%   r   r   r   r   r5   |   s   r5   c                   @   s   e Zd ZdS )z?Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.FooNr%   r   r   r   r   r'   ~   s   r'   c                   @   s   e Zd Zdd„ ZdS )z?Test_provideAdapter.test_named_w_provides_w_adapts.<locals>.Barc                 S   s
   || _ d S r   r6   r8   r   r   r   r9   ‚   s    zHTest_provideAdapter.test_named_w_provides_w_adapts.<locals>.Bar.__init__Nr:   r   r   r   r   r;   �   s   r;   Útest)Úname)r)   r"   r$   r   r   r*   r	   r=   r   r>   r7   ©r   r"   r$   r   r&   r5   r'   r;   r   r,   r@   r   r   r   Útest_named_w_provides_w_adaptsv   s    z2Test_provideAdapter.test_named_w_provides_w_adaptsN)	r   r   r   r0   r   r   r	   rA   rE   r   r   r   r   r1   V   s   r1   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_provideSubscriptionAdapterr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚprovideSubscriptionAdapter)r   rG   )r   r   r    rG   r   r   r   r	   �   s    z(Test_provideSubscriptionAdapter._callFUTc                 C   sè   ddl m} 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|¡}|  
t|ƒd¡ |  t|d |ƒ¡ |  |d j|
k¡ d S )Nr   r!   r#   r   r3   c                   @   s   e Zd ZdS )zHTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.IFooNr%   r   r   r   r   r&   ™   s   r&   c                   @   s   e Zd ZdS )zHTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.IBarNr%   r   r   r   r   r5   ›   s   r5   c                   @   s   e Zd ZdS )zGTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.FooNr%   r   r   r   r   r'   �   s   r'   c                   @   s   e Zd Zdd„ ZdS )zGTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.Barc                 S   s
   || _ d S r   r6   r8   r   r   r   r9   £   s    zPTest_provideSubscriptionAdapter.test_no_provides_no_adapts.<locals>.Bar.__init__Nr:   r   r   r   r   r;       s   r;   é   )r)   r"   r$   r   r   r<   r4   r*   r	   ÚsubscribersÚassertEqualÚlenr   r>   r7   r?   r   r   r   Útest_no_provides_no_adapts”   s$    
z:Test_provideSubscriptionAdapter.test_no_provides_no_adaptsc                 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|¡ |ƒ }|ƒ }	| |	f|¡}
|  t	|
ƒd¡ |  
t|
d |ƒ¡ |  
|
d j|	k¡ d S )Nr   r!   r#   r   c                   @   s   e Zd ZdS )zFTest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.IFooNr%   r   r   r   r   r&   ±   s   r&   c                   @   s   e Zd ZdS )zFTest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.IBarNr%   r   r   r   r   r5   ³   s   r5   c                   @   s   e Zd ZdS )zETest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.FooNr%   r   r   r   r   r'   µ   s   r'   c                   @   s   e Zd Zdd„ ZdS )zETest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.Barc                 S   s
   || _ d S r   r6   r8   r   r   r   r9   ¹   s    zNTest_provideSubscriptionAdapter.test_w_provides_w_adapts.<locals>.Bar.__init__Nr:   r   r   r   r   r;   ¸   s   r;   rH   )r)   r"   r$   r   r   r*   r	   rI   rJ   rK   r   r>   r7   rD   r   r   r   Útest_w_provides_w_adapts­   s    z8Test_provideSubscriptionAdapter.test_w_provides_w_adaptsN)	r   r   r   r0   r   r   r	   rL   rM   r   r   r   r   rF   Œ   s   rF   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_provideHandlerr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚprovideHandler)r   rO   )r   r   r    rO   r   r   r   r	   È   s    zTest_provideHandler._callFUTc                 C   sæ   ddl m} ddl m} ddl m} ddlm} ddlm} G dd„ d|ƒ}||ƒG d	d
„ d
tƒƒ}||ƒdd„ ƒ}|  	|¡ |ƒ }	t
|	 ¡ ƒ}
|  t|
ƒd¡ |
d }|  t
|jƒt
||ƒ ƒƒ¡ |  |jd¡ |  |j|k¡ d S )Nr   r!   r#   )r   r   r3   c                   @   s   e Zd ZdS )z0Test_provideHandler.test_no_adapts.<locals>.IFooNr%   r   r   r   r   r&   Ò   s   r&   c                   @   s   e Zd ZdS )z/Test_provideHandler.test_no_adapts.<locals>.FooNr%   r   r   r   r   r'   Ô   s   r'   c                 S   s   dst dƒ‚d S ©Nr   zDON'T GO HERE©ÚAssertionErrorr6   r   r   r   Ú_handler×   s    z4Test_provideHandler.test_no_adapts.<locals>._handlerrH   r(   )r)   r"   r$   r   r   r   r<   r4   r*   r	   ÚlistÚregisteredHandlersrJ   rK   ÚrequiredrC   r   Úfactory)r   r"   r$   r   r   r4   r&   r'   rS   r   ÚregsÚhrr   r   r   Útest_no_adaptsÌ   s$    

z"Test_provideHandler.test_no_adaptsc                 C   sž   ddl m} ddlm} G dd„ d|ƒ}dd„ }|  ||f¡ |ƒ }t| ¡ ƒ}|  t|ƒd¡ |d }|  t|j	ƒ|g¡ |  |j
d	¡ |  |j|k¡ d S )
Nr   r!   r   c                   @   s   e Zd ZdS )z/Test_provideHandler.test_w_adapts.<locals>.IFooNr%   r   r   r   r   r&   æ   s   r&   c                 S   s   dst dƒ‚d S rP   rQ   r6   r   r   r   rS   è   s    z3Test_provideHandler.test_w_adapts.<locals>._handlerrH   r(   )r)   r"   r   r   r	   rT   rU   rJ   rK   rV   rC   r   rW   )r   r"   r   r&   rS   r   rX   rY   r   r   r   Útest_w_adaptsã   s    z!Test_provideHandler.test_w_adaptsN)	r   r   r   r0   r   r   r	   rZ   r[   r   r   r   r   rN   Ä   s   rN   c                	   C   s2   t  t  t¡t  t¡t  t¡t  t¡t  t¡f¡S r   )ÚunittestZ	TestSuiteZ	makeSuiter   r   r1   rF   rN   r   r   r   r   Ú
test_suiteô   s    ûr]   )	Ú__doc__r\   ZTestCaser   r   r1   rF   rN   r]   r   r   r   r   Ú<module>   s   !#680