ó {G_Tc@s‰dZddlZddlZddlmZddlZddlmZdejfd„ƒYZ d„Z e dkr…ej ƒndS( sUnit tests for abc.py.iÿÿÿÿN(t test_support(t isabstracttTestABCcBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cCsEtjd„ƒ}|j|jƒd„}|jt|dƒƒdS(NcSsdS(N((tself((s)/usr/local/lib/python2.7/test/test_abc.pytfooscSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pytbarst__isabstractmethod__(tabctabstractmethodt assertTrueRt assertFalsethasattr(RRR((s)/usr/local/lib/python2.7/test/test_abc.pyttest_abstractmethod_basicss csŠtjd„ƒ}|j|jƒd„}|jt|dƒƒdd d„ƒY}d|f‡fd†ƒY‰|jˆƒjdƒdS( NcSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyRscSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyRsRtCcBs#eZejZejd„ƒZRS(cSsdS(Ni((R((s)/usr/local/lib/python2.7/test/test_abc.pyRs(t__name__t __module__RtABCMetat __metaclass__tabstractpropertyR(((s)/usr/local/lib/python2.7/test/test_abc.pyR s tDcseZe‡fd†ƒZRS(cstˆ|ƒjS(N(tsuperR(R(R(s)/usr/local/lib/python2.7/test/test_abc.pyR"s(RRtpropertyR((R(s)/usr/local/lib/python2.7/test/test_abc.pyR!si((RRR RR R t assertEqualR(RRRR ((Rs)/usr/local/lib/python2.7/test/test_abc.pyttest_abstractproperty_basicss csoxhtjtjgD]T‰dd ‡fd†ƒY}|j|jtdgƒƒ|jt|ƒ|jt |ƒƒd|fd„ƒY}|j|jtdgƒƒ|jt|ƒ|jt |ƒƒd|fd„ƒY}|j|jtƒƒ|ƒ|j t |ƒƒd|f‡fd †ƒY}|j|jtd gƒƒ|jt|ƒ|jt |ƒƒqWdS( NR cs)eZejZˆd„ƒZd„ZRS(cSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyR*scSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyR,s(RRRRRRR((t abstractthing(s)/usr/local/lib/python2.7/test/test_abc.pyR (s RRcBseZd„ZRS(cSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyR1s(RRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR0stEcBseZd„ZRS(cSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyR6s(RRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR5stFcseZˆd„ƒZRS(cSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pyR;s(RRR((R(s)/usr/local/lib/python2.7/test/test_abc.pyR:sR(( RRRRt__abstractmethods__tsett assertRaisest TypeErrorR RR (RR RRR((Rs)/usr/local/lib/python2.7/test/test_abc.pyttest_abstractmethod_integration&s"cCsVddd„ƒY}ddd„ƒY}|jt||ƒƒ|jt||ƒƒdS(NtAcBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR Bst OldstyleClasscBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR!Ds(((R t issubclass(RR R!((s)/usr/local/lib/python2.7/test/test_abc.pyttest_subclass_oldstyle_classAscCsrddd„ƒY}ddd„ƒY}|jt||ƒƒ|jt|t|ƒƒƒ|jt||ƒƒdS(NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR JsR!cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR!Ls(((R t isinstanceR ttype(RR R!((s)/usr/local/lib/python2.7/test/test_abc.pyttest_isinstance_classIs cCsXddd„ƒY}dtfd„ƒY}|ƒ}|jt||ƒƒ|jt||fƒƒ|j||ƒ|j||fƒ|j|ƒ|jt||ƒƒ|jt||fƒƒ|j||ƒ|j||fƒd|fd„ƒY}|ƒ}|jt||ƒƒ|jt||fƒƒ|j||ƒ|j||fƒdS(NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR UstBcBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR'WsR cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR cs((tobjectR R"tassertNotIsInstancetregisterR tassertIsInstance(RR R'tbR tc((s)/usr/local/lib/python2.7/test/test_abc.pyttest_registration_basicsTs$   cCs¡ddd„ƒY}dtfd„ƒY}|ƒ}|jt||ƒƒ|jt||fƒƒ|j|ƒ|jt||ƒƒ|jt||fƒƒdS(NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR lsR'cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR'ns((R(R R$R*R (RR R'R,((s)/usr/local/lib/python2.7/test/test_abc.pyttest_isinstance_invalidationks  cCsëddd„ƒY}|jtƒ|jd|ƒ|jd|fƒ|jtt|ƒƒ|jtt|fƒƒd|fd„ƒY}|jtƒ|jd|ƒ|jd|fƒ|jtt|ƒƒ|jtt|fƒƒdS(NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR xsi*R'cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR'st((R*tintR+R R"t basestringtstr(RR R'((s)/usr/local/lib/python2.7/test/test_abc.pyttest_registration_builtinsws  cCsÆdd d„ƒY}|j|ƒd|fd„ƒY}|jt|j|ƒdtfd„ƒY}|j|ƒ|j|ƒd|fd„ƒY}|j|ƒ|jt|j|ƒ|j|ƒdS( NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR ˆstA1cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR5‹sR'cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR'ŽsR cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR ’s((R*Rt RuntimeErrorR((RR R5R'R ((s)/usr/local/lib/python2.7/test/test_abc.pyttest_registration_edge_cases‡s    cCs3dtfd„ƒY}|jtd|jdƒdS(NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR ™ssCan only register classesi(R(tassertRaisesRegexpRR*(RR ((s)/usr/local/lib/python2.7/test/test_abc.pyttest_register_non_class˜s cCsŸddd„ƒY}|jt||ƒƒ|jt||fƒƒddd„ƒY}|jt||ƒƒ|jt||fƒƒ|jt||ƒƒ|jt||fƒƒddd„ƒY}|j|ƒd|fd„ƒY}|jt||ƒƒ|jt||fƒƒd |fd „ƒY}|j|ƒ|jt||ƒƒ|jt||fƒƒ|jt||ƒƒ|jt||fƒƒ|jt||ƒƒ|jt||fƒƒ|jt||ƒƒ|jt||fƒƒ|jt||ƒƒ|jt||fƒƒ|jtƒd tfd „ƒY}|jt||ƒƒ|jt||fƒƒ|jd |ƒ|jd |fƒdS(NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR ŸsR'cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR'£sR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR ©stB1cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR:¬stC1cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR;°stMyIntcBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR<¾si*((((R R"R R*R1R+(RR R'R R:R;R<((s)/usr/local/lib/python2.7/test/test_abc.pyt test_registration_transitivenessžs>   csydd d„ƒY}dtf‡fd†ƒY‰d|ˆfd„ƒY}|jˆjdƒ|ƒ|jˆjdƒdS( NR cBseZejZRS((RRRRR(((s)/usr/local/lib/python2.7/test/test_abc.pyR ÆsR'cseZdZ‡fd†ZRS(ics%ˆjd7_tˆ|ƒj|ƒS(Ni(tcounterRt__new__(tcls(R'(s)/usr/local/lib/python2.7/test/test_abc.pyR?Ês(RRR>R?((R'(s)/usr/local/lib/python2.7/test/test_abc.pyR'ÈsR cBseZRS((RR(((s)/usr/local/lib/python2.7/test/test_abc.pyR Ísii((R(RR>(RR R ((R's)/usr/local/lib/python2.7/test/test_abc.pyttest_all_new_methods_are_calledÅs csrdtfd„ƒY‰dˆf‡fd†ƒY}tj|ƒ}|ƒjƒ~tjƒ|j|ƒdƒdS(NR cBs#eZejZejd„ƒZRS(cSsdS(N((R((s)/usr/local/lib/python2.7/test/test_abc.pytf×s(RRRRRRRB(((s)/usr/local/lib/python2.7/test/test_abc.pyR Õs R cseZ‡fd†ZRS(csˆj|ƒdS(N(RB(R(R (s)/usr/local/lib/python2.7/test/test_abc.pyRBÛs(RRRB((R (s)/usr/local/lib/python2.7/test/test_abc.pyR Ús(R(tweakreftrefRBRt gc_collectRtNone(RR tr((R s)/usr/local/lib/python2.7/test/test_abc.pyttest_cache_leakÓs  (RRR RRR#R&R.R/R4R7R9R=RARH(((s)/usr/local/lib/python2.7/test/test_abc.pyR s         ' cCstjtƒdS(N(Rt run_unittestR(((s)/usr/local/lib/python2.7/test/test_abc.pyt test_mainäst__main__( t__doc__tunittestRCttestRRtinspectRtTestCaseRRJRtmain(((s)/usr/local/lib/python2.7/test/test_abc.pyts ×