U
    ÌZjX§  ã                   @   sz  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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G d'd(„ d(ejƒZdad)d*„ Zd+d,„ ZdS )-z Tests for z.c._api
é    Nc                   @   sT   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d„ ZdS )ÚTest_getSiteManagerr   ©ÚsetUpÚtearDownc                 O   s   ddl m} |||ŽS )Nr   )ÚgetSiteManager)Úzope.component._apir   )ÚselfÚargsÚkwr   © r   úa/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/zope/component/tests/test__api.pyÚ_callFUT   s    zTest_getSiteManager._callFUTc                 C   s(   ddl m} |  ¡ }|  | |¡¡ d S )Nr   ©ÚIComponentLookup)Úzope.component.interfacesr   r   Ú
assertTrueÚ
providedBy)r   r   Úsmr   r   r   Útest_sm_is_IComponentLookup   s    z/Test_getSiteManager.test_sm_is_IComponentLookupc                 C   s8   ddl m} |  ¡ }|  ||k¡ |  |  ¡ |k¡ d S )Nr   )Úbase)Úzope.component.globalregistryr   r   r   )r   r   r   r   r   r   Útest_sm_is_singleton    s    z(Test_getSiteManager.test_sm_is_singletonc                 C   s   |   |  d ¡|  ¡ k¡ d S ©N)r   r   ©r   r   r   r   Útest_w_None&   s    zTest_getSiteManager.test_w_Nonec                 C   s2   ddl m} tƒ }||ƒ}|  |  |¡|k¡ d S )Nr   ©ÚConformsToIComponentLookup)Úzope.component.tests.examplesr   Úobjectr   r   )r   r   ÚsitemanagerÚcontextr   r   r   Ú(test_getSiteManager_w_conforming_context)   s    z<Test_getSiteManager.test_getSiteManager_w_conforming_contextc                 C   s"   ddl m} |  || jtƒ ¡ d S )Nr   ©ÚComponentLookupError)r   r#   ÚassertRaisesr   r   ©r   r#   r   r   r   Ú0test_getSiteManager_w_invalid_context_no_adapter/   s    zDTest_getSiteManager.test_getSiteManager_w_invalid_context_no_adapterc                    sh   ddl m} ddlm} ddlm} |ƒ }tƒ ‰ ‡ fdd„}| ||f|d¡ |  |  	tƒ ¡ˆ k¡ d S )Nr   ©Ú	Interface©ÚgetGlobalSiteManagerr   c                    s   ˆ S r   r   )Úx©r   r   r   Ú_adapt9   s    zSTest_getSiteManager.test_getSiteManager_w_invalid_context_w_adapter.<locals>._adaptÚ )
Úzope.interfacer(   r   r*   r   r   r   ÚregisterAdapterr   r   )r   r(   r*   r   Úgsmr-   r   r,   r   Ú/test_getSiteManager_w_invalid_context_w_adapter3   s    zCTest_getSiteManager.test_getSiteManager_w_invalid_context_w_adapterN)Ú__name__Ú
__module__Ú__qualname__Úzope.component.testingr   r   r   r   r   r   r!   r&   r2   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_getAdapterInContextr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetAdapterInContext)Úzope.componentr8   )r   r	   r
   r8   r   r   r   r   C   s    z!Test_getAdapterInContext._callFUTc                 C   sD   ddl m} ddlm} G dd„ d|ƒ}| j|| jtƒ |d d� d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z0Test_getAdapterInContext.test_miss.<locals>.IFooN©r3   r4   r5   r   r   r   r   ÚIFooJ   s   r;   ©r    ©r/   r(   r   r#   r$   r   r   ©r   r(   r#   r;   r   r   r   Ú	test_missG   s       ÿz"Test_getAdapterInContext.test_missc                 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
|ƒ}||ƒG dd„ dt	ƒƒ}||ƒG dd„ dt	ƒƒ}	||ƒG dd„ dt	ƒƒ}
G dd„ d|ƒ}|ƒ }| 
||f|d¡ |d|fd�}| 
|	|f|d¡ |
ƒ }| j||||ƒd�}|  |j|	k¡ |  |j|k¡ d S )Nr   r'   ©Úimplementer©Ú
Componentsr)   r   c                   @   s   e Zd ZdS )z6Test_getAdapterInContext.test_hit_via_sm.<locals>.IFooNr:   r   r   r   r   r;   U   s   r;   c                   @   s   e Zd ZdS )z6Test_getAdapterInContext.test_hit_via_sm.<locals>.IBarNr:   r   r   r   r   ÚIBarW   s   rD   c                   @   s   e Zd Zdd„ ZdS )z8Test_getAdapterInContext.test_hit_via_sm.<locals>.Globalc                 S   s
   || _ d S r   r<   ©r   r    r   r   r   Ú__init__[   s    zATest_getAdapterInContext.test_hit_via_sm.<locals>.Global.__init__N©r3   r4   r5   rF   r   r   r   r   ÚGlobalY   s   rH   c                   @   s   e Zd Zdd„ ZdS )z7Test_getAdapterInContext.test_hit_via_sm.<locals>.Localc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   _   s    z@Test_getAdapterInContext.test_hit_via_sm.<locals>.Local.__init__NrG   r   r   r   r   ÚLocal]   s   rI   c                   @   s   e Zd ZdS )z5Test_getAdapterInContext.test_hit_via_sm.<locals>.BarNr:   r   r   r   r   ÚBara   s   rJ   c                   @   s   e Zd Zdd„ ZdS )z9Test_getAdapterInContext.test_hit_via_sm.<locals>.Contextc                 S   s
   || _ d S r   ©r   ©r   r   r   r   r   rF   e   s    zBTest_getAdapterInContext.test_hit_via_sm.<locals>.Context.__init__NrG   r   r   r   r   ÚContextd   s   rM   r.   Úsm1©Úbasesr<   ©r/   r(   rA   Úzope.interface.registryrC   r9   r*   r   r   r   r0   r   r   Ú	__class__r    ©r   r(   rA   rC   r*   r   r;   rD   rH   rI   rJ   rM   r1   rN   ÚbarÚadaptedr   r   r   Útest_hit_via_smO   s,    z(Test_getAdapterInContext.test_hit_via_smN)	r3   r4   r5   r6   r   r   r   r?   rW   r   r   r   r   r7   ?   s   r7   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_queryAdapterInContextr   r   c                 O   s   ddl m} |||ŽS )Nr   ©ÚqueryAdapterInContext)r9   rZ   )r   r	   r
   rZ   r   r   r   r   u   s    z#Test_queryAdapterInContext._callFUTc                 C   sD   ddl m} ddlm} G dd„ d|ƒ}|  |tƒ |d d�d ¡ d S )Nr   r'   rY   c                   @   s   e Zd ZdS )z2Test_queryAdapterInContext.test_miss.<locals>.IFooNr:   r   r   r   r   r;   |   s   r;   r<   )r/   r(   r9   rZ   ÚassertEqualr   )r   r(   rZ   r;   r   r   r   r?   y   s     ÿz$Test_queryAdapterInContext.test_missc                    sb   ddl m} ddlm} G dd„ d|ƒ‰ tƒ ‰G ‡ ‡fdd„dtƒ}|  ||ƒ ˆ d d�ˆk¡ d S )	Nr   r'   rY   c                   @   s   e Zd ZdS )zATest_queryAdapterInContext.test_w_object_conforming.<locals>.IFooNr:   r   r   r   r   r;   „   s   r;   c                       s   e Zd Zd‡ ‡fdd„	ZdS )z@Test_queryAdapterInContext.test_w_object_conforming.<locals>.FooNc                    s   |ˆ krˆS |S r   r   ©r   ÚifaceÚdefault©r;   Ú_adaptedr   r   Ú__conform__ˆ   s    zLTest_queryAdapterInContext.test_w_object_conforming.<locals>.Foo.__conform__)N©r3   r4   r5   ra   r   r_   r   r   ÚFoo‡   s   rc   r<   )r/   r(   r9   rZ   r   r   ©r   r(   rZ   rc   r   r_   r   Útest_w_object_conforming�   s    ÿz3Test_queryAdapterInContext.test_w_object_conformingc                    s^   ddl m} ddlm} G dd„ d|ƒ‰ tƒ ‰G ‡ ‡fdd„dtƒ}|  ||ˆ d d�d ¡ d S )	Nr   r'   rY   c                   @   s   e Zd ZdS )zTTest_queryAdapterInContext.test___conform___raises_TypeError_via_class.<locals>.IFooNr:   r   r   r   r   r;   ’   s   r;   c                       s   e Zd Zd‡ ‡fdd„	ZdS )zSTest_queryAdapterInContext.test___conform___raises_TypeError_via_class.<locals>.FooNc                    s   |ˆ krˆS |S r   r   r\   r_   r   r   ra   –   s    z_Test_queryAdapterInContext.test___conform___raises_TypeError_via_class.<locals>.Foo.__conform__)Nrb   r   r_   r   r   rc   •   s   rc   r<   )r/   r(   r9   rZ   r   r[   rd   r   r_   r   Ú+test___conform___raises_TypeError_via_class�   s    zFTest_queryAdapterInContext.test___conform___raises_TypeError_via_classc                 C   sX   ddl m} ddlm} G dd„ d|ƒ}tƒ }G dd„ dtƒ}| jt||ƒ |d d� d S )	Nr   r'   rY   c                   @   s   e Zd ZdS )zSTest_queryAdapterInContext.test___conform___raises_TypeError_via_inst.<locals>.IFooNr:   r   r   r   r   r;       s   r;   c                   @   s   e Zd Zddd„ZdS )zRTest_queryAdapterInContext.test___conform___raises_TypeError_via_inst.<locals>.FooNc                 S   s   t ‚d S r   )Ú	TypeErrorr\   r   r   r   ra   ¤   s    z^Test_queryAdapterInContext.test___conform___raises_TypeError_via_inst.<locals>.Foo.__conform__)Nrb   r   r   r   r   rc   £   s   rc   r<   )r/   r(   r9   rZ   r   r$   rg   )r   r(   rZ   r;   r`   rc   r   r   r   Ú*test___conform___raises_TypeError_via_inst�   s       ÿzETest_queryAdapterInContext.test___conform___raises_TypeError_via_instc                 C   sn   ddl m} 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@   rY   c                   @   s   e Zd ZdS )zCTest_queryAdapterInContext.test_w_object_implementing.<locals>.IFooNr:   r   r   r   r   r;   ­   s   r;   c                   @   s   e Zd ZdS )zBTest_queryAdapterInContext.test_w_object_implementing.<locals>.FooNr:   r   r   r   r   rc   ¯   s   rc   r<   )r/   r(   rA   r9   rZ   r   r   )r   r(   rA   rZ   r;   rc   Zfoor   r   r   Útest_w_object_implementing©   s    ÿz5Test_queryAdapterInContext.test_w_object_implementingN)r3   r4   r5   r6   r   r   r   r?   re   rf   rh   ri   r   r   r   r   rX   q   s   rX   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_getAdapterr   r   c                 O   s   ddl m} |||ŽS )Nr   )Ú
