3 ,ò¿WX§ã@szdZddlZGdd„dejƒZGdd„dejƒZGdd„dejƒZGd d „d ejƒZGd d „d ejƒZGd d„dejƒZGdd„dejƒZ Gdd„dejƒZ Gdd„dejƒZ Gdd„dejƒZ Gdd„dejƒZ Gdd„dejƒZGdd„dejƒZGdd„dejƒZGdd „d ejƒZGd!d"„d"ejƒZGd#d$„d$ejƒZGd%d&„d&ejƒZGd'd(„d(ejƒZdad)d*„Zd+d,„ZdS)-z Tests for z.c._api éNc@sTeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dS)ÚTest_getSiteManagerr)ÚsetUpÚtearDowncOsddlm}|||ŽS)Nr)ÚgetSiteManager)Úzope.component._apir)ÚselfÚargsÚkwr©r ú/usr/lib/python3.6/test__api.pyÚ_callFUTs zTest_getSiteManager._callFUTcCs(ddlm}|jƒ}|j|j|ƒƒdS)Nr)ÚIComponentLookup)Úzope.component.interfacesr r Ú assertTrueÚ providedBy)rr Úsmr r r Útest_sm_is_IComponentLookups z/Test_getSiteManager.test_sm_is_IComponentLookupcCs8ddlm}|jƒ}|j||kƒ|j|jƒ|kƒdS)Nr)Úbase)Úzope.component.globalregistryrr r)rrrr r r Útest_sm_is_singleton s z(Test_getSiteManager.test_sm_is_singletoncCs|j|jdƒ|jƒkƒdS)N)rr )rr r r Ú test_w_None&szTest_getSiteManager.test_w_NonecCs2ddlm}tƒ}||ƒ}|j|j|ƒ|kƒdS)Nr)ÚConformsToIComponentLookup)Úzope.component.tests.examplesrÚobjectrr )rrÚ sitemanagerÚcontextr r r Ú(test_getSiteManager_w_conforming_context)s z._adaptÚ) Úzope.interfacer rr!rr rÚregisterAdapterrr )rr r!r Úgsmr#r )rr Ú/test_getSiteManager_w_invalid_context_w_adapter3s    zCTest_getSiteManager.test_getSiteManager_w_invalid_context_w_adapterN) Ú__name__Ú __module__Ú __qualname__Úzope.component.testingrrr rrrrrr(r r r r rsrc@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ÚTest_getAdapterInContextr)rrcOsddlm}|||ŽS)Nr)ÚgetAdapterInContext)Úzope.componentr.)rrr r.r r r r Cs z!Test_getAdapterInContext._callFUTcCsDddlm}ddlm}Gdd„d|ƒ}|j||jtƒ|dddS)Nr)r )rc@s eZdZdS)z0Test_getAdapterInContext.test_miss..IFooN)r)r*r+r r r r ÚIFooJsr0)r)r%r rrrr r)rr rr0r r r Ú test_missGs   z"Test_getAdapterInContext.test_misscCs*ddlm}ddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d t ƒƒ}||ƒGd d„dt ƒƒ} ||ƒGdd„dt ƒƒ} Gdd„d|ƒ} |ƒ} | j ||f|dƒ|d| fd} | j | |f|dƒ| ƒ}|j ||| | ƒd}|j |j | kƒ|j |j|kƒdS)Nr)r )Ú implementer)Ú Components)r!)rc@s eZdZdS)z6Test_getAdapterInContext.test_hit_via_sm..IFooN)r)r*r+r r r r r0Usr0c@s eZdZdS)z6Test_getAdapterInContext.test_hit_via_sm..IBarN)r)r*r+r r r r ÚIBarWsr4c@seZdZdd„ZdS)z8Test_getAdapterInContext.test_hit_via_sm..GlobalcSs ||_dS)N)r)rrr r r Ú__init__[szATest_getAdapterInContext.test_hit_via_sm..Global.__init__N)r)r*r+r5r r r r ÚGlobalYsr6c@seZdZdd„ZdS)z7Test_getAdapterInContext.test_hit_via_sm..LocalcSs ||_dS)N)r)rrr r r r5_sz@Test_getAdapterInContext.test_hit_via_sm..Local.__init__N)r)r*r+r5r r r r ÚLocal]sr7c@s eZdZdS)z5Test_getAdapterInContext.test_hit_via_sm..BarN)r)r*r+r r r r ÚBarasr8c@seZdZdd„ZdS)z9Test_getAdapterInContext.test_hit_via_sm..ContextcSs ||_dS)N)r)rrr r r r5eszBTest_getAdapterInContext.test_hit_via_sm..Context.__init__N)r)r*r+r5r r r r ÚContextdsr9r$Úsm1)Úbases)r)r%r r2Úzope.interface.registryr3r/r!rrrr&r rÚ __class__r)rr r2r3r!rr0r4r6r7r8r9r'r:ÚbarÚadaptedr r r Útest_hit_via_smOs,     z(Test_getAdapterInContext.test_hit_via_smN) r)r*r+r,rrr r1r@r r r r r-?sr-c@sLeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dS)ÚTest_queryAdapterInContextr)rrcOsddlm}|||ŽS)Nr)ÚqueryAdapterInContext)r/rB)rrr rBr r r r us z#Test_queryAdapterInContext._callFUTcCsDddlm}ddlm}Gdd„d|ƒ}|j|tƒ|dddƒdS)Nr)r )rBc@s eZdZdS)z2Test_queryAdapterInContext.test_miss..IFooN)r)r*r+r r r r r0|sr0)r)r%r r/rBÚ assertEqualr)rr rBr0r r r r1ys   z$Test_queryAdapterInContext.test_misscsbddlm}ddlm}Gdd„d|ƒ‰tƒ‰G‡‡fdd„dtƒ}|j||ƒˆddˆkƒdS) Nr)r )rBc@s eZdZdS)zATest_queryAdapterInContext.test_w_object_conforming..IFooN)r)r*r+r r r r r0„sr0cseZdZd‡‡fdd„ ZdS)z@Test_queryAdapterInContext.test_w_object_conforming..FooNcs|ˆkr ˆS|S)Nr )rÚifaceÚdefault)r0Ú_adaptedr r Ú __conform__ˆszLTest_queryAdapterInContext.test_w_object_conforming..Foo.__conform__)N)r)r*r+rGr )r0rFr r ÚFoo‡srH)r)r%r r/rBrr)rr rBrHr )r0rFr Útest_w_object_conformings  z3Test_queryAdapterInContext.test_w_object_conformingcs^ddlm}ddlm}Gdd„d|ƒ‰tƒ‰G‡‡fdd„dtƒ}|j||ˆdddƒdS) Nr)r )rBc@s eZdZdS)zTTest_queryAdapterInContext.test___conform___raises_TypeError_via_class..IFooN)r)r*r+r r r r r0’sr0cseZdZd‡‡fdd„ ZdS)zSTest_queryAdapterInContext.test___conform___raises_TypeError_via_class..FooNcs|ˆkr ˆS|S)Nr )rrDrE)r0rFr r rG–sz_Test_queryAdapterInContext.test___conform___raises_TypeError_via_class..Foo.__conform__)N)r)r*r+rGr )r0rFr r rH•srH)r)r%r r/rBrrC)rr rBrHr )r0rFr Ú+test___conform___raises_TypeError_via_classs   zFTest_queryAdapterInContext.test___conform___raises_TypeError_via_classcCsXddlm}ddlm}Gdd„d|ƒ}tƒ}Gdd„dtƒ}|jt||ƒ|dddS) Nr)r )rBc@s eZdZdS)zSTest_queryAdapterInContext.test___conform___raises_TypeError_via_inst..IFooN)r)r*r+r r r r r0 sr0c@seZdZddd„ZdS)zRTest_queryAdapterInContext.test___conform___raises_TypeError_via_inst..FooNcSst‚dS)N)Ú TypeError)rrDrEr r r rG¤sz^Test_queryAdapterInContext.test___conform___raises_TypeError_via_inst..Foo.__conform__)N)r)r*r+rGr r r r rH£srH)r)r%r r/rBrrrK)rr rBr0rFrHr r r Ú*test___conform___raises_TypeError_via_insts  zETest_queryAdapterInContext.test___conform___raises_TypeError_via_instcCsnddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒGdd„dtƒƒ}|ƒ}|j|||dd |kƒdS) Nr)r )r2)rBc@s eZdZdS)zCTest_queryAdapterInContext.test_w_object_implementing..IFooN)r)r*r+r r r r r0­sr0c@s eZdZdS)zBTest_queryAdapterInContext.test_w_object_implementing..FooN)r)r*r+r r r r rH¯srH)r)r%r r2r/rBrr)rr r2rBr0rHZfoor r r Útest_w_object_implementing©s   z5Test_queryAdapterInContext.test_w_object_implementingN) r)r*r+r,rrr r1rIrJrLrMr r r r rAqs rAc@sLeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dS)ÚTest_getAdapterr)rrcOsddlm}|||ŽS)Nr)Ú getAdapter)r/rO)rrr rOr r r r »s zTest_getAdapter._callFUTcCsBddlm}ddlm}Gdd„d|ƒ}|j||jtƒ|dƒdS)Nr)r )rc@s eZdZdS)z5Test_getAdapter.test_anonymous_nonesuch..IFooN)r)r*r+r r r r r0Âsr0r$)r%r rrrr r)rr rr0r r r Útest_anonymous_nonesuch¿s   z'Test_getAdapter.test_anonymous_nonesuchcCsBddlm}ddlm}Gdd„d|ƒ}|j||jtƒ|dƒdS)Nr)r )rc@s eZdZdS)z1Test_getAdapter.test_named_nonesuch..IFooN)r)r*r+r r r r r0Êsr0r>)r%r rrrr r)rr rr0r r r Útest_named_nonesuchÇs   z#Test_getAdapter.test_named_nonesuchc CsÀddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}||ƒGd d „d tƒƒ}||ƒGd d „d tƒƒ}|ƒj||f|d ƒ|ƒ}|j||d ƒ} |j| j |kƒ|j| j |kƒdS)Nr)r )r2)r!c@s eZdZdS)z0Test_getAdapter.test_anonymous_hit..IFooN)r)r*r+r r r r r0Ósr0c@s eZdZdS)z0Test_getAdapter.test_anonymous_hit..IBarN)r)r*r+r r r r r4Õsr4c@s eZdZdS)z/Test_getAdapter.test_anonymous_hit..BarN)r)r*r+r r r r r8×sr8c@seZdZdd„ZdS)z/Test_getAdapter.test_anonymous_hit..BazcSs ||_dS)N)r)rrr r r r5Üsz8Test_getAdapter.test_anonymous_hit..Baz.__init__N)r)r*r+r5r r r r ÚBazÚsrRr$) r%r r2r/r!rr&r rr=r) rr r2r!r0r4r8rRr>r?r r r Útest_anonymous_hitÏs   z"Test_getAdapter.test_anonymous_hitcCs–ddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒGdd„dtƒƒ}|ƒj|d |d ƒtƒ}|j||d ƒ}|j|j |kƒ|j|j |kƒdS) Nr)r )r2)r!c@s eZdZdS)zDTest_getAdapter.test_anonymous_hit_registered_for_None..IFooN)r)r*r+r r r r r0èsr0c@seZdZdd„ZdS)zCTest_getAdapter.test_anonymous_hit_registered_for_None..BazcSs ||_dS)N)r)rrr r r r5ìszLTest_getAdapter.test_anonymous_hit_registered_for_None..Baz.__init__N)r)r*r+r5r r r r rRêsrRr$)N) r%r r2r/r!rr&r rr=r)rr r2r!r0rRZctxr?r r r Ú&test_anonymous_hit_registered_for_Noneäs   z6Test_getAdapter.test_anonymous_hit_registered_for_Nonec CsÀddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}||ƒGd d „d tƒƒ}||ƒGd d „d tƒƒ}|ƒj||f|d ƒ|ƒ}|j||d ƒ} |j| j |kƒ|j| j |kƒdS)Nr)r )r2)r!c@s eZdZdS)z,Test_getAdapter.test_named_hit..IFooN)r)r*r+r r r r r0øsr0c@s eZdZdS)z,Test_getAdapter.test_named_hit..IBarN)r)r*r+r r r r r4úsr4c@s eZdZdS)z+Test_getAdapter.test_named_hit..BarN)r)r*r+r r r r r8üsr8c@seZdZdd„ZdS)z+Test_getAdapter.test_named_hit..BazcSs ||_dS)N)r)rrr r r r5sz4Test_getAdapter.test_named_hit..Baz.__init__N)r)r*r+r5r r r r rRÿsrRÚnamed) r%r r2r/r!rr&r rr=r) rr r2r!r0r4r8rRr>r?r r r Útest_named_hitôs   zTest_getAdapter.test_named_hitN) r)r*r+r,rrr rPrQrSrTrVr r r r rN·srNc@sLeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dS)ÚTest_queryAdapterr)rrcOsddlm}|||ŽS)Nr)Ú queryAdapter)r/rX)rrr rXr r r r s zTest_queryAdapter._callFUTcCs:ddlm}Gdd„d|ƒ}|j|jtƒ|ddƒdƒdS)Nr)r c@s eZdZdS)z7Test_queryAdapter.test_anonymous_nonesuch..IFooN)r)r*r+r r r r r0sr0r$z )r%r rCr r)rr r0r r r rPs z)Test_queryAdapter.test_anonymous_nonesuchcCs8ddlm}Gdd„d|ƒ}|j|jtƒ|dƒdƒdS)Nr)r c@s eZdZdS)z3Test_queryAdapter.test_named_nonesuch..IFooN)r)r*r+r r r r r0sr0r>)r%r rCr r)rr r0r r r rQs z%Test_queryAdapter.test_named_nonesuchc CsÀddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}||ƒGd d „d tƒƒ}||ƒGd d „d tƒƒ}|ƒj||f|d ƒ|ƒ}|j||d ƒ} |j| j |kƒ|j| j |kƒdS)Nr)r )r2)r!c@s eZdZdS)z2Test_queryAdapter.test_anonymous_hit..IFooN)r)r*r+r r r r r0#sr0c@s eZdZdS)z2Test_queryAdapter.test_anonymous_hit..IBarN)r)r*r+r r r r r4%sr4c@s eZdZdS)z1Test_queryAdapter.test_anonymous_hit..BarN)r)r*r+r r r r r8'sr8c@seZdZdd„ZdS)z1Test_queryAdapter.test_anonymous_hit..BazcSs ||_dS)N)r)rrr r r r5,sz:Test_queryAdapter.test_anonymous_hit..Baz.__init__N)r)r*r+r5r r r r rR*srRr$) r%r r2r/r!rr&r rr=r) rr r2r!r0r4r8rRr>r?r r r rSs   z$Test_queryAdapter.test_anonymous_hitc CsÀddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}||ƒGd d „d tƒƒ}||ƒGd d „d tƒƒ}|ƒj||f|d ƒ|ƒ}|j||d ƒ} |j| j |kƒ|j| j |kƒdS)Nr)r )r2)r!c@s eZdZdS)z.Test_queryAdapter.test_named_hit..IFooN)r)r*r+r r r r r08sr0c@s eZdZdS)z.Test_queryAdapter.test_named_hit..IBarN)r)r*r+r r r r r4:sr4c@s eZdZdS)z-Test_queryAdapter.test_named_hit..BarN)r)r*r+r r r r r8<sr8c@seZdZdd„ZdS)z-Test_queryAdapter.test_named_hit..BazcSs ||_dS)N)r)rrr r r r5Asz6Test_queryAdapter.test_named_hit..Baz.__init__N)r)r*r+r5r r r r rR?srRrU) r%r r2r/r!rr&r rr=r) rr r2r!r0r4r8rRr>r?r r r rV4s   z Test_queryAdapter.test_named_hitcCs,ddlm}ddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d t ƒƒ}||ƒGd d„dt ƒƒ} ||ƒGdd„dt ƒƒ} Gdd„d|ƒ} |ƒ} | j ||f|dƒ|d| fd} | j | |f|dƒ| ƒ}|j ||d| | ƒd}|j |j | kƒ|j |j|kƒdS)Nr)r )r2)r3)r!)rc@s eZdZdS)z+Test_queryAdapter.test_nested..IFooN)r)r*r+r r r r r0Osr0c@s eZdZdS)z+Test_queryAdapter.test_nested..IBarN)r)r*r+r r r r r4Qsr4c@seZdZdd„ZdS)z-Test_queryAdapter.test_nested..GlobalcSs ||_dS)N)r)rrr r r r5Usz6Test_queryAdapter.test_nested..Global.__init__N)r)r*r+r5r r r r r6Ssr6c@seZdZdd„ZdS)z,Test_queryAdapter.test_nested..LocalcSs ||_dS)N)r)rrr r r r5Ysz5Test_queryAdapter.test_nested..Local.__init__N)r)r*r+r5r r r r r7Wsr7c@s eZdZdS)z*Test_queryAdapter.test_nested..BarN)r)r*r+r r r r r8[sr8c@seZdZdd„ZdS)z.Test_queryAdapter.test_nested..ContextcSs ||_dS)N)r)rrr r r r5_sz7Test_queryAdapter.test_nested..Context.__init__N)r)r*r+r5r r r r r9^sr9r$r:)r;)r)r%r r2r<r3r/r!rrrr&r rr=r)rr r2r3r!rr0r4r6r7r8r9r'r:r>r?r r r Ú test_nestedIs,     zTest_queryAdapter.test_nestedN) r)r*r+r,rrr rPrQrSrVrYr r r r rW srWc@sLeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dS)ÚTest_getMultiAdapterr)rrcOsddlm}|||ŽS)Nr)ÚgetMultiAdapter)r/r[)rrr r[r r r r os zTest_getMultiAdapter._callFUTcCsHddlm}ddlm}Gdd„d|ƒ}|j||jtƒtƒf|dƒdS)Nr)r )rc@s eZdZdS)z:Test_getMultiAdapter.test_anonymous_nonesuch..IFooN)r)r*r+r r r r r0vsr0r$)r%r rrrr r)rr rr0r r r rPss   z,Test_getMultiAdapter.test_anonymous_nonesuchcCsHddlm}ddlm}Gdd„d|ƒ}|j||jtƒtƒf|dƒdS)Nr)r )rc@s eZdZdS)z6Test_getMultiAdapter.test_named_nonesuch..IFooN)r)r*r+r r r r r0~sr0r>)r%r rrrr r)rr rr0r r r rQ{s   z(Test_getMultiAdapter.test_named_nonesuchc Csddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}||ƒGdd„dtƒƒ} |ƒj| ||f|dƒ|ƒ} |ƒ} |j| | f|dƒ} |j| j | kƒ|j| j | kƒ|j| j | kƒdS)Nr)r )r2)r!c@s eZdZdS)z5Test_getMultiAdapter.test_anonymous_hit..IFooN)r)r*r+r r r r r0‡sr0c@s eZdZdS)z5Test_getMultiAdapter.test_anonymous_hit..IBarN)r)r*r+r r r r r4‰sr4c@s eZdZdS)z5Test_getMultiAdapter.test_anonymous_hit..IBazN)r)r*r+r r r r ÚIBaz‹sr\c@s eZdZdS)z4Test_getMultiAdapter.test_anonymous_hit..BarN)r)r*r+r r r r r8sr8c@s eZdZdS)z4Test_getMultiAdapter.test_anonymous_hit..BazN)r)r*r+r r r r rRsrRc@seZdZdd„ZdS)z;Test_getMultiAdapter.test_anonymous_hit..FooAdaptercSs|||_|_dS)N)ÚfirstÚsecond)rr]r^r r r r5•szDTest_getMultiAdapter.test_anonymous_hit..FooAdapter.__init__N)r)r*r+r5r r r r Ú FooAdapter“sr_r$) r%r r2r/r!rr&r rr=r]r^) rr r2r!r0r4r\r8rRr_r>Úbazr?r r r rSƒs(   z'Test_getMultiAdapter.test_anonymous_hitc Csìddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}|ƒj||df|dƒ|ƒ} tƒ} |j| | f|dƒ} |j| j |kƒ|j| j | kƒ|j| j | kƒdS)Nr)r )r2)r!c@s eZdZdS)zITest_getMultiAdapter.test_anonymous_hit_registered_for_None..IFooN)r)r*r+r r r r r0¤sr0c@s eZdZdS)zITest_getMultiAdapter.test_anonymous_hit_registered_for_None..IBarN)r)r*r+r r r r r4¦sr4c@s eZdZdS)zITest_getMultiAdapter.test_anonymous_hit_registered_for_None..IBazN)r)r*r+r r r r r\¨sr\c@s eZdZdS)zHTest_getMultiAdapter.test_anonymous_hit_registered_for_None..BarN)r)r*r+r r r r r8ªsr8c@seZdZdd„ZdS)zOTest_getMultiAdapter.test_anonymous_hit_registered_for_None..FooAdaptercSs|||_|_dS)N)r]r^)rr]r^r r r r5¯szXTest_getMultiAdapter.test_anonymous_hit_registered_for_None..FooAdapter.__init__N)r)r*r+r5r r r r r_­sr_r$) r%r r2r/r!rr&r rr=r]r^) rr r2r!r0r4r\r8r_r>r`r?r r r rT s$   z;Test_getMultiAdapter.test_anonymous_hit_registered_for_Nonec Csddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}||ƒGdd„dtƒƒ} |ƒj| ||f|dƒ|ƒ} |ƒ} |j| | f|dƒ} |j| j | kƒ|j| j | kƒ|j| j | kƒdS)Nr)r )r2)r!c@s eZdZdS)z1Test_getMultiAdapter.test_named_hit..IFooN)r)r*r+r r r r r0¾sr0c@s eZdZdS)z1Test_getMultiAdapter.test_named_hit..IBarN)r)r*r+r r r r r4Àsr4c@s eZdZdS)z1Test_getMultiAdapter.test_named_hit..IBazN)r)r*r+r r r r r\Âsr\c@s eZdZdS)z0Test_getMultiAdapter.test_named_hit..BarN)r)r*r+r r r r r8Äsr8c@s eZdZdS)z0Test_getMultiAdapter.test_named_hit..BazN)r)r*r+r r r r rRÇsrRc@seZdZdd„ZdS)z7Test_getMultiAdapter.test_named_hit..FooAdaptercSs|||_|_dS)N)r]r^)rr]r^r r r r5Ìsz@Test_getMultiAdapter.test_named_hit..FooAdapter.__init__N)r)r*r+r5r r r r r_Êsr_rU) r%r r2r/r!rr&r rr=r]r^) rr r2r!r0r4r\r8rRr_r>r`r?r r r rVºs(   z#Test_getMultiAdapter.test_named_hitN) r)r*r+r,rrr rPrQrSrTrVr r r r rZksrZc@sTeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dS)ÚTest_queryMultiAdapterr)rrcOsddlm}|||ŽS)Nr)ÚqueryMultiAdapter)r/rb)rrr rbr r r r Üs zTest_queryMultiAdapter._callFUTcCs@ddlm}Gdd„d|ƒ}|j|jtƒtƒf|ddƒdƒdS)Nr)r c@s eZdZdS)z.IFooN)r)r*r+r r r r r0âsr0r$z )r%r rCr r)rr r0r r r rPàs  z.Test_queryMultiAdapter.test_anonymous_nonesuchcCs>ddlm}Gdd„d|ƒ}|j|jtƒtƒf|dƒdƒdS)Nr)r c@s eZdZdS)z8Test_queryMultiAdapter.test_named_nonesuch..IFooN)r)r*r+r r r r r0êsr0r>)r%r rCr r)rr r0r r r rQès z*Test_queryMultiAdapter.test_named_nonesuchc Csddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}||ƒGdd„dtƒƒ} |ƒj| ||f|dƒ|ƒ} |ƒ} |j| | f|dƒ} |j| j | kƒ|j| j | kƒ|j| j | kƒdS)Nr)r )r2)r!c@s eZdZdS)z7Test_queryMultiAdapter.test_anonymous_hit..IFooN)r)r*r+r r r r r0ósr0c@s eZdZdS)z7Test_queryMultiAdapter.test_anonymous_hit..IBarN)r)r*r+r r r r r4õsr4c@s eZdZdS)z7Test_queryMultiAdapter.test_anonymous_hit..IBazN)r)r*r+r r r r r\÷sr\c@s eZdZdS)z6Test_queryMultiAdapter.test_anonymous_hit..BarN)r)r*r+r r r r r8ùsr8c@s eZdZdS)z6Test_queryMultiAdapter.test_anonymous_hit..BazN)r)r*r+r r r r rRüsrRc@seZdZdd„ZdS)z=Test_queryMultiAdapter.test_anonymous_hit..FooAdaptercSs|||_|_dS)N)r]r^)rr]r^r r r r5szFTest_queryMultiAdapter.test_anonymous_hit..FooAdapter.__init__N)r)r*r+r5r r r r r_ÿsr_r$) r%r r2r/r!rr&r rr=r]r^) rr r2r!r0r4r\r8rRr_r>r`r?r r r rSïs(   z)Test_queryMultiAdapter.test_anonymous_hitc Csddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}||ƒGdd„dtƒƒ} |ƒj| ||f|dƒ|ƒ} |ƒ} |j| | f|dƒ} |j| j | kƒ|j| j | kƒ|j| j | kƒdS)Nr)r )r2)r!c@s eZdZdS)z3Test_queryMultiAdapter.test_named_hit..IFooN)r)r*r+r r r r r0sr0c@s eZdZdS)z3Test_queryMultiAdapter.test_named_hit..IBarN)r)r*r+r r r r r4sr4c@s eZdZdS)z3Test_queryMultiAdapter.test_named_hit..IBazN)r)r*r+r r r r r\sr\c@s eZdZdS)z2Test_queryMultiAdapter.test_named_hit..BarN)r)r*r+r r r r r8sr8c@s eZdZdS)z2Test_queryMultiAdapter.test_named_hit..BazN)r)r*r+r r r r rRsrRc@seZdZdd„ZdS)z9Test_queryMultiAdapter.test_named_hit..FooAdaptercSs|||_|_dS)N)r]r^)rr]r^r r r r5szBTest_queryMultiAdapter.test_named_hit..FooAdapter.__init__N)r)r*r+r5r r r r r_sr_rU) r%r r2r/r!rr&r rr=r]r^) rr r2r!r0r4r\r8rRr_r>r`r?r r r rV s(   z%Test_queryMultiAdapter.test_named_hitcCsrddlm}ddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gd d „d |ƒ}Gd d „d |ƒ}||ƒGd d„dt ƒƒ} ||ƒGdd„dt ƒƒ} ||ƒGdd„dt ƒƒ} ||ƒGdd„dt ƒƒ} Gdd„d|ƒ} |ƒ}|j | ||f|dƒ|d|fd}|j | ||f|dƒ| ƒ}| ƒ}|j ||f|d| |ƒd}|j |j | kƒ|j |j|kƒ|j |j|kƒdS)Nr)r )r2)r3)r!)rc@s eZdZdS)z0Test_queryMultiAdapter.test_nested..IFooN)r)r*r+r r r r r0/sr0c@s eZdZdS)z0Test_queryMultiAdapter.test_nested..IBarN)r)r*r+r r r r r41sr4c@s eZdZdS)z0Test_queryMultiAdapter.test_nested..IBazN)r)r*r+r r r r r\3sr\c@s eZdZdS)z/Test_queryMultiAdapter.test_nested..BarN)r)r*r+r r r r r85sr8c@s eZdZdS)z/Test_queryMultiAdapter.test_nested..BazN)r)r*r+r r r r rR8srRc@seZdZdd„ZdS)z2Test_queryMultiAdapter.test_nested..GlobalcSs|||_|_dS)N)r]r^)rr]r^r r r r5=sz;Test_queryMultiAdapter.test_nested..Global.__init__N)r)r*r+r5r r r r r6;sr6c@seZdZdd„ZdS)z1Test_queryMultiAdapter.test_nested..LocalcSs|||_|_dS)N)r]r^)rr]r^r r r r5Asz:Test_queryMultiAdapter.test_nested..Local.__init__N)r)r*r+r5r r r r r7?sr7c@seZdZdd„ZdS)z3Test_queryMultiAdapter.test_nested..ContextcSs ||_dS)N)r)rrr r r r5Dsz.Context.__init__N)r)r*r+r5r r r r r9Csr9r$r:)r;)r)r%r r2r<r3r/r!rrrr&r rr=r]r^)rr r2r3r!rr0r4r\r8rRr6r7r9r'r:r>r`r?r r r rY)s6     z"Test_queryMultiAdapter.test_nestedc sÎddlm}ddlm}ddlm‰Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}G‡fdd„dtƒ}|ƒ} |ƒ} |j| | f|d|ƒd} |j| dkƒdS)Nr)r )r2)rc@s eZdZdS)z8Test_queryMultiAdapter.test_wo_sitemanager..IFooN)r)r*r+r r r r r0Usr0c@s eZdZdS)z8Test_queryMultiAdapter.test_wo_sitemanager..IBarN)r)r*r+r r r r r4Wsr4c@s eZdZdS)z8Test_queryMultiAdapter.test_wo_sitemanager..IBazN)r)r*r+r r r r r\Ysr\c@s eZdZdS)z7Test_queryMultiAdapter.test_wo_sitemanager..BarN)r)r*r+r r r r r8[sr8c@s eZdZdS)z7Test_queryMultiAdapter.test_wo_sitemanager..BazN)r)r*r+r r r r rR^srRcseZdZ‡fdd„ZdS)z;Test_queryMultiAdapter.test_wo_sitemanager..Contextcsˆ‚dS)Nr )rrD)rr r rGbszGTest_queryMultiAdapter.test_wo_sitemanager..Context.__conform__N)r)r*r+rGr )rr r r9asr9r$)r)r%r r2rrrr r) rr r2r0r4r\r8rRr9r>r`r?r )rr Útest_wo_sitemanagerQs   z*Test_queryMultiAdapter.test_wo_sitemanagerN) r)r*r+r,rrr rPrQrSrVrYrcr r r r raØs(rac@s<eZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d S) ÚTest_getAdaptersr)rrcOsddlm}|||ŽS)Nr)Ú getAdapters)r/re)rrr rer r r r ns zTest_getAdapters._callFUTcCs<ddlm}Gdd„d|ƒ}|jt|jtƒf|ƒƒgƒdS)Nr)r c@s eZdZdS)z,Test_getAdapters.test_nonesuch..IFooN)r)r*r+r r r r r0tsr0)r%r rCÚlistr r)rr r0r r r Ú test_nonesuchrs zTest_getAdapters.test_nonesuchc CsÀddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}Gdd „d tƒ}|ƒ}|j|d|ƒ|j|d|d d t|jtƒf|ƒƒ}|jt |ƒd ƒd d„|Dƒ}|j d|kƒ|j d|kƒdS)Nr)r )r!c@s eZdZdS)z'Test_getAdapters.test_hit..IFooN)r)r*r+r r r r r0{sr0c@seZdZdd„ZdS)z-Test_getAdapters.test_hit..BarAdaptercSs ||_dS)N)r)rrr r r r5~sz6Test_getAdapters.test_hit..BarAdapter.__init__N)r)r*r+r5r r r r Ú BarAdapter}srhc@seZdZdd„ZdS)z-Test_getAdapters.test_hit..BazAdaptercSs ||_dS)N)r)rrr r r r5sz6Test_getAdapters.test_hit..BazAdapter.__init__N)r)r*r+r5r r r r Ú BazAdapter€srir>)ÚnameécSsg|]\}}||jjf‘qSr )r=r))Ú.0r"Úyr r r ú ˆsz-Test_getAdapters.test_hit..r$)N)N)r$rh)r>ri) r%r r/r!rr&rfr rCÚlenr) rr r!r0rhrir'ÚtuplesÚnamesr r r Útest_hitxs  zTest_getAdapters.test_hitc sÊddlm}ddlm}ddlm‰Gdd„d|ƒ}Gdd„d|ƒ}Gd d „d |ƒ}||ƒGd d „d tƒƒ}||ƒGd d„dtƒƒ}G‡fdd„dtƒ}|ƒ} |ƒ} |j| | f||ƒd} |j| gƒdS)Nr)r )r2)rc@s eZdZdS)z2Test_getAdapters.test_wo_sitemanager..IFooN)r)r*r+r r r r r0sr0c@s eZdZdS)z2Test_getAdapters.test_wo_sitemanager..IBarN)r)r*r+r r r r r4’sr4c@s eZdZdS)z2Test_getAdapters.test_wo_sitemanager..IBazN)r)r*r+r r r r r\”sr\c@s eZdZdS)z1Test_getAdapters.test_wo_sitemanager..BarN)r)r*r+r r r r r8–sr8c@s eZdZdS)z1Test_getAdapters.test_wo_sitemanager..BazN)r)r*r+r r r r rR™srRcseZdZ‡fdd„ZdS)z5Test_getAdapters.test_wo_sitemanager..Contextcsˆ‚dS)Nr )rrD)rr r rGszATest_getAdapters.test_wo_sitemanager..Context.__conform__N)r)r*r+rGr )rr r r9œsr9)r)r%r r2rrrr rC) rr r2r0r4r\r8rRr9r>r`r?r )rr rcŒs   z$Test_getAdapters.test_wo_sitemanagerN) r)r*r+r,rrr rgrrrcr r r r rdjs rdc@s<eZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d S) ÚTest_subscribersr)rrcOsddlm}|||ŽS)Nr)Ú subscribers)r/rt)rrr rtr r r r ©s zTest_subscribers._callFUTcCs:ddlm}Gdd„d|ƒ}|jtf|ƒ}|j|gƒdS)Nr)r c@s eZdZdS)z,Test_subscribers.test_nonesuch..IFooN)r)r*r+r r r r r0¯sr0)r%r r rrC)rr r0rtr r r rg­s zTest_subscribers.test_nonesuchc Cs¸ddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}Gdd „d tƒ}|ƒ}|j|d |ƒ|j|d|ƒ|jtƒf|ƒ}|jt|ƒd ƒd d „|Dƒ}|j d|kƒ|j d |kƒdS)Nr)r )r!c@s eZdZdS)z'Test_subscribers.test_hit..IFooN)r)r*r+r r r r r0·sr0c@seZdZdd„ZdS)z-Test_subscribers.test_hit..BarAdaptercSs ||_dS)N)r)rrr r r r5ºsz6Test_subscribers.test_hit..BarAdapter.__init__N)r)r*r+r5r r r r rh¹srhc@seZdZdd„ZdS)z-Test_subscribers.test_hit..BazAdaptercSs ||_dS)N)r)rrr r r r5½sz6Test_subscribers.test_hit..BazAdapter.__init__N)r)r*r+r5r r r r ri¼srirkcSsg|] }|jj‘qSr )r=r))rlr"r r r rnÄsz-Test_subscribers.test_hit..)N)N) r%r r/r!rZregisterSubscriptionAdapterr rCror) rr r!r0rhrir'rtrqr r r rr´s  zTest_subscribers.test_hitcs`ddlm}ddlm‰Gdd„d|ƒ}G‡fdd„dtƒ}|jtf||ƒd}|j|gƒdS) Nr)r )rc@s eZdZdS)z2Test_subscribers.test_wo_sitemanager..IFooN)r)r*r+r r r r r0Ësr0cseZdZ‡fdd„ZdS)z5Test_subscribers.test_wo_sitemanager..Contextcsˆ‚dS)Nr )rrD)rr r rGÎszATest_subscribers.test_wo_sitemanager..Context.__conform__N)r)r*r+rGr )rr r r9Ísr9)r)r%r rrrr rC)rr r0r9rtr )rr rcÈs   z$Test_subscribers.test_wo_sitemanagerN) r)r*r+r,rrr rgrrrcr r r r rs¥s rsc@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) Ú Test_handler)rrcOsddlm}|||ŽS)Nr)Úhandle)r/rv)rrr rvr r r r Øs zTest_handle._callFUTcCs.ddlm}Gdd„d|ƒ}|jtf|ƒ}dS)Nr)r c@s eZdZdS)z'Test_handle.test_nonesuch..IFooN)r)r*r+r r r r r0Þsr0)r%r r r)rr r0rtr r r rgÜs zTest_handle.test_nonesuchc sÈddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒGdd„dtƒƒ}g‰‡fd d „}‡fd d „}|ƒ}|j||fƒ|j||fƒ|j|ƒƒ|jt ˆƒd ˆƒ|j dˆkƒ|j dˆkƒdS)Nr)r!)r )r2c@s eZdZdS)z"Test_handle.test_hit..IFooN)r)r*r+r r r r r0æsr0c@s eZdZdS)z!Test_handle.test_hit..FooN)r)r*r+r r r r rHèsrHcsˆjdƒdS)NÚ_bar)Úappend)r)Ú_calledr r rwìsz"Test_handle.test_hit.._barcsˆjdƒdS)NÚ_baz)rx)r)ryr r rzîsz"Test_handle.test_hit.._bazrkrwrz) r/r!r%r r2rZregisterHandlerr rCror) rr!r r2r0rHrwrzr'r )ryr rrâs       zTest_handle.test_hitN) r)r*r+r,rrr rgrrr r r r ruÔsruc@sLeZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dS)ÚTest_getUtilityr)rrcOsddlm}|||ŽS)Nr)Ú getUtility)rr|)rrr r|r r r r ýs zTest_getUtility._callFUTcCs<ddlm}ddlm}Gdd„d|ƒ}|j||j|ƒdS)Nr)r )rc@s eZdZdS)z5Test_getUtility.test_anonymous_nonesuch..IFooN)r)r*r+r r r r r0sr0)r%r rrrr )rr rr0r r r rPs  z'Test_getUtility.test_anonymous_nonesuchcCs@ddlm}ddlm}Gdd„d|ƒ}|j||j|dddS)Nr)r )rc@s eZdZdS)z1Test_getUtility.test_named_nonesuch..IFooN)r)r*r+r r r r r0 sr0r>)rj)r%r rrrr )rr rr0r r r rQs   z#Test_getUtility.test_named_nonesuchcCsTddlm}ddlm}Gdd„d|ƒ}tƒ}|ƒj||ƒ|j|j|ƒ|kƒdS)Nr)r )r!c@s eZdZdS)z0Test_getUtility.test_anonymous_hit..IFooN)r)r*r+r r r r r0sr0)r%r r/r!rÚregisterUtilityrr )rr r!r0Úobjr r r rSs   z"Test_getUtility.test_anonymous_hitcCs\ddlm}ddlm}Gdd„d|ƒ}tƒ}|ƒj||dd|j|j|dd|kƒdS)Nr)r )r!c@s eZdZdS)z,Test_getUtility.test_named_hit..IFooN)r)r*r+r r r r r0sr0r>)rj)r%r r/r!rr}rr )rr r!r0r~r r r rVs   zTest_getUtility.test_named_hitc CsŠddlm}ddlm}ddlm}Gdd„dtƒ}Gdd„d|ƒ}tƒ}tƒ}||ƒ}||ƒ} |ƒj||ƒ|j|j || d |kƒdS) Nr)r )r!)rc@seZdZdd„Zdd„ZdS)z5Test_getUtility.test_w_conforming_context..SMcSs ||_dS)N)Ú_obj)rr~r r r r5'sz>Test_getUtility.test_w_conforming_context..SM.__init__cSs|jS)N)r)rÚ interfacerjrEr r r Ú queryUtility)szBTest_getUtility.test_w_conforming_context..SM.queryUtilityN)r)r*r+r5rr r r r ÚSM&sr‚c@s eZdZdS)z7Test_getUtility.test_w_conforming_context..IFooN)r)r*r+r r r r r0+sr0)r) r%r r/r!rrrr}rr ) rr r!rr‚r0Úobj1Úobj2rrr r r Útest_w_conforming_context"s   z)Test_getUtility.test_w_conforming_contextN) r)r*r+r,rrr rPrQrSrVr…r r r r r{ùs  r{c@s\eZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d d „Z d d„Z dd„Z dd„Z dS)ÚTest_queryUtilityr)rrcOsddlm}|||ŽS)Nr)r)rr)rrr rr r r r 9s zTest_queryUtility._callFUTcCs2ddlm}Gdd„d|ƒ}|j|j|ƒdƒdS)Nr)r c@s eZdZdS)z7Test_queryUtility.test_anonymous_nonesuch..IFooN)r)r*r+r r r r r0?sr0)r%r rCr )rr r0r r r rP=s z)Test_queryUtility.test_anonymous_nonesuchcCs>ddlm}Gdd„d|ƒ}tƒ}|j|j||d|kƒdS)Nr)r c@s eZdZdS)zATest_queryUtility.test_anonymous_nonesuch_w_default..IFooN)r)r*r+r r r r r0Esr0)rE)r%r rrr )rr r0r~r r r Ú!test_anonymous_nonesuch_w_defaultCs z3Test_queryUtility.test_anonymous_nonesuch_w_defaultcCs6ddlm}Gdd„d|ƒ}|j|j|dddƒdS)Nr)r c@s eZdZdS)z3Test_queryUtility.test_named_nonesuch..IFooN)r)r*r+r r r r r0Lsr0r>)rj)r%r rCr )rr r0r r r rQJs z%Test_queryUtility.test_named_nonesuchcCs@ddlm}Gdd„d|ƒ}tƒ}|j|j|d|d|kƒdS)Nr)r c@s eZdZdS)z=Test_queryUtility.test_named_nonesuch_w_default..IFooN)r)r*r+r r r r r0Rsr0r>)rjrE)r%r rrr )rr r0r~r r r Útest_named_nonesuch_w_defaultPs z/Test_queryUtility.test_named_nonesuch_w_defaultcCsTddlm}ddlm}Gdd„d|ƒ}tƒ}|ƒj||ƒ|j|j|ƒ|kƒdS)Nr)r )r!c@s eZdZdS)z2Test_queryUtility.test_anonymous_hit..IFooN)r)r*r+r r r r r0Zsr0)r%r r/r!rr}rr )rr r!r0r~r r r rSWs   z$Test_queryUtility.test_anonymous_hitcCs\ddlm}ddlm}Gdd„d|ƒ}tƒ}|ƒj||dd|j|j|dd|kƒdS)Nr)r )r!c@s eZdZdS)z.Test_queryUtility.test_named_hit..IFooN)r)r*r+r r r r r0csr0r>)rj)r%r r/r!rr}rr )rr r!r0r~r r r rV`s   z Test_queryUtility.test_named_hitc CsŠddlm}ddlm}ddlm}Gdd„dtƒ}Gdd„d|ƒ}tƒ}tƒ}||ƒ}||ƒ} |ƒj||ƒ|j|j || d |kƒdS) Nr)r )r!)rc@seZdZdd„Zdd„ZdS)z7Test_queryUtility.test_w_conforming_context..SMcSs ||_dS)N)r)rr~r r r r5nsz@Test_queryUtility.test_w_conforming_context..SM.__init__cSs|jS)N)r)rr€rjrEr r r rpszDTest_queryUtility.test_w_conforming_context..SM.queryUtilityN)r)r*r+r5rr r r r r‚msr‚c@s eZdZdS)z9Test_queryUtility.test_w_conforming_context..IFooN)r)r*r+r r r r r0rsr0)r) r%r r/r!rrrr}rr ) rr r!rr‚r0rƒr„rrr r r r…is   z+Test_queryUtility.test_w_conforming_contextN)r)r*r+r,rrr rPr‡rQrˆrSrVr…r r r r r†5s  r†c@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ÚTest_getUtilitiesForr)rrcOsddlm}|||ŽS)Nr)ÚgetUtilitiesFor)rrŠ)rrr rŠr r r r €s zTest_getUtilitiesFor._callFUTcCs6ddlm}Gdd„d|ƒ}|jt|j|ƒƒgƒdS)Nr)r c@s eZdZdS)z0Test_getUtilitiesFor.test_nonesuch..IFooN)r)r*r+r r r r r0†sr0)r%r rCrfr )rr r0r r r rg„s z"Test_getUtilitiesFor.test_nonesuchcCsšddlm}ddlm}Gdd„d|ƒ}tƒ}tƒ}|ƒj||ƒ|ƒj||ddt|j|ƒƒ}|jt |ƒdƒ|j d |f|kƒ|j d|f|kƒdS) Nr)r )r!c@s eZdZdS)z+Test_getUtilitiesFor.test_hit..IFooN)r)r*r+r r r r r0sr0r>)rjrkr$) r%r r/r!rr}rfr rCror)rr r!r0r~rƒrpr r r rrŠs  zTest_getUtilitiesFor.test_hitN) r)r*r+r,rrr rgrrr r r r r‰|sr‰c@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) Ú!Test_getAllUtilitiesRegisteredForr)rrcOsddlm}|||ŽS)Nr)ÚgetAllUtilitiesRegisteredFor)r/rŒ)rrr rŒr r r r s z*Test_getAllUtilitiesRegisteredFor._callFUTcCs6ddlm}Gdd„d|ƒ}|jt|j|ƒƒgƒdS)Nr)r c@s eZdZdS)z=Test_getAllUtilitiesRegisteredFor.test_nonesuch..IFooN)r)r*r+r r r r r0£sr0)r%r rCrfr )rr r0r r r rg¡s z/Test_getAllUtilitiesRegisteredFor.test_nonesuchc CsÄddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}tƒ}tƒ}tƒ}|ƒj||ƒ|ƒj||dd |ƒj||ƒt|j|ƒƒ}|jt |ƒd ƒ|j ||kƒ|j ||kƒ|j ||kƒdS) Nr)r )r!c@s eZdZdS)z8Test_getAllUtilitiesRegisteredFor.test_hit..IFooN)r)r*r+r r r r r0ªsr0c@s eZdZdS)z8Test_getAllUtilitiesRegisteredFor.test_hit..IBarN)r)r*r+r r r r r4¬sr4r>)rjé) r%r r/r!rr}rfr rCror) rr r!r0r4r~rƒr„Zutsr r r rr§s  z*Test_getAllUtilitiesRegisteredFor.test_hitN) r)r*r+r,rrr rgrrr r r r r‹™sr‹c@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ÚTest_getNextUtilityr)rrcOsddlm}|||ŽS)Nr)ÚgetNextUtility)r/r)rrr rr r r r ¿s zTest_getNextUtility._callFUTcCsNddlm}ddlm}|ƒ}td|ƒ}|j|tdƒ|j||j|tdƒdS)Nr)r!)rÚglobalÚmyutil) r/r!Zzope.component.interfacerÚ_makeMyUtilityr}Ú IMyUtilityrr )rr!rr'Úgutilr r r Ú test_globalÃs   zTest_getNextUtility.test_globalc Csæddlm}ddlm}ddlm}|ƒ}td|ƒ}|j|tdƒ|d|fd}|d |fd}td |ƒ}|j|tdƒ|j ||ƒ|kƒ|j |j |tdƒ|kƒtd |ƒ} |j| tdƒ|j || ƒ|kƒ|j |j | tdƒ|kƒdS) Nr)r!)r )r3rr‘r:)r;Úsm1_1Úonezone-one) r/r!rr r<r3r’r}r“rr ) rr!r r3r'r”r:r–Úutil1Úutil1_1r r r rYÌs       zTest_getNextUtility.test_nestedN) r)r*r+r,rrr r•rYr r r r rŽ»s rŽc@s<eZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d S) ÚTest_queryNextUtilityr)rrcOsddlm}|||ŽS)Nr)ÚqueryNextUtility)r/r›)rrr r›r r r r ãs zTest_queryNextUtility._callFUTcCsDddlm}|ƒ}td|ƒ}|j|tdƒ|j|j|tdƒdƒdS)Nr)r!rr‘)r/r!r’r}r“rCr )rr!r'r”r r r r•çs   z!Test_queryNextUtility.test_globalc Csâddlm}ddlm}|ƒ}td|ƒ}|j|tdƒ|d|fd}|d|fd}td |ƒ}|j|tdƒtd |ƒ}|j|tdƒ|ƒ} td | ƒ} | j| td ƒ| f|j|_|j|j |td ƒ| kƒ|j|j |tdƒ|kƒdS) Nr)r!)r3rr‘r:)r;r–r—zone-oneZmy_custom_util) r/r!r<r3r’r}r“Ú __bases__rr ) rr!r3r'r”r:r–r˜r™Z myregistryZ custom_utilr r r rYîs$      z!Test_queryNextUtility.test_nestedcsXddlm}ddlm‰Gdd„d|ƒ}G‡fdd„dtƒ}|j|j|ƒ|dƒdƒdS) Nr)r )rc@s eZdZdS)z7Test_queryNextUtility.test_wo_sitemanager..IFooN)r)r*r+r r r r r0sr0cseZdZ‡fdd„ZdS)z:Test_queryNextUtility.test_wo_sitemanager..Contextcsˆ‚dS)Nr )rrD)rr r rG szFTest_queryNextUtility.test_wo_sitemanager..Context.__conform__N)r)r*r+rGr )rr r r9sr9r‘)r%r rrrrCr )rr r0r9r )rr rcs   z)Test_queryNextUtility.test_wo_sitemanagerN) r)r*r+r,rrr r•rYrcr r r r ršßs ršc@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ÚTest_createObjectr)rrcOsddlm}|||ŽS)Nr)Ú createObject)r/rž)rrr ržr r r r s zTest_createObject._callFUTcCs ddlm}|j||jdƒdS)Nr)rÚnonesuch)rrrr )rrr r r r1s zTest_createObject.test_misscsnddlm‰tƒ‰g‰‡‡fdd„‰G‡‡fdd„dtƒ}|ƒ}|j|jd|dˆkƒ|jˆfifgƒdS) Nr)ÚIFactorycsˆj||fƒˆS)N)rx)rr )Ú_factory_calledÚ_objectr r Ú_factorysz,Test_createObject.test_hit.._factorycs"eZdZdd„Z‡‡fdd„ZdS)z+Test_createObject.test_hit..ContextcSs|S)Nr )rrDr r r rG"sz7Test_createObject.test_hit..Context.__conform__cs|ˆkr|dkrˆS|S)NÚtestr )rrDrjrE)r r£r r r$sz8Test_createObject.test_hit..Context.queryUtilityN)r)r*r+rGrr )r r£r r r9!sr9r¤)r)rr rrr rC)rr9rr )r r£r¡r¢r rrs zTest_createObject.test_hitN) r)r*r+r,rrr r1rrr r r r rsrc@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ÚTest_getFactoryInterfacesr)rrcOsddlm}|||ŽS)Nr)ÚgetFactoryInterfaces)r/r¦)rrr r¦r r r r 1s z"Test_getFactoryInterfaces._callFUTcCs ddlm}|j||jdƒdS)Nr)rrŸ)rrrr )rrr r r r15s z#Test_getFactoryInterfaces.test_misscstddlm‰ddlm}Gdd„d|ƒ‰G‡fdd„dtƒ‰G‡‡fdd „d tƒ}|ƒ}|j|jd |d ˆgƒdS) Nr)r )r c@s eZdZdS)z0Test_getFactoryInterfaces.test_hit..IFooN)r)r*r+r r r r r0<sr0cseZdZ‡fdd„ZdS)z4Test_getFactoryInterfaces.test_hit.._FactorycsˆgS)Nr )r)r0r r Ú getInterfaces?szBTest_getFactoryInterfaces.test_hit.._Factory.getInterfacesN)r)r*r+r§r )r0r r Ú_Factory>sr¨cs"eZdZdd„Z‡‡fdd„ZdS)z3Test_getFactoryInterfaces.test_hit..ContextcSs|S)Nr )rrDr r r rGBsz?Test_getFactoryInterfaces.test_hit..Context.__conform__cs|ˆkr|dkrˆƒS|S)Nr¤r )rrDrjrE)r r¨r r rDsz@Test_getFactoryInterfaces.test_hit..Context.queryUtilityN)r)r*r+rGrr )r r¨r r r9Asr9r¤)r)rr r%r rrCr )rr r9rr )r r0r¨r rr9s  z"Test_getFactoryInterfaces.test_hitN) r)r*r+r,rrr r1rrr r r r r¥-sr¥c@s<eZdZddlmZmZdd„Zdd„Zdd„Zd d „Z d S) ÚTest_getFactoriesForr)rrcOsddlm}|||ŽS)Nr)ÚgetFactoriesFor)r/rª)rrr rªr r r r Ps zTest_getFactoriesFor._callFUTcCs6ddlm}Gdd„d|ƒ}|jt|j|ƒƒgƒdS)Nr)r c@s eZdZdS)z?Test_getFactoriesFor.test_no_factories_registered..IFooN)r)r*r+r r r r r0Vsr0)r%r rCrfr )rr r0r r r Útest_no_factories_registeredTs z1Test_getFactoriesFor.test_no_factories_registeredcsÒddlm}ddlm}ddlm‰ddlm‰Gdd„d|ƒ}Gdd „d |ƒ}|||ƒG‡fd d „d tƒƒ}|ƒ‰G‡‡fd d „d tƒ}|jt|j ||ƒdƒdˆfgƒ|jt|j ||ƒdƒdˆfgƒdS)Nr)r )r2)r)r c@s eZdZdS)z@Test_getFactoriesFor.test_w_factory_returning_spec..IFooN)r)r*r+r r r r r0_sr0c@s eZdZdS)z@Test_getFactoriesFor.test_w_factory_returning_spec..IBarN)r)r*r+r r r r r4asr4cseZdZ‡fdd„ZdS)zDTest_getFactoriesFor.test_w_factory_returning_spec.._Factorycsˆ|ƒS)Nr )r)rr r r§eszRTest_getFactoriesFor.test_w_factory_returning_spec.._Factory.getInterfacesN)r)r*r+r§r )rr r r¨csr¨cs"eZdZdd„Z‡‡fdd„ZdS)zCTest_getFactoriesFor.test_w_factory_returning_spec..ContextcSs|S)Nr )rrDr r r rGiszOTest_getFactoriesFor.test_w_factory_returning_spec..Context.__conform__cs|ˆkrdˆfgSdS)Nr¤r )rrD)r r£r r rŠkszSTest_getFactoriesFor.test_w_factory_returning_spec..Context.getUtilitiesForN)r)r*r+rGrŠr )r r£r r r9hsr9)rr¤) r%r r2rrr rrCrfr )rr r2r0r4r¨r9r )r r£rr Útest_w_factory_returning_specZs     z2Test_getFactoriesFor.test_w_factory_returning_speccs²ddlm}ddlm‰Gdd„d|ƒ‰Gdd„d|ƒ‰G‡‡fdd „d tƒ}|ƒ‰G‡‡fd d „d tƒ}|jt|jˆ|ƒd ƒd ˆfgƒ|jt|jˆ|ƒd ƒd ˆfgƒdS)Nr)r )r c@s eZdZdS)zNTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces..IFooN)r)r*r+r r r r r0vsr0c@s eZdZdS)zNTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces..IBarN)r)r*r+r r r r r4xsr4cseZdZ‡‡fdd„ZdS)zRTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces.._FactorycsˆˆgS)Nr )r)r4r0r r r§{sz`Test_getFactoriesFor.test_w_factory_returning_list_of_interfaces.._Factory.getInterfacesN)r)r*r+r§r )r4r0r r r¨zsr¨cs"eZdZdd„Z‡‡fdd„ZdS)zQTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces..ContextcSs|S)Nr )rrDr r r rGsz]Test_getFactoriesFor.test_w_factory_returning_list_of_interfaces..Context.__conform__cs|ˆkrdˆfgSdS)Nr¤r )rrD)r r£r r rŠszaTest_getFactoriesFor.test_w_factory_returning_list_of_interfaces..Context.getUtilitiesForN)r)r*r+rGrŠr )r r£r r r9~sr9)rr¤)r%r rr rrCrfr )rr r¨r9r )r4r r0r£r Ú+test_w_factory_returning_list_of_interfacesss   z@Test_getFactoriesFor.test_w_factory_returning_list_of_interfacesN) r)r*r+r,rrr r«r¬r­r r r r r©Ls r©cCs^ddlm}ddlm}ddlm}tdkr.MyUtilitycSs||_||_dS)N)Úidr)rr®rr r r r5—sz*_makeMyUtility..MyUtility.__init__N)r)r*r+r5r r r r Ú MyUtility•sr¯)r%r r2rrr“)rjrr r2rr¯r r r r’‹s   r’cCs¢tjtjtƒtjtƒtjtƒtjtƒtjtƒtjtƒtjt ƒtjt ƒtjt ƒtjt ƒtjt ƒtjtƒtjtƒtjtƒtjtƒtjtƒtjtƒtjtƒtjtƒfƒS)N)ÚunittestZ TestSuiteZ makeSuiterr-rArNrWrZrardrsrur{r†r‰r‹rŽršrr¥r©r r r r Ú test_suitežs(r±)Ú__doc__r°ZTestCaserr-rArNrWrZrardrsrur{r†r‰r‹rŽršrr¥r©r“r’r±r r r r Ús0,2FSam;/%<G"$/>