mò %U²Ic@sudZdkZdkZdkZdkZdklZdeifd„ƒYZd„Z e djo e ƒndS(sUnit tests for the copy module.N(s test_supporttTestCopycBs?tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z!d!„Z"d"„Z#d#„Z$d$„Z%d%„Z&d&„Z'd'„Z(d(„Z)d)„Z*d*„Z+d+„Z,d,„Z-d-„Z.d.„Z/d/„Z0d0„Z1d1„Z2d2„Z3d3„Z4d4„Z5d5„Z6d6„Z7d7„Z8d8„Z9d9„Z:d:„Z;d;„Z<d<„Z=d=„Z>d>„Z?d?„Z@RS(@NcCs6|ititijƒ|ittitƒƒdS(N(tselftassert_tcopytErrorterrort issubclasst Exception(R((t+/data/zmath/lib/python2.4/test/test_copy.pyttest_exceptionsscCs)d}ti|ƒ}|i||ƒdS(Ni*(txRtyRt assertEqual(RR R ((Rttest_copy_basicscsddtf‡d†ƒY‰ˆdƒ}ti|ƒ}|i|i|iƒ|i|i|iƒdS(NtCcstZd„Z‡d†ZRS(NcCs ||_dS(N(tfooR(RR((Rt__init__scs ˆ|iƒS(N(RRR(R(R(Rt__copy__s(t__name__t __module__RR((R(RRs i*( tobjectRR RR RR t __class__R(RRR R ((RRttest_copy_copys  csjdtfd„ƒY‰‡d†}ˆdƒ}|itti|ƒti ˆ|ˆƒti|ƒ}dS(NRcBstZd„ZRS(NcCsti|ƒ}||_|S(N(Rt__new__tclstobjR(RRR((RR&s (RRR(((RR%scsˆ|iffS(N(RRR(R(R(Rtpickle_C*si*( RRRR Rt assertRaisest TypeErrorRtcopy_regtpickleR (RRR RR ((RRttest_copy_registry$s   cCsEdtfd„ƒY}|ƒ}ti|ƒ}|i||jƒdS(NRcBstZd„Zd„ZRS(NcCsdS(Nt((Rtproto((Rt __reduce_ex__3scCstid‚dS(Nsshouldn't call this(t test_supportt TestFailed(R((Rt __reduce__5s(RRR"R%(((RR2s (RRR RR RR(RRR R ((Rttest_copy_reduce_ex1s cCsEdtfd„ƒY}|ƒ}ti|ƒ}|i||jƒdS(NRcBstZd„ZRS(NcCsdS(NR ((R((RR%=s(RRR%(((RR<s(RRR RR RR(RRR R ((Rttest_copy_reduce;s cCs<dtfd„ƒY}|ƒ}|ititi|ƒdS(NRcBstZd„ZRS(NcCs-|idƒo t|‚nti||ƒS(Nt__reduce(tnamet startswithtAttributeErrorRt__getattribute__R(RR)((RR,Es (RRR,(((RRDs(RRR RRRR(RR R((Rttest_copy_cantCs cCs©dfd„ƒY}dtfd„ƒY}d„}ddddd ttd d d |i|td ƒ|t g}x3|D]+}|i ti|ƒ|jt|ƒƒqvWdS(NtClassiccBstZRS(N(RR(((RR.OstNewStylecBstZRS(N(RR(((RR/QscCsdS(N((((RtfSsi*lidf3.1400000000000001x0.01.0thellouhelloሴi (R.RR/R0tNonetTruetFalset func_codetxrangetmaxttestsR RRRtrepr(RR R8R.R0R/((Rttest_copy_atomicNs =cCs,dddg}|iti|ƒ|ƒdS(Niii(R RR R(RR ((Rttest_copy_list[scCs#d}|iti|ƒ|ƒdS(Niii(iii(R RR R(RR ((Rttest_copy_tuple_scCs5hdd<dd<}|iti|ƒ|ƒdS(NRitbari(R RR R(RR ((Rttest_copy_dictcscCs<dfd„ƒY}|dƒ}|iti|ƒ|ƒdS(NRcBstZd„Zd„ZRS(NcCs ||_dS(N(RR(RR((RRiscCst|i|iƒS(N(tcmpRRtother(RR@((Rt__cmp__ks(RRRRA(((RRhs i*(RR RR R(RR R((Rttest_copy_inst_vanillags cs?df‡d†ƒY‰ˆdƒ}|iti|ƒ|ƒdS(NRcs&tZd„Z‡d†Zd„ZRS(NcCs ||_dS(N(RR(RR((RRrscs ˆ|iƒS(N(RRR(R(R(RRtscCst|i|iƒS(N(R?RRR@(RR@((RRAvs(RRRRRA((R(RRqs  i*(RR RR R(RR R((RRttest_copy_inst_copyps cCs<dfd„ƒY}|dƒ}|iti|ƒ|ƒdS(NRcBs#tZd„Zd„Zd„ZRS(NcCs ||_dS(N(RR(RR((RR}scCs |ifS(N(RR(R((Rt__getinitargs__scCst|i|iƒS(N(R?RRR@(RR@((RRAs(RRRRDRA(((RR|s  i*(RR RR R(RR R((Rttest_copy_inst_getinitargs{s cCs<dfd„ƒY}|dƒ}|iti|ƒ|ƒdS(NRcBs#tZd„Zd„Zd„ZRS(NcCs ||_dS(N(RR(RR((RRˆscCshd|iÇs(RRR RR RR(RR R((Rttest_copy_classoverinstance½s   cCsddtfd„ƒY}|dƒ}|iti|ƒ|ƒd„|_|iti|ƒ|ƒdS(NRcBs#tZd„Zd„Zd„ZRS(NcCs ||_dS(N(RRR(RRR((RRÌscCst||iƒ S(N(R?R@RRR(RR@((RRAÎscCs|iti|i|ƒƒS(N(RRRRPRRtmemo(RRU((Rt __deepcopy__Ðs(RRRRARV(((RRËs  icCsdS(Ni*((RU((RRSÔs(RRR RR RRPRV(RR R((Rttest_deepcopy_classoverinstanceÊs   cs‡dtifd„ƒY‰dtf‡d†ƒY‰df‡d†ƒY}|iˆti|ƒ|dƒ}|i ti|ƒ|ƒdS(Nt MyOwnErrorcBstZRS(N(RR(((RRXÙstMetacstZ‡d†ZRS(Ncsˆdƒ‚dS(Ns#can't copy classes w/this metaclass(RX(R(RX(RRÜs(RRR((RX(RRYÛsRcs tZˆZd„Zd„ZRS(NcCs ||_dS(N(RNR(RRN((RRàscCst||iƒ S(N(R?R@RRN(RR@((RRAâs(RRRYt __metaclass__RRA((RY(RRÞs i( RRRXttypeRYRRRR R (RRRYRXR ((RYRXRttest_copy_metaclassconfusionØs  csŠdtifd„ƒY‰dtf‡d†ƒY‰df‡d†ƒY}|iti|ƒ|ƒ|dƒ}|iti|ƒ|ƒdS(NRXcBstZRS(N(RR(((RRXësRYcstZ‡d†ZRS(Ncsˆdƒ‚dS(Ns'can't deepcopy classes w/this metaclass(RX(RRU(RX(RRVîs(RRRV((RX(RRYísRcs tZˆZd„Zd„ZRS(NcCs ||_dS(N(RNR(RRN((RRòscCst||iƒ S(N(R?R@RRN(RR@((RRAôs(RRRYRZRRA((RY(RRðs i( RRRXR[RYRRR RPR (RRRYRXR ((RYRXRt test_deepcopy_metaclassconfusionês  cs9dtf‡d†ƒY‰dtf‡d†ƒY}|ƒS(NRcstZ‡d†ZRS(Ncs0|djo td‚ntˆ|ƒi|ƒS(Nt__mro__sWhat, *me*, a __mro__? Nevah!(tattrR+tsuperRRR,(RR_(R(RR,þs  (RRR,((R(RRýstDcstZˆZRS(N(RRRRZ((R(RRas(R[RRRa(RRRa((RRt_nomroüscCs|iƒ}ti|ƒ}dS(N(RRbR RR (RR R ((Rt test_copy_mros cCs|iƒ}ti|ƒ}dS(N(RRbR RRPR (RR R ((Rttest_deepcopy_mro s cCs)d}ti|ƒ}|i||ƒdS(Ni*(R RRPR RR (RR R ((Rttest_deepcopy_basicscCs~g}||g}ti|ƒ}|i||ƒ|i||j ƒ|i|d|dj ƒ|i|d|djƒdS(Nii(R RRPR RR R(RR R ((Rttest_deepcopy_memos csIdtfd„ƒY‰df‡d†ƒY}|iti|ƒ|ƒdS(NRYcBstZRS(N(RR(((RRY%sRcstZˆZRS(N(RRRYRZ((RY(RR's(R[RYRRR RRP(RRYR((RYRttest_deepcopy_issubclass scsddtf‡d†ƒY‰ˆdƒ}ti|ƒ}|i|i|iƒ|i|i |i ƒdS(NRcs tZd„Zd‡d†ZRS(NcCs ||_dS(N(RR(RR((RR-scs ˆ|iƒS(N(RRR(RRU(R(RRV/s(RRRR2RV((R(RR,s i*( RRR RRPR RR RR(RRR R ((RRttest_deepcopy_deepcopy+s  csjdtfd„ƒY‰‡d†}ˆdƒ}|itti|ƒt i ˆ|ˆƒti|ƒ}dS(NRcBstZd„ZRS(NcCsti|ƒ}||_|S(N(RRRRR(RRR((RR8s (RRR(((RR7scsˆ|iffS(N(RRR(R(R(RR<si*( RRRR RRRRRPRRR (RRR RR ((RRttest_deepcopy_registry6s   cCsEdtfd„ƒY}|ƒ}ti|ƒ}|i||jƒdS(NRcBstZd„Zd„ZRS(NcCsdS(NR ((RR!((RR"EscCstid‚dS(Nsshouldn't call this(R#R$(R((RR%Gs(RRR"R%(((RRDs (RRR RRPR RR(RRR R ((Rttest_deepcopy_reduce_exCs cCsEdtfd„ƒY}|ƒ}ti|ƒ}|i||jƒdS(NRcBstZd„ZRS(NcCsdS(NR ((R((RR%Os(RRR%(((RRNs(RRR RRPR RR(RRR R ((Rttest_deepcopy_reduceMs cCs<dtfd„ƒY}|ƒ}|ititi|ƒdS(NRcBstZd„ZRS(NcCs-|idƒo t|‚nti||ƒS(NR((R)R*R+RR,R(RR)((RR,Ws (RRR,(((RRVs(RRR RRRRRP(RR R((Rttest_deepcopy_cantUs cCs©dfd„ƒY}dtfd„ƒY}d„}ddddd ttd d d |i|td ƒ|t g}x3|D]+}|i ti|ƒ|jt|ƒƒqvWdS(NR.cBstZRS(N(RR(((RR.asR/cBstZRS(N(RR(((RR/cscCsdS(N((((RR0esi*lidf3.1400000000000001x0.01.0R1uhelloሴi (R.RR/R0R2R3R4R5R6R7R8R RRRRPR9(RR R8R.R0R/((Rttest_deepcopy_atomic`s =cCscddgdg}ti|ƒ}|i||ƒ|i||j ƒ|i|d|dj ƒdS(Niiii(R RRPR RR R(RR R ((Rttest_deepcopy_listms cCs|g}|i|ƒti|ƒ}|itt||ƒ|i ||j ƒ|i |d|jƒ|i t |ƒdƒdS(Nii( R tappendRRPR RRt RuntimeErrorR?RR tlen(RR R ((Rttest_deepcopy_reflexive_listts cCscddgdf}ti|ƒ}|i||ƒ|i||j ƒ|i|d|dj ƒdS(Niiii(R RRPR RR R(RR R ((Rttest_deepcopy_tuple}s cCsŒgf}|di|ƒti|ƒ}|itt||ƒ|i ||j ƒ|i |d|dj ƒ|i |dd|jƒdS(Ni( R RoRRPR RRRpR?R(RR R ((Rttest_deepcopy_reflexive_tuple„s cCsohdddg<dd<}ti|ƒ}|i||ƒ|i||j ƒ|i|d|dj ƒdS(NRiiR=i(R RRPR RR R(RR R ((Rttest_deepcopy_dicts cCsyh}||dRBRCRERGRJRKRORQRTRWR\R]RbRcRdReRfRgRhRiRjRkRlRmRnRrRsRtRuRvRxRyRzR{R|R}R~RR€RRƒR…R†R‰RŒRŽRRR‘R“R”R—(((RR s~                              cCstitƒdS(N(R#t run_unittestR(((Rt test_main st__main__( t__doc__tsysRRtunittestttestR#tTestCaseRR™R(R#RRRRœR™R((Rt?s     ÿÿ˜