getAdapter)r9   rk   )r   r	   r
   rk   r   r   r   r   »   s    zTest_getAdapter._callFUTc                 C   sB   ddl m} ddlm} G dd„ d|ƒ}|  || jtƒ |d¡ d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z5Test_getAdapter.test_anonymous_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   Â   s   r;   r.   r=   r>   r   r   r   Útest_anonymous_nonesuch¿   s       ÿz'Test_getAdapter.test_anonymous_nonesuchc                 C   sB   ddl m} ddlm} G dd„ d|ƒ}|  || jtƒ |d¡ d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z1Test_getAdapter.test_named_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   Ê   s   r;   rU   r=   r>   r   r   r   Útest_named_nonesuchÇ   s       ÿz#Test_getAdapter.test_named_nonesuchc           
      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¡ |ƒ }|  ||d¡}	|  |	j	|k¡ |  |	j
|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z0Test_getAdapter.test_anonymous_hit.<locals>.IFooNr:   r   r   r   r   r;   Ó   s   r;   c                   @   s   e Zd ZdS )z0Test_getAdapter.test_anonymous_hit.<locals>.IBarNr:   r   r   r   r   rD   Õ   s   rD   c                   @   s   e Zd ZdS )z/Test_getAdapter.test_anonymous_hit.<locals>.BarNr:   r   r   r   r   rJ   ×   s   rJ   c                   @   s   e Zd Zdd„ ZdS )z/Test_getAdapter.test_anonymous_hit.<locals>.Bazc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   Ü   s    z8Test_getAdapter.test_anonymous_hit.<locals>.Baz.__init__NrG   r   r   r   r   ÚBazÚ   s   rn   r.   ©r/   r(   rA   r9   r*   r   r0   r   r   rS   r    ©
r   r(   rA   r*   r;   rD   rJ   rn   rU   rV   r   r   r   Útest_anonymous_hitÏ   s    z"Test_getAdapter.test_anonymous_hitc                 C   s–   ddl m} ddl m} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}|ƒ  |d	|d
¡ tƒ }|  ||d
¡}|  |j	|k¡ |  |j
|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )zDTest_getAdapter.test_anonymous_hit_registered_for_None.<locals>.IFooNr:   r   r   r   r   r;   è   s   r;   c                   @   s   e Zd Zdd„ ZdS )zCTest_getAdapter.test_anonymous_hit_registered_for_None.<locals>.Bazc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   ì   s    zLTest_getAdapter.test_anonymous_hit_registered_for_None.<locals>.Baz.__init__NrG   r   r   r   r   rn   ê   s   rn   r   r.   ro   )r   r(   rA   r*   r;   rn   ÚctxrV   r   r   r   Ú&test_anonymous_hit_registered_for_Noneä   s    z6Test_getAdapter.test_anonymous_hit_registered_for_Nonec           
      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¡ |ƒ }|  ||d¡}	|  |	j	|k¡ |  |	j
|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z,Test_getAdapter.test_named_hit.<locals>.IFooNr:   r   r   r   r   r;   ø   s   r;   c                   @   s   e Zd ZdS )z,Test_getAdapter.test_named_hit.<locals>.IBarNr:   r   r   r   r   rD   ú   s   rD   c                   @   s   e Zd ZdS )z+Test_getAdapter.test_named_hit.<locals>.BarNr:   r   r   r   r   rJ   ü   s   rJ   c                   @   s   e Zd Zdd„ ZdS )z+Test_getAdapter.test_named_hit.<locals>.Bazc                 S   s
   || _ d S r   r<   rE   r   r   r   rF     s    z4Test_getAdapter.test_named_hit.<locals>.Baz.__init__NrG   r   r   r   r   rn   ÿ   s   rn   Únamedro   rp   r   r   r   Útest_named_hitô   s    zTest_getAdapter.test_named_hitN©r3   r4   r5   r6   r   r   r   rl   rm   rq   rs   ru   r   r   r   r   rj   ·   s   rj   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_queryAdapterr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚqueryAdapter)r9   rx   )r   r	   r
   rx   r   r   r   r     s    zTest_queryAdapter._callFUTc                 C   s:   ddl m} G dd„ d|ƒ}|  |  tƒ |dd¡d¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z7Test_queryAdapter.test_anonymous_nonesuch.<locals>.IFooNr:   r   r   r   r   r;     s   r;   r.   ú	<default>©r/   r(   r[   r   r   ©r   r(   r;   r   r   r   rl     s
    ÿz)Test_queryAdapter.test_anonymous_nonesuchc                 C   s8   ddl m} G dd„ d|ƒ}|  |  tƒ |d¡d ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z3Test_queryAdapter.test_named_nonesuch.<locals>.IFooNr:   r   r   r   r   r;     s   r;   rU   rz   r{   r   r   r   rm     s    z%Test_queryAdapter.test_named_nonesuchc           
      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¡ |ƒ }|  ||d¡}	|  |	j	|k¡ |  |	j
