3
,๒ฟW ใ @ sN d Z ddlZG dd dejZG dd dejZG dd dejZd d
ZdS )z!Test adapter declaration helpers
้ Nc @ sD e Zd Zdd Zdd Zdd Zdd Zd d
Zdd Zd
d Z dS )ฺTest_adapterc C s ddl m} |S )Nr )ฺadapter)ฺzope.component._declarationr )ฺselfr ฉ r ๚'/usr/lib/python3.6/test__declaration.pyฺ_getTargetClass s zTest_adapter._getTargetClassc G s | j | S )N)r )r ฺ
interfacesr r r ฺ_makeOne s zTest_adapter._makeOnec C s | j }| jt|jg d S )N)r
ฺassertEqualฺlistr )r ฺdecor r r ฺtest_ctor_no_interfaces s z$Test_adapter.test_ctor_no_interfacesc C sR ddl m} G dd d|}G dd d|}| j||}| jt|j||g d S )Nr )ฺ Interfacec @ s e Zd ZdS )z1Test_adapter.test_ctor_w_interfaces..IFooN)ฺ__name__ฺ
__module__ฺ__qualname__r r r r ฺIFoo! s r c @ s e Zd ZdS )z1Test_adapter.test_ctor_w_interfaces..IBarN)r r r r r r r ฺIBar# s r )ฺzope.interfacer r
r r r )r r r r r
r r r ฺtest_ctor_w_interfaces s
z#Test_adapter.test_ctor_w_interfacesc C s^ ddl m} G dd d|}G dd d|}| j||G dd dt}| j|j||f d S ) Nr )r c @ s e Zd ZdS )z/Test_adapter.test__call___w_class..IFooN)r r r r r r r r * s r c @ s e Zd ZdS )z/Test_adapter.test__call___w_class..IBarN)r r r r r r r r , s r c @ s e Zd ZdS )z.Test_adapter.test__call___w_class..BazN)r r r r r r r ฺBaz. s r )r r r
ฺobjectr ฺ__component_adapts__)r r r r r r r r ฺtest__call___w_class( s z!Test_adapter.test__call___w_classc C sb ddl m} G dd d|}G dd d|}| j||G dd dt}| }| jtt|d d S )
Nr )r c @ s e Zd ZdS )zATest_adapter.test__call___w_inst_of_decorated_class..IFooN)r r r r r r r r 5 s r c @ s e Zd ZdS )zATest_adapter.test__call___w_inst_of_decorated_class..IBarN)r r r r r r r r 7 s r c @ s e Zd ZdS )z@Test_adapter.test__call___w_inst_of_decorated_class..BazN)r r r r r r r r 9 s r Z__component_adapts_)r r r
r ฺassertRaisesฺAttributeErrorฺgetattr)r r r r r ฺbazr r r ฺ&test__call___w_inst_of_decorated_class3