U
    ,ò¿W7	  ã                   @   s<   d Z ddlZG dd„ dejƒZG dd„ dejƒZdd„ ZdS )	z!Test adapter declaration helpers
é    Nc                   @   s   e Zd Zdd„ ZdS )ÚTest_dispatchc                    sr   ddl m} ddlm} ddlm} g ‰ ‡ fdd„}|ƒ }| ||f¡ ˆ d d …= tƒ }||ƒ |  ˆ |g¡ d S )Nr   ©Ú	Interface©ÚgetGlobalSiteManager)Údispatchc                    s   ˆ   | ¡ tƒ S ©N©ÚappendÚobject)Úcontext©Z_adapted© úA/usr/lib/python3/dist-packages/zope/component/tests/test_event.pyÚ_adapter   s    
z'Test_dispatch.test_it.<locals>._adapter)	Úzope.interfacer   Úzope.component.globalregistryr   Úzope.component.eventr   ÚregisterHandlerr   ÚassertEqual)Úselfr   r   r   r   ÚgsmÚeventr   r   r   Útest_it   s    
zTest_dispatch.test_itN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd„ ZdS )ÚTest_objectEventNotifyc                    s°   ddl m} ddl m} ddlm} ddlm} ddlm} g ‰ ‡ fdd„}|ƒ }| 	|||f¡ ˆ d d …= ||ƒG d	d
„ d
t
ƒƒ}t
ƒ }	||	ƒ}
||
ƒ |  ˆ |	|
fg¡ d S )Nr   r   )Úimplementerr   )ÚIObjectEvent)ÚobjectEventNotifyc                    s   ˆ   | |f¡ tƒ S r   r	   )r   r   r   r   r   r   ,   s    z0Test_objectEventNotify.test_it.<locals>._adapterc                   @   s   e Zd Zdd„ ZdS )z4Test_objectEventNotify.test_it.<locals>._ObjectEventc                 S   s
   || _ d S r   )r   )r   r   r   r   r   Ú__init__4   s    z=Test_objectEventNotify.test_it.<locals>._ObjectEvent.__init__N)r   r   r   r"   r   r   r   r   Ú_ObjectEvent2   s   r#   )r   r   r   r   r   Zzope.component.interfacesr    r   r!   r   r   r   )r   r   r   r   r    r!   r   r   r#   r   r   r   r   r   r   %   s     
zTest_objectEventNotify.test_itNr   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_suite=   s    þr%   )Ú__doc__r$   ZTestCaser   r   r%   r   r   r   r   Ú<module>   s   