|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z2Test_queryAdapter.test_anonymous_hit.<locals>.IFooNr:   r   r   r   r   r;   #  s   r;   c                   @   s   e Zd ZdS )z2Test_queryAdapter.test_anonymous_hit.<locals>.IBarNr:   r   r   r   r   rD   %  s   rD   c                   @   s   e Zd ZdS )z1Test_queryAdapter.test_anonymous_hit.<locals>.BarNr:   r   r   r   r   rJ   '  s   rJ   c                   @   s   e Zd Zdd„ ZdS )z1Test_queryAdapter.test_anonymous_hit.<locals>.Bazc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   ,  s    z:Test_queryAdapter.test_anonymous_hit.<locals>.Baz.__init__NrG   r   r   r   r   rn   *  s   rn   r.   ro   rp   r   r   r   rq     s    z$Test_queryAdapter.test_anonymous_hitc           
      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¡ |ƒ }|  ||d¡}	|  |	j	|k¡ |  |	j
|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z.Test_queryAdapter.test_named_hit.<locals>.IFooNr:   r   r   r   r   r;   8  s   r;   c                   @   s   e Zd ZdS )z.Test_queryAdapter.test_named_hit.<locals>.IBarNr:   r   r   r   r   rD   :  s   rD   c                   @   s   e Zd ZdS )z-Test_queryAdapter.test_named_hit.<locals>.BarNr:   r   r   r   r   rJ   <  s   rJ   c                   @   s   e Zd Zdd„ ZdS )z-Test_queryAdapter.test_named_hit.<locals>.Bazc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   A  s    z6Test_queryAdapter.test_named_hit.<locals>.Baz.__init__NrG   r   r   r   r   rn   ?  s   rn   rt   ro   rp   r   r   r   ru   4  s    z Test_queryAdapter.test_named_hitc                 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
|ƒ}||ƒG dd„ dt	ƒƒ}||ƒG dd„ dt	ƒƒ}	||ƒG dd„ dt	ƒƒ}
G dd„ d|ƒ}|ƒ }| 
||f|d¡ |d|fd�}| 
|	|f|d¡ |
ƒ }| j||d||ƒd�}|  |j|	k¡ |  |j|k¡ d S )Nr   r'   r@   rB   r)   r   c                   @   s   e Zd ZdS )z+Test_queryAdapter.test_nested.<locals>.IFooNr:   r   r   r   r   r;   O  s   r;   c                   @   s   e Zd ZdS )z+Test_queryAdapter.test_nested.<locals>.IBarNr:   r   r   r   r   rD   Q  s   rD   c                   @   s   e Zd Zdd„ ZdS )z-Test_queryAdapter.test_nested.<locals>.Globalc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   U  s    z6Test_queryAdapter.test_nested.<locals>.Global.__init__NrG   r   r   r   r   rH   S  s   rH   c                   @   s   e Zd Zdd„ ZdS )z,Test_queryAdapter.test_nested.<locals>.Localc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   Y  s    z5Test_queryAdapter.test_nested.<locals>.Local.__init__NrG   r   r   r   r   rI   W  s   rI   c                   @   s   e Zd ZdS )z*Test_queryAdapter.test_nested.<locals>.BarNr:   r   r   r   r   rJ   [  s   rJ   c                   @   s   e Zd Zdd„ ZdS )z.Test_queryAdapter.test_nested.<locals>.Contextc                 S   s
   || _ d S r   rK   rL   r   r   r   rF   _  s    z7Test_queryAdapter.test_nested.<locals>.Context.__init__NrG   r   r   r   r   rM   ^  s   rM   r.   rN   rO   r<   rQ   rT   r   r   r   Útest_nestedI  s,    zTest_queryAdapter.test_nestedN)r3   r4   r5   r6   r   r   r   rl   rm   rq   ru   r|   r   r   r   r   rw   
  s   rw   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_getMultiAdapterr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetMultiAdapter)r9   r~   )r   r	   r
   r~   r   r   r   r   o  s    zTest_getMultiAdapter._callFUTc                 C   sH   ddl m} ddlm} G dd„ d|ƒ}|  || jtƒ tƒ f|d¡ d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z:Test_getMultiAdapter.test_anonymous_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   v  s   r;   r.   r=   r>   r   r   r   rl   s  s     
  ÿz,Test_getMultiAdapter.test_anonymous_nonesuchc                 C   sH   ddl m} ddlm} G dd„ d|ƒ}|  || jtƒ tƒ f|d¡ d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z6Test_getMultiAdapter.test_named_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   ~  s   r;   rU   r=   r>   r   r   r   rm   {  s     
  ÿz(Test_getMultiAdapter.test_named_nonesuchc                 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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}	|ƒ  |	||f|d¡ |ƒ }
|ƒ }|  |
|f|d¡}|  |j	|	k¡ |  |j
|
k¡ |  |j|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z5Test_getMultiAdapter.test_anonymous_hit.<locals>.IFooNr:   r   r   r   r   r;   ‡  s   r;   c                   @   s   e Zd ZdS )z5Test_getMultiAdapter.test_anonymous_hit.<locals>.IBarNr:   r   r   r   r   rD   ‰  s   rD   c                   @   s   e Zd ZdS )z5Test_getMultiAdapter.test_anonymous_hit.<locals>.IBazNr:   r   r   r   r   ÚIBaz‹  s   r   c                   @   s   e Zd ZdS )z4Test_getMultiAdapter.test_anonymous_hit.<locals>.BarNr:   r   r   r   r   rJ   �  s   rJ   c                   @   s   e Zd ZdS )z4Test_getMultiAdapter.test_anonymous_hit.<locals>.BazNr:   r   r   r   r   rn   �  s   rn   c                   @   s   e Zd Zdd„ ZdS )z;Test_getMultiAdapter.test_anonymous_hit.<locals>.FooAdapterc                 S   s   || | _ | _d S r   ©ÚfirstÚsecond©r   r�   r‚   r   r   r   rF   •  s    zDTest_getMultiAdapter.test_anonymous_hit.<locals>.FooAdapter.__init__NrG   r   r   r   r   Ú
FooAdapter“  s   r„   r.   ©r/   r(   rA   r9   r*   r   r0   r   r   rS   r�   r‚   ©r   r(   rA   r*   r;   rD   r   rJ   rn   r„   rU   ÚbazrV   r   r   r   rq   ƒ  s0       ÿz'Test_getMultiAdapter.test_anonymous_hitc                 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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}|ƒ  ||d f|d¡ |ƒ }	tƒ }
|  |	|
f|d¡}|  |j	|k¡ |  |j
|	k¡ |  |j|
k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )zITest_getMultiAdapter.test_anonymous_hit_registered_for_None.<locals>.IFooNr:   r   r   r   r   r;   ¤  s   r;   c                   @   s   e Zd ZdS )zITest_getMultiAdapter.test_anonymous_hit_registered_for_None.<locals>.IBarNr:   r   r   r   r   rD   ¦  s   rD   c                   @   s   e Zd ZdS )zITest_getMultiAdapter.test_anonymous_hit_registered_for_None.<locals>.IBazNr:   r   r   r   r   r   ¨  s   r   c                   @   s   e Zd ZdS )zHTest_getMultiAdapter.test_anonymous_hit_registered_for_None.<locals>.BarNr:   r   r   r   r   rJ   ª  s   rJ   c                   @   s   e Zd Zdd„ ZdS )zOTest_getMultiAdapter.test_anonymous_hit_registered_for_None.<locals>.FooAdapterc                 S   s   || | _ | _d S r   r€   rƒ   r   r   r   rF   ¯  s    zXTest_getMultiAdapter.test_anonymous_hit_registered_for_None.<locals>.FooAdapter.__init__NrG   r   r   r   r   r„   ­  s   r„   r.   r…   )r   r(   rA   r*   r;   rD   r   rJ   r„   rU   r‡   rV   r   r   r   rs      s,       ÿz;Test_getMultiAdapter.test_anonymous_hit_registered_for_Nonec                 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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}	|ƒ  |	||f|d¡ |ƒ }
|ƒ }|  |
|f|d¡}|  |j	|	k¡ |  |j
|
k¡ |  |j|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z1Test_getMultiAdapter.test_named_hit.<locals>.IFooNr:   r   r   r   r   r;   ¾  s   r;   c                   @   s   e Zd ZdS )z1Test_getMultiAdapter.test_named_hit.<locals>.IBarNr:   r   r   r   r   rD   À  s   rD   c                   @   s   e Zd ZdS )z1Test_getMultiAdapter.test_named_hit.<locals>.IBazNr:   r   r   r   r   r   Â  s   r   c                   @   s   e Zd ZdS )z0Test_getMultiAdapter.test_named_hit.<locals>.BarNr:   r   r   r   r   rJ   Ä  s   rJ   c                   @   s   e Zd ZdS )z0Test_getMultiAdapter.test_named_hit.<locals>.BazNr:   r   r   r   r   rn   Ç  s   rn   c                   @   s   e Zd Zdd„ ZdS )z7Test_getMultiAdapter.test_named_hit.<locals>.FooAdapterc                 S   s   || | _ | _d S r   r€   rƒ   r   r   r   rF   Ì  s    z@Test_getMultiAdapter.test_named_hit.<locals>.FooAdapter.__init__NrG   r   r   r   r   r„   Ê  s   r„   rt   r…   r†   r   r   r   ru   º  s0       ÿz#Test_getMultiAdapter.test_named_hitNrv   r   r   r   r   r}   k  s   r}   c                   @   sT   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d„ ZdS )ÚTest_queryMultiAdapterr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚqueryMultiAdapter)r9   r‰   )r   r	   r
   r‰   r   r   r   r   Ü  s    zTest_queryMultiAdapter._callFUTc                 C   s@   ddl m} G dd„ d|ƒ}|  |  tƒ tƒ f|dd¡d¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z<Test_queryMultiAdapter.test_anonymous_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   â  s   r;   r.   ry   rz   r{   r   r   r   rl   à  s    ÿþz.Test_queryMultiAdapter.test_anonymous_nonesuchc                 C   s>   ddl m} G dd„ d|ƒ}|  |  tƒ tƒ f|d¡d ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z8Test_queryMultiAdapter.test_named_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   ê  s   r;   rU   rz   r{   r   r   r   rm   è  s
    ÿz*Test_queryMultiAdapter.test_named_nonesuchc                 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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}	|ƒ  |	||f|d¡ |ƒ }
