3 ,๒ฟWศใ@s2dZddlZGdd„dejƒZdd„Zdd„ZdS) zTests for z.c.factory ้Nc@sfeZdZdd„Zddd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dS)ฺ FactoryTestscCsddlm}|S)Nr)ฺFactory)Zzope.component.factoryr)ฺselfrฉr๚"/usr/lib/python3.6/test_factory.pyฺ_getTargetClasss zFactoryTests._getTargetClassNcOs |dkr t}|jƒ|f|ž|ŽS)N)ฺ_test_callabler)rฺcallableฺargsฺkwrrrฺ_makeOneszFactoryTests._makeOnecCs*ddlm}ddlm}|||jƒƒdS)Nr)ฺ verifyClass)ฺIFactory)ฺzope.interface.verifyr ฺzope.component.interfacesrr)rr rrrrฺtest_class_conforms_to_IFactorys  z,FactoryTests.test_class_conforms_to_IFactorycCs*ddlm}ddlm}|||jƒƒdS)Nr)ฺ verifyObject)r)rrrrr )rrrrrrฺ"test_instance_conforms_to_IFactory#s  z/FactoryTests.test_instance_conforms_to_IFactorycCsD|jƒ}|j|jtƒ|j|jdƒ|j|jdƒ|j|jdƒdS)Nฺ)r ฺ assertEqualฺ _callablerฺtitleฺ descriptionZ _interfaces)rฺfactoryrrrฺtest_ctor_defaults(s zFactoryTests.test_ctor_defaultscCs.|jtddƒ}|j|jdƒ|j|jdƒdS)NZTITLEZ DESCRIPTION)r rrrr)rrrrrฺtest_ctor_expclit/szFactoryTests.test_ctor_expclitcs6g‰‡fdd„}|j|ƒ}|ƒ|jˆfifgƒdS)Ncsˆj||fƒdS)N)ฺappend)r r )ฺ_calledrrr6sz5FactoryTests.test___call___no_args.._callable)r r)rrrr)rrฺtest___call___no_args4s   z"FactoryTests.test___call___no_argscs:g‰‡fdd„}|j|ƒ}|ddƒ|jˆdifgƒdS)Ncsˆj||fƒdS)N)r)r r )rrrr>sz=FactoryTests.test___call___positional_args.._callableฺoneฺtwo)rr )r r)rrrr)rrฺtest___call___positional_args<s    z*FactoryTests.test___call___positional_argscs>g‰‡fdd„}|j|ƒ}|dd|jˆfddifgƒdS)Ncsˆj||fƒdS)N)r)r r )rrrrFsz:FactoryTests.test___call___keyword_args.._callableZbar)ฺfoor")r r)rrrr)rrฺtest___call___keyword_argsDs    z'FactoryTests.test___call___keyword_argsc Cs˜ddlm}ddlm}Gdd„d|ƒ}Gdd„d|ƒ}Gdd „d |ƒ}||ƒd d „ƒ}|j|||fd }|jƒ}|j|jd ƒ|jt|ƒ||gƒdS)Nr)ฺ Interface)ฺ implementerc@s eZdZdS)z6FactoryTests.test_getInterfaces_explicit..IFooN)ฺ__name__ฺ __module__ฺ __qualname__rrrrฺIFooOsr)c@s eZdZdS)z6FactoryTests.test_getInterfaces_explicit..IBarN)r&r'r(rrrrฺIBarQsr*c@s eZdZdS)z6FactoryTests.test_getInterfaces_explicit..IBazN)r&r'r(rrrrฺIBazSsr+cSsdS)NrrrrrrUsz;FactoryTests.test_getInterfaces_explicit.._callable)Z interfacesr)ฺzope.interfacer$r%r ฺ getInterfacesrr&ฺlist) rr$r%r)r*r+rrฺspecrrrฺtest_getInterfaces_explicitLs  z(FactoryTests.test_getInterfaces_explicitcCs`ddlm}ddlm}Gdd„d|ƒ}||ƒdd„ƒ}|j|ƒ}|jƒ}|jt|ƒ|gƒdS)Nr)r$)r%c@s eZdZdS)z6FactoryTests.test_getInterfaces_implicit..IBazN)r&r'r(rrrrr+`sr+cSsdS)Nrrrrrrbsz;FactoryTests.test_getInterfaces_implicit.._callable)r,r$r%r r-rr.)rr$r%r+rrr/rrrฺtest_getInterfaces_implicit]s   z(FactoryTests.test_getInterfaces_implicit)N)r&r'r(rr rrrrrr!r#r0r1rrrrrs rcOsdS)Nr)r r rrrrisrcCstjtjtƒfƒS)N)ฺunittestZ TestSuiteZ makeSuiterrrrrฺ test_suitelsr3)ฺ__doc__r2ZTestCaserrr3rrrrฺsV