U
    ÌZj/  ã                   @   sp   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ƒZdd„ Z	dS )zTests for z.c.registry
é    Nc                   @   s,   e Zd ZddlmZmZ dd„ Zdd„ ZdS )Ú%Test_dispatchUtilityRegistrationEventr   ©ÚsetUpÚtearDownc                 O   s   ddl m} |||ŽS )Nr   )Ú dispatchUtilityRegistrationEvent)Úzope.component.registryr   )ÚselfÚargsÚkwr   © r   úe/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/zope/component/tests/test_registry.pyÚ_callFUT   s    z.Test_dispatchUtilityRegistrationEvent._callFUTc              	      sp   ddl m} G dd„ dtƒ}tƒ }g ‰ ‡ fdd„}t||d�� |  |ƒ |¡ W 5 Q R X |  ˆ |j|fg¡ d S )Nr   ©Úregistryc                   @   s   e Zd Zeƒ ZdS )zDTest_dispatchUtilityRegistrationEvent.test_it.<locals>._RegistrationN)Ú__name__Ú
__module__Ú__qualname__ÚobjectÚ	componentr   r   r   r   Ú_Registration   s   r   c                     s   ˆ   | ¡ d S ©N©Úappend©r	   ©Z_handledr   r   Ú_handle!   s    z>Test_dispatchUtilityRegistrationEvent.test_it.<locals>._handle©Úhandle)Úzope.componentr   r   Ú_Monkeyr   ÚassertEqualr   )r   r   r   Ú_EVENTr   r   r   r   Útest_it   s    z-Test_dispatchUtilityRegistrationEvent.test_itN©r   r   r   Zzope.component.testingr   r   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S )Ú%Test_dispatchAdapterRegistrationEventr   r   c                 O   s   ddl m} |||ŽS )Nr   )Ú dispatchAdapterRegistrationEvent)r   r%   )r   r	   r
   r%   r   r   r   r   ,   s    z.Test_dispatchAdapterRegistrationEvent._callFUTc              	      st   ddl m} G dd„ dtƒ}|ƒ }tƒ }g ‰ ‡ fdd„}t||d�� |  ||¡ W 5 Q R X |  ˆ |j|fg¡ d S )Nr   r   c                   @   s   e Zd Zdd„ ZdS )zDTest_dispatchAdapterRegistrationEvent.test_it.<locals>._Registrationc                 _   s   d S r   r   ©r   r	   r
   r   r   r   Úfactory3   s    zLTest_dispatchAdapterRegistrationEvent.test_it.<locals>._Registration.factoryN©r   r   r   r'   r   r   r   r   r   2   s   r   c                     s   ˆ   | ¡ d S r   r   r   r   r   r   r   8   s    z>Test_dispatchAdapterRegistrationEvent.test_it.<locals>._handler   ©r   r   r   r   r   r    r'   ©r   r   r   Z_registrationr!   r   r   r   r   r"   0   s    z-Test_dispatchAdapterRegistrationEvent.test_itNr#   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S )Ú1Test_dispatchSubscriptionAdapterRegistrationEventr   r   c                 O   s   ddl m} |||ŽS )Nr   )Ú,dispatchSubscriptionAdapterRegistrationEvent)r   r,   )r   r	   r
   r,   r   r   r   r   C   s    z:Test_dispatchSubscriptionAdapterRegistrationEvent._callFUTc              	      st   ddl m} G dd„ dtƒ}|ƒ }tƒ }g ‰ ‡ fdd„}t||d�� |  ||¡ W 5 Q R X |  ˆ |j|fg¡ d S )Nr   r   c                   @   s   e Zd Zdd„ ZdS )zPTest_dispatchSubscriptionAdapterRegistrationEvent.test_it.<locals>._Registrationc                 _   s   d S r   r   r&   r   r   r   r'   K   s    zXTest_dispatchSubscriptionAdapterRegistrationEvent.test_it.<locals>._Registration.factoryNr(   r   r   r   r   r   J   s   r   c                     s   ˆ   | ¡ d S r   r   r   r   r   r   r   P   s    zJTest_dispatchSubscriptionAdapterRegistrationEvent.test_it.<locals>._handler   r)   r*   r   r   r   r"   H   s    z9Test_dispatchSubscriptionAdapterRegistrationEvent.test_itNr#   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S )Ú%Test_dispatchHandlerRegistrationEventr   r   c                 O   s   ddl m} |||ŽS )Nr   )Ú dispatchHandlerRegistrationEvent)r   r.   )r   r	   r
   r.   r   r   r   r   [   s    z.Test_dispatchHandlerRegistrationEvent._callFUTc              	      st   ddl m} G dd„ dtƒ}|ƒ }tƒ }g ‰ ‡ fdd„}t||d�� |  ||¡ W 5 Q R X |  ˆ |j|fg¡ d S )Nr   r   c                   @   s   e Zd Zdd„ ZdS )zDTest_dispatchHandlerRegistrationEvent.test_it.<locals>._Registrationc                 _   s   d S r   r   r&   r   r   r   Úhandlerb   s    zLTest_dispatchHandlerRegistrationEvent.test_it.<locals>._Registration.handlerN)r   r   r   r/   r   r   r   r   r   a   s   r   c                     s   ˆ   | ¡ d S r   r   r   r   r   r   r   g   s    z>Test_dispatchHandlerRegistrationEvent.test_it.<locals>._handler   )r   r   r   r   r   r    r/   r*   r   r   r   r"   _   s    z-Test_dispatchHandlerRegistrationEvent.test_itNr#   r   r   r   r   r-   W   s   r-   c                   @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )r   c                    s@   ˆ | _ t‡ fdd„|D ƒƒ| _| ¡ D ]\}}tˆ ||ƒ q&d S )Nc                    s   g | ]}|t ˆ |ƒf‘qS r   )Úgetattr)Ú.0Úkey©Úmoduler   r   Ú
<listcomp>r   s     z$_Monkey.__init__.<locals>.<listcomp>)r4   ÚdictÚ
to_restoreÚitemsÚsetattr)r   r4   r
   r2   Úvaluer   r3   r   Ú__init__p   s    z_Monkey.__init__c                 C   s   | S r   r   )r   r   r   r   Ú	__enter__v   s    z_Monkey.__enter__c                 C   s&   | j  ¡ D ]\}}t| j||ƒ q
d S r   )r7   r8   r9   r4   )r   Úexc_typeÚexc_valÚexc_tbr2   r:   r   r   r   Ú__exit__y   s    z_Monkey.__exit__N)r   r   r   r;   r<   r@   r   r   r   r   r   n   s   r   c                   C   s*   t  t  t¡t  t¡t  t¡t  t¡f¡S r   )ÚunittestZ	TestSuiteZ	makeSuiter   r$   r+   r-   r   r   r   r   Ú
test_suite}   s    ürB   )
Ú__doc__rA   ZTestCaser   r$   r+   r-   r   r   rB   r   r   r   r   Ú<module>   s   