|ƒ }|  |
|f|d¡}|  |j	|	k¡ |  |j
|
k¡ |  |j|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z7Test_queryMultiAdapter.test_anonymous_hit.<locals>.IFooNr:   r   r   r   r   r;   ó  s   r;   c                   @   s   e Zd ZdS )z7Test_queryMultiAdapter.test_anonymous_hit.<locals>.IBarNr:   r   r   r   r   rD   õ  s   rD   c                   @   s   e Zd ZdS )z7Test_queryMultiAdapter.test_anonymous_hit.<locals>.IBazNr:   r   r   r   r   r   ÷  s   r   c                   @   s   e Zd ZdS )z6Test_queryMultiAdapter.test_anonymous_hit.<locals>.BarNr:   r   r   r   r   rJ   ù  s   rJ   c                   @   s   e Zd ZdS )z6Test_queryMultiAdapter.test_anonymous_hit.<locals>.BazNr:   r   r   r   r   rn   ü  s   rn   c                   @   s   e Zd Zdd„ ZdS )z=Test_queryMultiAdapter.test_anonymous_hit.<locals>.FooAdapterc                 S   s   || | _ | _d S r   r€   rƒ   r   r   r   rF     s    zFTest_queryMultiAdapter.test_anonymous_hit.<locals>.FooAdapter.__init__NrG   r   r   r   r   r„   ÿ  s   r„   r.   r…   r†   r   r   r   rq   ï  s0       ÿz)Test_queryMultiAdapter.test_anonymous_hitc                 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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}	|ƒ  |	||f|d¡ |ƒ }
|ƒ }|  |
|f|d¡}|  |j	|	k¡ |  |j
|
k¡ |  |j|k¡ d S )Nr   r'   r@   r)   c                   @   s   e Zd ZdS )z3Test_queryMultiAdapter.test_named_hit.<locals>.IFooNr:   r   r   r   r   r;     s   r;   c                   @   s   e Zd ZdS )z3Test_queryMultiAdapter.test_named_hit.<locals>.IBarNr:   r   r   r   r   rD     s   rD   c                   @   s   e Zd ZdS )z3Test_queryMultiAdapter.test_named_hit.<locals>.IBazNr:   r   r   r   r   r     s   r   c                   @   s   e Zd ZdS )z2Test_queryMultiAdapter.test_named_hit.<locals>.BarNr:   r   r   r   r   rJ     s   rJ   c                   @   s   e Zd ZdS )z2Test_queryMultiAdapter.test_named_hit.<locals>.BazNr:   r   r   r   r   rn     s   rn   c                   @   s   e Zd Zdd„ ZdS )z9Test_queryMultiAdapter.test_named_hit.<locals>.FooAdapterc                 S   s   || | _ | _d S r   r€   rƒ   r   r   r   rF     s    zBTest_queryMultiAdapter.test_named_hit.<locals>.FooAdapter.__init__NrG   r   r   r   r   r„     s   r„   rt   r…   r†   r   r   r   ru     s0       ÿz%Test_queryMultiAdapter.test_named_hitc                 C   sr  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
|ƒ}G dd„ d|ƒ}||ƒG dd„ dt	ƒƒ}	||ƒG dd„ dt	ƒƒ}
||ƒG dd„ dt	ƒƒ}||ƒG dd„ dt	ƒƒ}G dd„ d|ƒ}|ƒ }| 
|||f|d¡ |d|fd�}| 
|||f|d¡ |	ƒ }|
ƒ }| j||f|d||ƒd�}|  |j|k¡ |  |j|k¡ |  |j|k¡ d S )Nr   r'   r@   rB   r)   r   c                   @   s   e Zd ZdS )z0Test_queryMultiAdapter.test_nested.<locals>.IFooNr:   r   r   r   r   r;   /  s   r;   c                   @   s   e Zd ZdS )z0Test_queryMultiAdapter.test_nested.<locals>.IBarNr:   r   r   r   r   rD   1  s   rD   c                   @   s   e Zd ZdS )z0Test_queryMultiAdapter.test_nested.<locals>.IBazNr:   r   r   r   r   r   3  s   r   c                   @   s   e Zd ZdS )z/Test_queryMultiAdapter.test_nested.<locals>.BarNr:   r   r   r   r   rJ   5  s   rJ   c                   @   s   e Zd ZdS )z/Test_queryMultiAdapter.test_nested.<locals>.BazNr:   r   r   r   r   rn   8  s   rn   c                   @   s   e Zd Zdd„ ZdS )z2Test_queryMultiAdapter.test_nested.<locals>.Globalc                 S   s   || | _ | _d S r   r€   rƒ   r   r   r   rF   =  s    z;Test_queryMultiAdapter.test_nested.<locals>.Global.__init__NrG   r   r   r   r   rH   ;  s   rH   c                   @   s   e Zd Zdd„ ZdS )z1Test_queryMultiAdapter.test_nested.<locals>.Localc                 S   s   || | _ | _d S r   r€   rƒ   r   r   r   rF   A  s    z:Test_queryMultiAdapter.test_nested.<locals>.Local.__init__NrG   r   r   r   r   rI   ?  s   rI   c                   @   s   e Zd Zdd„ ZdS )z3Test_queryMultiAdapter.test_nested.<locals>.Contextc                 S   s
   || _ d S r   rK   rL   r   r   r   rF   D  s    z<Test_queryMultiAdapter.test_nested.<locals>.Context.__init__NrG   r   r   r   r   rM   C  s   rM   r.   rN   rO   r<   )r/   r(   rA   rR   rC   r9   r*   r   r   r   r0   r   r   rS   r�   r‚   )r   r(   rA   rC   r*   r   r;   rD   r   rJ   rn   rH   rI   rM   r1   rN   rU   r‡   rV   r   r   r   r|   )  s6    z"Test_queryMultiAdapter.test_nestedc                    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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}G ‡ fdd„dtƒ}|ƒ }	|ƒ }
