3 ,๒ฟWใ!ใ@srdZddlZGdd„dejƒZGdd„dejƒZGdd„dejƒZGd d „d ejƒZGd d „d ejƒZd d„ZdS)z Tests for z.c._api ้Nc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) ฺTest_getGlobalSiteManagercCsddlm}|ƒS)Nr)ฺgetGlobalSiteManager)ฺzope.component.globalregistryr)ฺselfrฉr๚)/usr/lib/python3.6/test_globalregistry.pyฺ_callFUTs z"Test_getGlobalSiteManager._callFUTcCsBddlm}ddlm}|jƒ}|j||kƒ|j|j|ƒƒdS)Nr)ฺbase)ฺIComponentLookup)rr Zzope.component.interfacesr rฺ assertTrueฺ providedBy)rr r ฺgsmrrrฺtest_gsm_is_IComponentLookups   z6Test_getGlobalSiteManager.test_gsm_is_IComponentLookupcCs|jƒ}|j|jƒ|kƒdS)N)rr )rr rrrฺtest_gsm_is_singletonsz/Test_getGlobalSiteManager.test_gsm_is_singletonc Cs†ddlm}|jƒ}|j|ƒ}|j|ƒ}|j||kƒ|j|jƒ}|j|ƒ}|j||jkƒ|j|jƒ}|j|ƒ}|j||jkƒdS)Nr)ฺ_pickle)Zzope.component._compatrrฺdumpsฺloadsr Z utilitiesZadapters) rrr ZdumpedZloadedZdumped_utilitiesZloaded_utilitiesZdumped_adaptersZloaded_adaptersrrrฺtest_gsm_pickling#s       z+Test_getGlobalSiteManager.test_gsm_picklingN)ฺ__name__ฺ __module__ฺ __qualname__rrrrrrrrrsrc@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ฺTest_provideUtilityr)ฺsetUpฺtearDowncOsddlm}|||ŽS)Nr)ฺprovideUtility)rr)rฺargsฺkwrrrrr7s zTest_provideUtility._callFUTcCs|ddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒGdd„dtƒƒ}|ƒ}|j|ƒ|ƒ}|j|j|d ƒ|kƒdS) Nr)ฺ Interface)ฺ implementer)rc@s eZdZdS)z.IFooN)rrrrrrrฺIFoo?src@s eZdZdS)z;Test_provideUtility.test_anonymous_no_provides..FooN)rrrrrrrฺFooAsr ฺ) ฺzope.interfacerrrrฺobjectrr ฺ getUtility)rrrrrr ฺfoor rrrฺtest_anonymous_no_provides;s    z.Test_provideUtility.test_anonymous_no_providescCslddlm}ddlm}Gdd„d|ƒ}Gdd„dtƒ}|ƒ}|j||dƒ|ƒ}|j|j|dƒ|kƒdS) Nr)r)rc@s eZdZdS)z7Test_provideUtility.test_named_w_provides..IFooN)rrrrrrrrLsrc@s eZdZdS)z6Test_provideUtility.test_named_w_provides..FooN)rrrrrrrr Nsr Znamed)r"rrrr#rr r$)rrrrr r%r rrrฺtest_named_w_providesIs  z)Test_provideUtility.test_named_w_providesN) rrrฺzope.component.testingrrrr&r'rrrrr3src@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ฺTest_provideAdapterr)rrcOsddlm}|||ŽS)Nr)ฺprovideAdapter)rr*)rrrr*rrrrZs zTest_provideAdapter._callFUTc Csฮddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd „d |ƒ}||ƒGd d „d tƒƒ}||ƒ||ƒGd d „d tƒƒƒ}|j|ƒ|ƒ} |ƒ} | j | |ƒ} |j t | |ƒƒ|j | j | kƒdS)Nr)r)r)r)ฺadapterc@s eZdZdS)zFTest_provideAdapter.test_anonymous_no_provides_no_adapts..IFooN)rrrrrrrrcsrc@s eZdZdS)zFTest_provideAdapter.test_anonymous_no_provides_no_adapts..IBarN)rrrrrrrฺIBaresr,c@s eZdZdS)zETest_provideAdapter.test_anonymous_no_provides_no_adapts..FooN)rrrrrrrr gsr c@seZdZdd„ZdS)zETest_provideAdapter.test_anonymous_no_provides_no_adapts..BarcSs ||_dS)N)ฺcontext)rr-rrrฺ__init__mszNTest_provideAdapter.test_anonymous_no_provides_no_adapts..Bar.__init__N)rrrr.rrrrฺBarjsr/) r"rrrrฺzope.component._apir+r#rฺ getAdapterr ฺ isinstancer-) rrrrr+rr,r r/r r%ฺadaptedrrrฺ$test_anonymous_no_provides_no_adapts^s"       z8Test_provideAdapter.test_anonymous_no_provides_no_adaptsc Csพddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}||ƒGd d „d tƒƒ}Gd d „d tƒ}|j||f|d ƒ|ƒ}|ƒ} |j| |d d} |jt | |ƒƒ|j| j | kƒdS)Nr)r)r)rc@s eZdZdS)z@Test_provideAdapter.test_named_w_provides_w_adapts..IFooN)rrrrrrrrzsrc@s eZdZdS)z@Test_provideAdapter.test_named_w_provides_w_adapts..IBarN)rrrrrrrr,|sr,c@s eZdZdS)z?Test_provideAdapter.test_named_w_provides_w_adapts..FooN)rrrrrrrr ~sr c@seZdZdd„ZdS)z?Test_provideAdapter.test_named_w_provides_w_adapts..BarcSs ||_dS)N)r-)rr-rrrr.‚szHTest_provideAdapter.test_named_w_provides_w_adapts..Bar.__init__N)rrrr.rrrrr/sr/Ztest)ฺname) r"rrrrr#rr1r r2r-) rrrrrr,r r/r r%r3rrrฺtest_named_w_provides_w_adaptsvs   z2Test_provideAdapter.test_named_w_provides_w_adaptsN) rrrr(rrrr4r6rrrrr)Vsr)c@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ฺTest_provideSubscriptionAdapterr)rrcOsddlm}|||ŽS)Nr)ฺprovideSubscriptionAdapter)rr8)rrrr8rrrrs z(Test_provideSubscriptionAdapter._callFUTc Cs่ddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd „d |ƒ}||ƒGd d „d tƒƒ}||ƒ||ƒGd d „d tƒƒƒ}|j|ƒ|ƒ} |ƒ} | j | f|ƒ} |j t | ƒdƒ|j t | d|ƒƒ|j | dj| kƒdS)Nr)r)r)r)r+c@s eZdZdS)zHTest_provideSubscriptionAdapter.test_no_provides_no_adapts..IFooN)rrrrrrrr™src@s eZdZdS)zHTest_provideSubscriptionAdapter.test_no_provides_no_adapts..IBarN)rrrrrrrr,›sr,c@s eZdZdS)zGTest_provideSubscriptionAdapter.test_no_provides_no_adapts..FooN)rrrrrrrr sr c@seZdZdd„ZdS)zGTest_provideSubscriptionAdapter.test_no_provides_no_adapts..BarcSs ||_dS)N)r-)rr-rrrr.ฃszPTest_provideSubscriptionAdapter.test_no_provides_no_adapts..Bar.__init__N)rrrr.rrrrr/ sr/้)r"rrrrr0r+r#rฺ subscribersฺ assertEqualฺlenr r2r-) rrrrr+rr,r r/r r%r3rrrฺtest_no_provides_no_adapts”s$      z:Test_provideSubscriptionAdapter.test_no_provides_no_adaptsc Csาddlm}ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}||ƒGd d „d tƒƒ}Gd d „d tƒ}|j||f|ƒ|ƒ}|ƒ} |j| f|ƒ} |jt | ƒd ƒ|j t | d|ƒƒ|j | dj | kƒdS)Nr)r)r)rc@s eZdZdS)zFTest_provideSubscriptionAdapter.test_w_provides_w_adapts..IFooN)rrrrrrrrฑsrc@s eZdZdS)zFTest_provideSubscriptionAdapter.test_w_provides_w_adapts..IBarN)rrrrrrrr,ณsr,c@s eZdZdS)zETest_provideSubscriptionAdapter.test_w_provides_w_adapts..FooN)rrrrrrrr ตsr c@seZdZdd„ZdS)zETest_provideSubscriptionAdapter.test_w_provides_w_adapts..BarcSs ||_dS)N)r-)rr-rrrr.นszNTest_provideSubscriptionAdapter.test_w_provides_w_adapts..Bar.__init__N)rrrr.rrrrr/ธsr/r9) r"rrrrr#rr:r;r<r r2r-) rrrrrr,r r/r r%r3rrrฺtest_w_provides_w_adaptsญs   z8Test_provideSubscriptionAdapter.test_w_provides_w_adaptsN) rrrr(rrrr=r>rrrrr7Œsr7c@s4eZdZddlmZmZdd„Zdd„Zdd„Zd S) ฺTest_provideHandlerr)rrcOsddlm}|||ŽS)Nr)ฺprovideHandler)rr@)rrrr@rrrrศs zTest_provideHandler._callFUTc Csๆddlm}ddlm}ddlm}ddlm}ddlm}Gdd„d|ƒ}||ƒGd d „d tƒƒ}||ƒd d „ƒ}|j |ƒ|ƒ} t | j ƒƒ} |j t | ƒd ƒ| d} |j t | jƒt ||ƒƒƒƒ|j | jdƒ|j| j|kƒdS)Nr)r)r)r )r)r+c@s eZdZdS)z0Test_provideHandler.test_no_adapts..IFooN)rrrrrrrrาsrc@s eZdZdS)z/Test_provideHandler.test_no_adapts..FooN)rrrrrrrr ิsr cSsdS)Nr)r-rrrฺ_handlerืsz4Test_provideHandler.test_no_adapts.._handlerr9r!)r"rrr rrr0r+r#rฺlistฺregisteredHandlersr;r<ฺrequiredr5r ฺfactory) rrrr rr+rr rAr ฺregsฺhrrrrฺtest_no_adaptsฬs"       z"Test_provideHandler.test_no_adaptscCsžddlm}ddlm}Gdd„d|ƒ}dd„}|j||fƒ|ƒ}t|jƒƒ}|jt|ƒdƒ|d}|jt|j ƒ|gƒ|j|j d ƒ|j |j |kƒdS) Nr)r)rc@s eZdZdS)z/Test_provideHandler.test_w_adapts..IFooN)rrrrrrrrๆsrcSsdS)Nr)r-rrrrA่sz3Test_provideHandler.test_w_adapts.._handlerr9r!) r"rrrrrBrCr;r<rDr5r rE)rrrrrAr rFrGrrrฺ test_w_adaptsใs   z!Test_provideHandler.test_w_adaptsN) rrrr(rrrrHrIrrrrr?ฤsr?cCs2tjtjtƒtjtƒtjtƒtjtƒtjtƒfƒS)N)ฺunittestZ TestSuiteZ makeSuiterrr)r7r?rrrrฺ test_suite๔s rK) ฺ__doc__rJZTestCaserrr)r7r?rKrrrrฺs!#680