mς "αΈEc@sωdkZdkZdkTdklZdklZdklZdklZdkl Z dei fd„ƒYZ d efd „ƒYZ d e fd „ƒYZ d e fd„ƒYZdefd„ƒYZd„Zd„Zedjo eƒndS(N(t*(sBrokenImplementation(sinstancesOfObjectImplements(sobjectImplements(s Interface(s AttributetInterfaceTestscBsttZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z RS( NcCsdS(N((tself((t</data/zmath/zope/lib/python/Interface/tests/testInterface.pytsetUpscCsdS(N((R((RttearDownscCstitƒpt‚titƒpt‚titƒpt‚titƒ pt‚titƒpt‚titƒpt‚t itƒ pt‚t itƒpt‚t itƒ pt‚t itƒ pt‚t itƒ pt‚dS(N( tICtisImplementedByInstancesOftCtAssertionErrortI1tAtBtDtEtI2(R((RttestClassImplements scCs#t}t|tƒjpt‚t|tƒjpt‚t|tƒjpt‚t|tƒjpt‚t|tƒjpt‚t }t|tƒƒjpt‚t|tƒƒjpt‚t|tƒƒjpt‚t|tƒƒjpt‚t|tƒƒjpt‚dS(N( tinstancesOfObjectImplementstfRRR R R RR tobjectImplements(RR((RttestUtil/scCs'titƒƒpt‚titƒƒpt‚titƒƒpt‚titƒƒ pt‚titƒƒpt‚titƒƒpt‚t itƒƒ pt‚t itƒƒpt‚t itƒƒ pt‚t itƒƒ pt‚t itƒƒ pt‚dS(N( RtisImplementedByRR R R R R RR(R((RttestObjectImplements?scCs tƒ}|it|iƒdS(N(R taRt assertRaisestBrokenImplementationtma(RR((RttestDeferredClassNs cCs¨titƒpt‚titƒpt‚titƒpt‚titƒ pt‚titƒ pt‚titƒpt‚titƒ pt‚dS(N(t BazInterfacetextendst BobInterfaceR t BarInterfacet FunInterface(R((RttestInterfaceExtendsInterfaceSscCs?dkl}|ttƒpt‚titƒpt‚dS(N(s verifyClass(tInterface.Verifyt verifyClasst FooInterfacetFooR t InterfaceRR (RR#((RttestVerifyImplementation\s cCszttiƒƒ}|iƒ|i|dddgƒttidƒƒ}|iƒ|i|ddddddgƒdS(Ntf21tf22tf23ita1tf11tf12(tlistt_I2tnamestsortRt assertEqual(RR0((Rt test_namesascCsίg}tiƒD]}||dq~}|iƒ|i|dddgƒg}tidƒD]}||dqb~}|iƒ|i|ddddddgƒx0tidƒD]\}}|i||i ƒqΈWdS( NiR(R)R*iR+R,R-( t_[1]R/tnamesAndDescriptionstndR0R1RR2tnametdt__name__(RR7R6R4R0R8((Rttest_namesAndDescriptionsgs58" cCsn|itidƒidƒ|itidƒidƒ|itid|ƒ|ƒ|ittidƒdS(NR,R)tf33(RR2R/tgetDescriptionForR9tqueryDescriptionForRtKeyError(R((Rttest_getDescriptionForpscCs9tidƒ}|i|idƒ|i|idƒdS(NR+sThis is an attribute(R/R<t descriptionRR2R9t__doc__(RR@((RttestAttrvs(R9t __module__RRRRRRR!R'R3R:R?RB(((RRs         t_I1cBs&tZedƒZd„Zd„ZRS(NsThis is an attributecCsdS(N((((RR,€scCsdS(N((((RR-s(R9RCt AttributeR+R,R-(((RRD|s  t__I1cBstZRS(N(R9RC(((RRFƒst___I1cBstZRS(N(R9RC(((RRG„sR/cBs#tZd„Zd„Zd„ZRS(NcCsdS(N((((RR(‡scCsdS(N((((RR)ˆscCsdS(N((((RR*‰s(R9RCR(R)R*(((RR/†s  cCs titƒS(N(tunittestt makeSuiteR(((Rt test_suite‹scCstiƒitƒƒdS(N(RHtTextTestRunnertrunRJ(((RtmainŽst__main__(RHR&t unitfixturestInterface.ExceptionsRtInterface.ImplementsRRtInterface.AttributeREtTestCaseRRDRFRGR/RJRMR9( RMRERHR/RDRRFRGRJR&RRR((Rt?s       d