| j|	|
f|d|ƒ d�}|  |d k¡ d S )Nr   r'   r@   r"   c                   @   s   e Zd ZdS )z8Test_queryMultiAdapter.test_wo_sitemanager.<locals>.IFooNr:   r   r   r   r   r;   U  s   r;   c                   @   s   e Zd ZdS )z8Test_queryMultiAdapter.test_wo_sitemanager.<locals>.IBarNr:   r   r   r   r   rD   W  s   rD   c                   @   s   e Zd ZdS )z8Test_queryMultiAdapter.test_wo_sitemanager.<locals>.IBazNr:   r   r   r   r   r   Y  s   r   c                   @   s   e Zd ZdS )z7Test_queryMultiAdapter.test_wo_sitemanager.<locals>.BarNr:   r   r   r   r   rJ   [  s   rJ   c                   @   s   e Zd ZdS )z7Test_queryMultiAdapter.test_wo_sitemanager.<locals>.BazNr:   r   r   r   r   rn   ^  s   rn   c                       s   e Zd Z‡ fdd„ZdS )z;Test_queryMultiAdapter.test_wo_sitemanager.<locals>.Contextc                    s   ˆ ‚d S r   r   ©r   r]   r"   r   r   ra   b  s    zGTest_queryMultiAdapter.test_wo_sitemanager.<locals>.Context.__conform__Nrb   r   r"   r   r   rM   a  s   rM   r.   r<   )r/   r(   rA   r   r#   r   r   r   ©r   r(   rA   r;   rD   r   rJ   rn   rM   rU   r‡   rV   r   r"   r   Útest_wo_sitemanagerQ  s    z*Test_queryMultiAdapter.test_wo_sitemanagerN)r3   r4   r5   r6   r   r   r   rl   rm   rq   ru   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d„ Zd	d
„ Z	dS )ÚTest_getAdaptersr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetAdapters)r9   rŽ   )r   r	   r
   rŽ   r   r   r   r   n  s    zTest_getAdapters._callFUTc                 C   s<   ddl m} G dd„ d|ƒ}|  t|  tƒ f|¡ƒg ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z,Test_getAdapters.test_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   t  s   r;   )r/   r(   r[   Úlistr   r   r{   r   r   r   Útest_nonesuchr  s    zTest_getAdapters.test_nonesuchc           	      C   sÀ   ddl m} ddlm} G dd„ d|ƒ}G dd„ dtƒ}G dd	„ d	tƒ}|ƒ }| |d
|¡ |j|d
|dd� t|  tƒ f|¡ƒ}|  t	|ƒd¡ dd„ |D ƒ}|  
d|k¡ |  
d|k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z'Test_getAdapters.test_hit.<locals>.IFooNr:   r   r   r   r   r;   {  s   r;   c                   @   s   e Zd Zdd„ ZdS )z-Test_getAdapters.test_hit.<locals>.BarAdapterc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   ~  s    z6Test_getAdapters.test_hit.<locals>.BarAdapter.__init__NrG   r   r   r   r   Ú
BarAdapter}  s   r‘   c                   @   s   e Zd Zdd„ ZdS )z-Test_getAdapters.test_hit.<locals>.BazAdapterc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   �  s    z6Test_getAdapters.test_hit.<locals>.BazAdapter.__init__NrG   r   r   r   r   Ú
BazAdapter€  s   r’   r   rU   ©Únameé   c                 S   s   g | ]\}}||j jf‘qS r   ©rS   r3   )Ú.0r+   Úyr   r   r   Ú
<listcomp>ˆ  s     z-Test_getAdapters.test_hit.<locals>.<listcomp>)r.   r‘   )rU   r’   )r/   r(   r9   r*   r   r0   r�   r   r[   Úlenr   )	r   r(   r*   r;   r‘   r’   r1   ÚtuplesÚnamesr   r   r   Útest_hitx  s    zTest_getAdapters.test_hitc                    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
|ƒ}||ƒG dd„ dtƒƒ}||ƒG dd„ dtƒƒ}G ‡ fdd„dtƒ}|ƒ }	|ƒ }
| j|	|
f||ƒ d�}|  |g ¡ d S )Nr   r'   r@   r"   c                   @   s   e Zd ZdS )z2Test_getAdapters.test_wo_sitemanager.<locals>.IFooNr:   r   r   r   r   r;   �  s   r;   c                   @   s   e Zd ZdS )z2Test_getAdapters.test_wo_sitemanager.<locals>.IBarNr:   r   r   r   r   rD   ’  s   rD   c                   @   s   e Zd ZdS )z2Test_getAdapters.test_wo_sitemanager.<locals>.IBazNr:   r   r   r   r   r   ”  s   r   c                   @   s   e Zd ZdS )z1Test_getAdapters.test_wo_sitemanager.<locals>.BarNr:   r   r   r   r   rJ   –  s   rJ   c                   @   s   e Zd ZdS )z1Test_getAdapters.test_wo_sitemanager.<locals>.BazNr:   r   r   r   r   rn   ™  s   rn   c                       s   e Zd Z‡ fdd„ZdS )z5Test_getAdapters.test_wo_sitemanager.<locals>.Contextc                    s   ˆ ‚d S r   r   rŠ   r"   r   r   ra   �  s    zATest_getAdapters.test_wo_sitemanager.<locals>.Context.__conform__Nrb   r   r"   r   r   rM   œ  s   rM   r<   )r/   r(   rA   r   r#   r   r   r[   r‹   r   r"   r   rŒ   Œ  s    z$Test_getAdapters.test_wo_sitemanagerN©
r3   r4   r5   r6   r   r   r   r�   r�   rŒ   r   r   r   r   r�   j  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_subscribersr   r   c                 O   s   ddl m} |||ŽS )Nr   )Úsubscribers)r9   r    )r   r	   r
   r    r   r   r   r   ©  s    zTest_subscribers._callFUTc                 C   s:   ddl m} G dd„ d|ƒ}|  tf|¡}|  |g ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z,Test_subscribers.test_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   ¯  s   r;   )r/   r(   r   r   r[   ©r   r(   r;   r    r   r   r   r�   ­  s    zTest_subscribers.test_nonesuchc           	      C   s¸   ddl m} ddlm} G dd„ d|ƒ}G dd„ dtƒ}G dd	„ d	tƒ}|ƒ }| |d
|¡ | |d
|¡ |  tƒ f|¡}|  t|ƒd¡ dd„ |D ƒ}|  	d|k¡ |  	d	|k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z'Test_subscribers.test_hit.<locals>.IFooNr:   r   r   r   r   r;   ·  s   r;   c                   @   s   e Zd Zdd„ ZdS )z-Test_subscribers.test_hit.<locals>.BarAdapterc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   º  s    z6Test_subscribers.test_hit.<locals>.BarAdapter.__init__NrG   r   r   r   r   r‘   ¹  s   r‘   c                   @   s   e Zd Zdd„ ZdS )z-Test_subscribers.test_hit.<locals>.BazAdapterc                 S   s
   || _ d S r   r<   rE   r   r   r   rF   ½  s    z6Test_subscribers.test_hit.<locals>.BazAdapter.__init__NrG   r   r   r   r   r’   ¼  s   r’   r   r•   c                 S   s   g | ]}|j j‘qS r   r–   )r—   r+   r   r   r   r™   Ä  s     z-Test_subscribers.test_hit.<locals>.<listcomp>)
r/   r(   r9   r*   r   ZregisterSubscriptionAdapterr   r[   rš   r   )	r   r(   r*   r;   r‘   r’   r1   r    rœ   r   r   r   r�   ´  s    zTest_subscribers.test_hitc                    s`   ddl m} ddlm‰  G dd„ d|ƒ}G ‡ fdd„dtƒ}| jtf||ƒ d�}|  |g ¡ d S )	Nr   r'   r"   c                   @   s   e Zd ZdS )z2Test_subscribers.test_wo_sitemanager.<locals>.IFooNr:   r   r   r   r   r;   Ë  s   r;   c                       s   e Zd Z‡ fdd„ZdS )z5Test_subscribers.test_wo_sitemanager.<locals>.Contextc                    s   ˆ ‚d S r   r   rŠ   r"   r   r   ra   Î  s    zATest_subscribers.test_wo_sitemanager.<locals>.Context.__conform__Nrb   r   r"   r   r   rM   Í  s   rM   r<   )r/   r(   r   r#   r   r   r[   )r   r(   r;   rM   r    r   r"   r   rŒ   È  s    z$Test_subscribers.test_wo_sitemanagerNrž   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_handler   r   c                 O   s   ddl m} |||ŽS )Nr   )Úhandle)r9   r£   )r   r	   r
   r£   r   r   r   r   Ø  s    zTest_handle._callFUTc                 C   s.   ddl m} G dd„ d|ƒ}|  tf|¡}d S )Nr   r'   c                   @   s   e Zd ZdS )z'Test_handle.test_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   Þ  s   r;   )r/   r(   r   r   r¡   r   r   r   r�   Ü  s    zTest_handle.test_nonesuchc           	         sÈ   ddl m} ddlm} ddlm} G dd„ d|ƒ}||ƒG dd„ dtƒƒ}g ‰ ‡ fd	d
„}‡ fdd„}|ƒ }| ||f¡ | ||f¡ |  |ƒ ¡ |  t	ˆ ƒdˆ ¡ |  
dˆ k¡ |  
dˆ k¡ d S )Nr   r)   r'   r@   c                   @   s   e Zd ZdS )z"Test_handle.test_hit.<locals>.IFooNr:   r   r   r   r   r;   æ  s   r;   c                   @   s   e Zd ZdS )z!Test_handle.test_hit.<locals>.FooNr:   r   r   r   r   rc   è  s   rc   c                    s   ˆ   d¡ d S )NÚ_bar©Úappendr<   ©Z_calledr   r   r¤   ì  s    z"Test_handle.test_hit.<locals>._barc                    s   ˆ   d¡ d S )NÚ_bazr¥   r<   r§   r   r   r¨   î  s    z"Test_handle.test_hit.<locals>._bazr•   r¤   r¨   )r9   r*   r/   r(   rA   r   ZregisterHandlerr   r[   rš   r   )	r   r*   r(   rA   r;   rc   r¤   r¨   r1   r   r§   r   r�   â  s     zTest_handle.test_hitN©	r3   r4   r5   r6   r   r   r   r�   r�   r   r   r   r   r¢   Ô  s   r¢   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_getUtilityr   r   c                 O   s   ddl m} |||ŽS )Nr   )Ú
getUtility)r   r«   )r   r	   r
   r«   r   r   r   r   ý  s    zTest_getUtility._callFUTc                 C   s<   ddl m} ddlm} G dd„ d|ƒ}|  || j|¡ d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z5Test_getUtility.test_anonymous_nonesuch.<locals>.IFooNr:   r   r   r   r   r;     s   r;   ©r/   r(   r   r#   r$   r   r>   r   r   r   rl     s    z'Test_getUtility.test_anonymous_nonesuchc                 C   s@   ddl m} ddlm} G dd„ d|ƒ}| j|| j|dd� d S )Nr   r'   r"   c                   @   s   e Zd ZdS )z1Test_getUtility.test_named_nonesuch.<locals>.IFooNr:   r   r   r   r   r;     s   r;   rU   r“   r¬   r>   r   r   r   rm     s      ÿz#Test_getUtility.test_named_nonesuchc                 C   sT   ddl m} ddlm} G dd„ d|ƒ}tƒ }|ƒ  ||¡ |  |  |¡|k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z0Test_getUtility.test_anonymous_hit.<locals>.IFooNr:   r   r   r   r   r;     s   r;   ©r/   r(   r9   r*   r   ÚregisterUtilityr   r   ©r   r(   r*   r;   Úobjr   r   r   rq     s    z"Test_getUtility.test_anonymous_hitc                 C   s\   ddl m} ddlm} G dd„ d|ƒ}tƒ }|ƒ j||dd� |  | j|dd�|k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z,Test_getUtility.test_named_hit.<locals>.IFooNr:   r   r   r   r   r;     s   r;   rU   r“   r­   r¯   r   r   r   ru     s    zTest_getUtility.test_named_hitc           
      C   sŠ   ddl m} ddlm} ddlm} G dd„ dtƒ}G dd„ d|ƒ}tƒ }tƒ }||ƒ}||ƒ}	|ƒ  ||¡ |  | j	||	d	�|k¡ d S )
Nr   r'   r)   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )z5Test_getUtility.test_w_conforming_context.<locals>.SMc                 S   s
   || _ d S r   ©Ú_obj©r   r°   r   r   r   rF   '  s    z>Test_getUtility.test_w_conforming_context.<locals>.SM.__init__c                 S   s   | j S r   r±   ©r   Z	interfacer”   r^   r   r   r   ÚqueryUtility)  s    zBTest_getUtility.test_w_conforming_context.<locals>.SM.queryUtilityN©r3   r4   r5   rF   rµ   r   r   r   r   ÚSM&  s   r·   c                   @   s   e Zd ZdS )z7Test_getUtility.test_w_conforming_context.<locals>.IFooNr:   r   r   r   r   r;   +  s   r;   r<   ©
r/   r(   r9   r*   r   r   r   r®   r   r   ©
r   r(   r*   r   r·   r;   Úobj1Úobj2r   r    r   r   r   Útest_w_conforming_context"  s    z)Test_getUtility.test_w_conforming_contextN)r3   r4   r5   r6   r   r   r   rl   rm   rq   ru   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d„ Zd	d
„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZdS )ÚTest_queryUtilityr   r   c                 O   s   ddl m} |||ŽS )Nr   )rµ   )r   rµ   )r   r	   r
   rµ   r   r   r   r   9  s    zTest_queryUtility._callFUTc                 C   s2   ddl m} G dd„ d|ƒ}|  |  |¡d ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z7Test_queryUtility.test_anonymous_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   ?  s   r;   ©r/   r(   r[   r   r{   r   r   r   rl   =  s    z)Test_queryUtility.test_anonymous_nonesuchc                 C   s>   ddl m} G dd„ d|ƒ}tƒ }|  | j||d�|k¡ d S )Nr   r'   c                   @   s   e Zd ZdS )zATest_queryUtility.test_anonymous_nonesuch_w_default.<locals>.IFooNr:   r   r   r   r   r;   E  s   r;   )r^   ©r/   r(   r   r   r   ©r   r(   r;   r°   r   r   r   Ú!test_anonymous_nonesuch_w_defaultC  s    z3Test_queryUtility.test_anonymous_nonesuch_w_defaultc                 C   s6   ddl m} G dd„ d|ƒ}|  | j|dd�d ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z3Test_queryUtility.test_named_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   L  s   r;   rU   r“   r¾   r{   r   r   r   rm   J  s    z%Test_queryUtility.test_named_nonesuchc                 C   s@   ddl m} G dd„ d|ƒ}tƒ }|  | j|d|d�|k¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z=Test_queryUtility.test_named_nonesuch_w_default.<locals>.IFooNr:   r   r   r   r   r;   R  s   r;   rU   )r”   r^   r¿   rÀ   r   r   r   Útest_named_nonesuch_w_defaultP  s    z/Test_queryUtility.test_named_nonesuch_w_defaultc                 C   sT   ddl m} ddlm} G dd„ d|ƒ}tƒ }|ƒ  ||¡ |  |  |¡|k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z2Test_queryUtility.test_anonymous_hit.<locals>.IFooNr:   r   r   r   r   r;   Z  s   r;   r­   r¯   r   r   r   rq   W  s    z$Test_queryUtility.test_anonymous_hitc                 C   s\   ddl m} ddlm} G dd„ d|ƒ}tƒ }|ƒ j||dd� |  | j|dd�|k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z.Test_queryUtility.test_named_hit.<locals>.IFooNr:   r   r   r   r   r;   c  s   r;   rU   r“   r­   r¯   r   r   r   ru   `  s    z Test_queryUtility.test_named_hitc           
      C   sŠ   ddl m} ddlm} ddlm} G dd„ dtƒ}G dd„ d|ƒ}tƒ }tƒ }||ƒ}||ƒ}	|ƒ  ||¡ |  | j	||	d	�|k¡ d S )
Nr   r'   r)   r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )z7Test_queryUtility.test_w_conforming_context.<locals>.SMc                 S   s
   || _ d S r   r±   r³   r   r   r   rF   n  s    z@Test_queryUtility.test_w_conforming_context.<locals>.SM.__init__c                 S   s   | j S r   r±   r´   r   r   r   rµ   p  s    zDTest_queryUtility.test_w_conforming_context.<locals>.SM.queryUtilityNr¶   r   r   r   r   r·   m  s   r·   c                   @   s   e Zd ZdS )z9Test_queryUtility.test_w_conforming_context.<locals>.IFooNr:   r   r   r   r   r;   r  s   r;   r<   r¸   r¹   r   r   r   r¼   i  s    z+Test_queryUtility.test_w_conforming_contextN)r3   r4   r5   r6   r   r   r   rl   rÁ   rm   rÂ   rq   ru   r¼   r   r   r   r   r½   5  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_getUtilitiesForr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetUtilitiesFor)r   rÄ   )r   r	   r
   rÄ   r   r   r   r   €  s    zTest_getUtilitiesFor._callFUTc                 C   s6   ddl m} G dd„ d|ƒ}|  t|  |¡ƒg ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z0Test_getUtilitiesFor.test_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   †  s   r;   ©r/   r(   r[   r�   r   r{   r   r   r   r�   „  s    z"Test_getUtilitiesFor.test_nonesuchc                 C   sš   ddl m} ddlm} G dd„ d|ƒ}tƒ }tƒ }|ƒ  ||¡ |ƒ j||dd� t|  |¡ƒ}|  t	|ƒd¡ |  
d	|f|k¡ |  
d|f|k¡ d S )
Nr   r'   r)   c                   @   s   e Zd ZdS )z+Test_getUtilitiesFor.test_hit.<locals>.IFooNr:   r   r   r   r   r;   �  s   r;   rU   r“   r•   r.   ©r/   r(   r9   r*   r   r®   r�   r   r[   rš   r   )r   r(   r*   r;   r°   rº   r›   r   r   r   r�   Š  s    zTest_getUtilitiesFor.test_hitNr©   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_getAllUtilitiesRegisteredForr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetAllUtilitiesRegisteredFor)r9   rÈ   )r   r	   r
   rÈ   r   r   r   r   �  s    z*Test_getAllUtilitiesRegisteredFor._callFUTc                 C   s6   ddl m} G dd„ d|ƒ}|  t|  |¡ƒg ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z=Test_getAllUtilitiesRegisteredFor.test_nonesuch.<locals>.IFooNr:   r   r   r   r   r;   £  s   r;   rÅ   r{   r   r   r   r�   ¡  s    z/Test_getAllUtilitiesRegisteredFor.test_nonesuchc           	      C   sÄ   ddl m} ddlm} G dd„ d|ƒ}G dd„ d|ƒ}tƒ }tƒ }tƒ }|ƒ  ||¡ |ƒ j||dd	� |ƒ  ||¡ t|  |¡ƒ}|  t	|ƒd
¡ |  
||k¡ |  
||k¡ |  
||k¡ d S )Nr   r'   r)   c                   @   s   e Zd ZdS )z8Test_getAllUtilitiesRegisteredFor.test_hit.<locals>.IFooNr:   r   r   r   r   r;   ª  s   r;   c                   @   s   e Zd ZdS )z8Test_getAllUtilitiesRegisteredFor.test_hit.<locals>.IBarNr:   r   r   r   r   rD   ¬  s   rD   rU   r“   é   rÆ   )	r   r(   r*   r;   rD   r°   rº   r»   Zutsr   r   r   r�   §  s    z*Test_getAllUtilitiesRegisteredFor.test_hitNr©   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_getNextUtilityr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetNextUtility)r9   rË   )r   r	   r
   rË   r   r   r   r   ¿  s    zTest_getNextUtility._callFUTc                 C   sN   ddl m} ddlm} |ƒ }td|ƒ}| |td¡ |  || j|td¡ d S )Nr   r)   r"   ÚglobalÚmyutil)	r9   r*   Zzope.component.interfacer#   Ú_makeMyUtilityr®   Ú
IMyUtilityr$   r   )r   r*   r#   r1   Úgutilr   r   r   Útest_globalÃ  s    
   ÿzTest_getNextUtility.test_globalc           
      C   sæ   ddl m} ddlm} ddlm} |ƒ }td|ƒ}| |td¡ |d|fd�}|d	|fd�}td
|ƒ}| |td¡ |  	||ƒ|k¡ |  	|  
|td¡|k¡ td|ƒ}	| |	td¡ |  	||	ƒ|k¡ |  	|  
|	td¡|k¡ d S )Nr   r)   r   rB   rÌ   rÍ   rN   rO   Úsm1_1Úoneúone-one)r9   r*   r   r   rR   rC   rÎ   r®   rÏ   r   r   )
r   r*   r   rC   r1   rÐ   rN   rÒ   Úutil1Úutil1_1r   r   r   r|   Ì  s     


zTest_getNextUtility.test_nestedN)	r3   r4   r5   r6   r   r   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d„ Zd	d
„ Z	dS )ÚTest_queryNextUtilityr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚqueryNextUtility)r9   rØ   )r   r	   r
   rØ   r   r   r   r   ã  s    zTest_queryNextUtility._callFUTc                 C   sD   ddl m} |ƒ }td|ƒ}| |td¡ |  |  |td¡d ¡ d S )Nr   r)   rÌ   rÍ   )r9   r*   rÎ   r®   rÏ   r[   r   )r   r*   r1   rÐ   r   r   r   rÑ   ç  s
    
z!Test_queryNextUtility.test_globalc                 C   sâ   ddl m} ddlm} |ƒ }td|ƒ}| |td¡ |d|fd�}|d|fd�}td	|ƒ}| |td¡ td
|ƒ}| |td¡ |ƒ }	td|	ƒ}
|	 |
td¡ |	f|j |_|  |  	|td¡|
k¡ |  |  	|td¡|k¡ d S )Nr   r)   rB   rÌ   rÍ   rN   rO   rÒ   rÓ   rÔ   Zmy_custom_util)
r9   r*   rR   rC   rÎ   r®   rÏ   Ú	__bases__r   r   )r   r*   rC   r1   rÐ   rN   rÒ   rÕ   rÖ   Z
myregistryZcustom_utilr   r   r   r|   î  s&    



ÿz!Test_queryNextUtility.test_nestedc                    sX   ddl m} ddlm‰  G dd„ d|ƒ}G ‡ fdd„dtƒ}|  |  |ƒ |d¡d ¡ d S )	Nr   r'   r"   c                   @   s   e Zd ZdS )z7Test_queryNextUtility.test_wo_sitemanager.<locals>.IFooNr:   r   r   r   r   r;     s   r;   c                       s   e Zd Z‡ fdd„ZdS )z:Test_queryNextUtility.test_wo_sitemanager.<locals>.Contextc                    s   ˆ ‚d S r   r   rŠ   r"   r   r   ra   	  s    zFTest_queryNextUtility.test_wo_sitemanager.<locals>.Context.__conform__Nrb   r   r"   r   r   rM     s   rM   rÍ   )r/   r(   r   r#   r   r[   r   )r   r(   r;   rM   r   r"   r   rŒ     s
    z)Test_queryNextUtility.test_wo_sitemanagerN)
r3   r4   r5   r6   r   r   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_createObjectr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚcreateObject)r9   rÛ   )r   r	   r
   rÛ   r   r   r   r     s    zTest_createObject._callFUTc                 C   s    ddl m} |  || jd¡ d S ©Nr   r"   Znonesuch©r   r#   r$   r   r%   r   r   r   r?     s    zTest_createObject.test_missc                    sn   ddl m‰  tƒ ‰g ‰‡‡fdd„‰G ‡ ‡fdd„dtƒ}|ƒ }|  | jd|d�ˆk¡ |  ˆd	i fg¡ d S )
Nr   ©ÚIFactoryc                     s   ˆ   | |f¡ ˆS r   r¥   )r	   r
   )Ú_factory_calledÚ_objectr   r   Ú_factory  s    z,Test_createObject.test_hit.<locals>._factoryc                       s"   e Zd Zdd„ Z‡ ‡fdd„ZdS )z+Test_createObject.test_hit.<locals>.Contextc                 S   s   | S r   r   rŠ   r   r   r   ra   "  s    z7Test_createObject.test_hit.<locals>.Context.__conform__c                    s   |ˆ kr|dkrˆS |S ©NÚtestr   ©r   r]   r”   r^   ©rß   râ   r   r   rµ   $  s    z8Test_createObject.test_hit.<locals>.Context.queryUtilityN©r3   r4   r5   ra   rµ   r   ræ   r   r   rM   !  s   rM   rä   r<   r   )r   rß   r   r   r   r[   )r   rM   r    r   )rß   râ   rà   rá   r   r�     s    zTest_createObject.test_hitN©	r3   r4   r5   r6   r   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_getFactoryInterfacesr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetFactoryInterfaces)r9   rê   )r   r	   r
   rê   r   r   r   r   1  s    z"Test_getFactoryInterfaces._callFUTc                 C   s    ddl m} |  || jd¡ d S rÜ   rÝ   r%   r   r   r   r?   5  s    z#Test_getFactoryInterfaces.test_missc                    st   ddl m‰  ddlm} G dd„ d|ƒ‰G ‡fdd„dtƒ‰G ‡ ‡fdd	„d	tƒ}|ƒ }|  | jd
|d�ˆg¡ d S )Nr   rÞ   r'   c                   @   s   e Zd ZdS )z0Test_getFactoryInterfaces.test_hit.<locals>.IFooNr:   r   r   r   r   r;   <  s   r;   c                       s   e Zd Z‡ fdd„ZdS )z4Test_getFactoryInterfaces.test_hit.<locals>._Factoryc                    s   ˆ gS r   r   r   ©r;   r   r   ÚgetInterfaces?  s    zBTest_getFactoryInterfaces.test_hit.<locals>._Factory.getInterfacesN©r3   r4   r5   rì   r   rë   r   r   Ú_Factory>  s   rî   c                       s"   e Zd Zdd„ Z‡ ‡fdd„ZdS )z3Test_getFactoryInterfaces.test_hit.<locals>.Contextc                 S   s   | S r   r   rŠ   r   r   r   ra   B  s    z?Test_getFactoryInterfaces.test_hit.<locals>.Context.__conform__c                    s   |ˆ kr|dkrˆƒ S |S rã   r   rå   ©rß   rî   r   r   rµ   D  s    z@Test_getFactoryInterfaces.test_hit.<locals>.Context.queryUtilityNrç   r   rï   r   r   rM   A  s   rM   rä   r<   )r   rß   r/   r(   r   r[   r   )r   r(   rM   r    r   )rß   r;   rî   r   r�   9  s    z"Test_getFactoryInterfaces.test_hitNrè   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_getFactoriesForr   r   c                 O   s   ddl m} |||ŽS )Nr   )ÚgetFactoriesFor)r9   rñ   )r   r	   r
   rñ   r   r   r   r   P  s    zTest_getFactoriesFor._callFUTc                 C   s6   ddl m} G dd„ d|ƒ}|  t|  |¡ƒg ¡ d S )Nr   r'   c                   @   s   e Zd ZdS )z?Test_getFactoriesFor.test_no_factories_registered.<locals>.IFooNr:   r   r   r   r   r;   V  s   r;   rÅ   r{   r   r   r   Útest_no_factories_registeredT  s    z1Test_getFactoriesFor.test_no_factories_registeredc                    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 ‡fd
d„dtƒƒ}|ƒ ‰G ‡ ‡fdd„dtƒ}|  t| j	||ƒ d�ƒdˆfg¡ |  t| j	||ƒ d�ƒdˆfg¡ d S )Nr   r'   r@   ©r   rÞ   c                   @   s   e Zd ZdS )z@Test_getFactoriesFor.test_w_factory_returning_spec.<locals>.IFooNr:   r   r   r   r   r;   _  s   r;   c                   @   s   e Zd ZdS )z@Test_getFactoriesFor.test_w_factory_returning_spec.<locals>.IBarNr:   r   r   r   r   rD   a  s   rD   c                       s   e Zd Z‡ fdd„ZdS )zDTest_getFactoriesFor.test_w_factory_returning_spec.<locals>._Factoryc                    s   ˆ | ƒS r   r   r   ró   r   r   rì   e  s    zRTest_getFactoriesFor.test_w_factory_returning_spec.<locals>._Factory.getInterfacesNrí   r   ró   r   r   rî   c  s   rî   c                       s"   e Zd Zdd„ Z‡ ‡fdd„ZdS )zCTest_getFactoriesFor.test_w_factory_returning_spec.<locals>.Contextc                 S   s   | S r   r   rŠ   r   r   r   ra   i  s    zOTest_getFactoriesFor.test_w_factory_returning_spec.<locals>.Context.__conform__c                    s   |ˆ krdˆfgS d S rã   r   rŠ   ræ   r   r   rÄ   k  s    zSTest_getFactoriesFor.test_w_factory_returning_spec.<locals>.Context.getUtilitiesForN©r3   r4   r5   ra   rÄ   r   ræ   r   r   rM   h  s   rM   r<   rä   )
r/   r(   rA   r   r   rß   r   r[   r�   r   )r   r(   rA   r;   rD   rî   rM   r   )rß   râ   r   r   Útest_w_factory_returning_specZ  s     ÿÿz2Test_getFactoriesFor.test_w_factory_returning_specc                    s²   ddl m} ddlm‰ G dd„ d|ƒ‰G dd„ d|ƒ‰ G ‡ ‡fdd	„d	tƒ}|ƒ ‰G ‡‡fd
d„dtƒ}|  t| jˆ|ƒ d�ƒdˆfg¡ |  t| jˆ |ƒ d�ƒdˆfg¡ d S )Nr   r'   rÞ   c                   @   s   e Zd ZdS )zNTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>.IFooNr:   r   r   r   r   r;   v  s   r;   c                   @   s   e Zd ZdS )zNTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>.IBarNr:   r   r   r   r   rD   x  s   rD   c                       s   e Zd Z‡ ‡fdd„ZdS )zRTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>._Factoryc                    s   ˆˆ gS r   r   r   ©rD   r;   r   r   rì   {  s    z`Test_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>._Factory.getInterfacesNrí   r   rö   r   r   rî   z  s   rî   c                       s"   e Zd Zdd„ Z‡ ‡fdd„ZdS )zQTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>.Contextc                 S   s   | S r   r   rŠ   r   r   r   ra     s    z]Test_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>.Context.__conform__c                    s   |ˆ krdˆfgS d S rã   r   rŠ   ræ   r   r   rÄ   �  s    zaTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces.<locals>.Context.getUtilitiesForNrô   r   ræ   r   r   rM   ~  s   rM   r<   rä   )r/   r(   r   rß   r   r[   r�   r   )r   r(   rî   rM   r   )rD   rß   r;   râ   r   Ú+test_w_factory_returning_list_of_interfacess  s    ÿÿz@Test_getFactoriesFor.test_w_factory_returning_list_of_interfacesN)
r3   r4   r5   r6   r   r   r   rò   rõ   r÷   r   r   r   r   rð   L  s
   rð   c                 C   s^   ddl m} ddl m} ddlm} td kr<G dd„ d|ƒa|tƒG dd„ d|ƒƒ}|| |ƒS )	Nr   r'   r@   r   c                   @   s   e Zd ZdS )rÏ   Nr:   r   r   r   r   rÏ   ’  s   rÏ   c                   @   s   e Zd Zdd„ ZdS )z!_makeMyUtility.<locals>.MyUtilityc                 S   s   || _ || _d S r   )Úidr   )r   rø   r   r   r   r   rF   —  s    z*_makeMyUtility.<locals>.MyUtility.__init__NrG   r   r   r   r   Ú	MyUtility•  s   rù   )r/   r(   rA   r   r   rÏ   )r”   r   r(   rA   r   rù   r   r   r   rÎ   ‹  s    rÎ   c                   C   s¢   t  t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t	¡t  t
¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡t  t¡f¡S r   )ÚunittestZ	TestSuiteZ	makeSuiter   r7   rX   rj   rw   r}   rˆ   r�   rŸ   r¢   rª   r½   rÃ   rÇ   rÊ   r×   rÚ   ré   rð   r   r   r   r   Ú
test_suitež  s*    írû   )Ú__doc__rú   ZTestCaser   r7   rX   rj   rw   r}   rˆ   r�   rŸ   r¢   rª   r½   rÃ   rÇ   rÊ   r×   rÚ   ré   rð   rÏ   rÎ   rû   r   r   r   r   Ú<module>   s0   ,2FSam ;/%<G"$/>