ó ükWc@s>ddlZddlmZddlmZmZmZddlZddlZddl Z ddl Z ddl m Z m Z ddlZddlZddlZddlZddlZdfd„ƒYZdefd„ƒYZd efd „ƒYZd ejfd „ƒYZed „Zedkr:edeƒndS(iÿÿÿÿN(t test_support(tproxytreftWeakSet(t randrangetshuffletFoocBseZRS((t__name__t __module__(((s'/usr/lib/python2.7/test/test_weakset.pyRst SomeClasscBs,eZd„Zd„Zd„Zd„ZRS(cCs ||_dS(N(tvalue(tselfR ((s'/usr/lib/python2.7/test/test_weakset.pyt__init__scCs,t|ƒt|ƒkrtS|j|jkS(N(ttypetFalseR (R tother((s'/usr/lib/python2.7/test/test_weakset.pyt__eq__scCs|j|ƒ S(N(R(R R((s'/usr/lib/python2.7/test/test_weakset.pyt__ne__scCstt|jfƒS(N(thashR R (R ((s'/usr/lib/python2.7/test/test_weakset.pyt__hash__s(RRR RRR(((s'/usr/lib/python2.7/test/test_weakset.pyR s   tRefCyclecBseZd„ZRS(cCs ||_dS(N(tcycle(R ((s'/usr/lib/python2.7/test/test_weakset.pyR "s(RRR (((s'/usr/lib/python2.7/test/test_weakset.pyR!st TestWeakSetcBs”eZd„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-RS(,cCsTgd D]}t|ƒ^q|_gd D]}t|ƒ^q)|_gtjD]}t|ƒ^qN|_gdD]}t|ƒ^qp|_gdD]}t|ƒ^q’|_gd D]}t|ƒ^q´|_t |jƒ|_ t |jƒ|_ t |jƒ|_ t |jƒ|_ tj|jƒ|_td ƒ|_t |jgƒ|_dS( NtatbtctxtytztabtabcdetdeftF(RRR(RRR(R titemstitems2tstringt ascii_letterstletterstab_itemst abcde_itemst def_itemsRt ab_weaksett abcde_weaksett def_weaksettstdicttfromkeystdtobjtfs(R R((s'/usr/lib/python2.7/test/test_weakset.pytsetUp's""%"""cCs_ttƒ}xLttƒD]>}|dks|jdƒr@qn|j||d|ƒqWdS(Nt test_c_apit_sWeakSet missing method (tdirRtsett startswithtassertIn(R tweaksetmethodstmethod((s'/usr/lib/python2.7/test/test_weakset.pyt test_methods7s   cCs|jttgdƒdS(Ni(t assertRaisest TypeErrorR(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_new_or_init?scCs^|jt|jƒt|jƒƒ|jt|jƒdƒ|`|jt|jƒdƒdS(Nii(t assertEqualtlenR,R/R1R0(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_lenBs"cCs‚x3|jD](}|j||jk||jkƒq W|jd|jƒ|j|j|jƒ|`|jtdƒ|jƒdS(NiR ( R%R?R,R/t assertNotInR8R0R1R (R R((s'/usr/lib/python2.7/test/test_weakset.pyt test_containsHs &cCs|jj|jƒ}x?|jD]4}|j||k||jkpO||jkƒqW|j|jt|jƒƒ|jt|ƒtƒ|j t |jjggƒxdt t t jttfD]J}t|j|jƒ}||jƒ}|j|jj|ƒ|ƒ~q¾W|jt|ƒt|jƒt|jƒƒ|jjƒtjƒ|jt|ƒt|jƒt|jƒƒdS(N(R,tunionR"R%R?R/RR!R R<R=R6t frozensetR-R.tlistttupleR@tpoptgctcollect(R tuRtCR((s'/usr/lib/python2.7/test/test_weakset.pyt test_unionQs2,  cCsY|jj|jƒ}|j|jt|jƒB|ƒ|j|jt|jƒB|ƒdS(N(R,RDR"R?R6RE(R ti((s'/usr/lib/python2.7/test/test_weakset.pyttest_orbs cCs<t|jƒ}|j|jƒ}x?|jD]4}|j||k||jko[||jkƒq+W|j|t|jƒƒ|jt|ƒtƒxNtttj t t fD]4}tgƒ}|j|j||j ƒƒ|ƒq«W|jt |ƒt |jƒƒ|jjƒtjƒ|jt |ƒt |jƒƒdS(N(RR%t intersectionR"R?R R6RER-R.RFRGR!R@RHRIRJ(R R,RNRRLR((s'/usr/lib/python2.7/test/test_weakset.pyttest_intersectiongs2 &  cCsI|j|jjt|jƒƒƒ|j|jjt|jƒƒ ƒdS(N(t assertTrueR,t isdisjointRR"R%(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_isdisjointvs"cCsY|jj|jƒ}|j|jt|jƒ@|ƒ|j|jt|jƒ@|ƒdS(N(R,RPR"R?R6RE(R RN((s'/usr/lib/python2.7/test/test_weakset.pyttest_andzs cCs©|jj|jƒ}x?|jD]4}|j||k||jkoO||jkƒqW|j|jt|jƒƒ|jt|ƒtƒ|j t |jjggƒdS(N( R,t differenceR"R%R?R/RR!R R<R=(R RNR((s'/usr/lib/python2.7/test/test_weakset.pyttest_differences 2cCsY|jj|jƒ}|j|jt|jƒ|ƒ|j|jt|jƒ|ƒdS(N(R,RVR"R?R6RE(R RN((s'/usr/lib/python2.7/test/test_weakset.pyttest_sub‡s cCs|jj|jƒ}x=|jD]2}|j||k||jk||jkAƒqW|j|jt|jƒƒ|jt|ƒtƒ|j t |jjggƒ|jt |ƒt |jƒt |jƒƒ|jj ƒt jƒ|jt |ƒt |jƒt |jƒƒdS(N(R,tsymmetric_differenceR"R%R?R/RR!R R<R=R@RHRIRJ(R RNR((s'/usr/lib/python2.7/test/test_weakset.pyttest_symmetric_differenceŒs0,  cCsY|jj|jƒ}|j|jt|jƒA|ƒ|j|jt|jƒA|ƒdS(N(R,RYR"R?R6RE(R RN((s'/usr/lib/python2.7/test/test_weakset.pyttest_xor˜s cCsñ|j|j|jkƒ|j|j|jkƒ|j|j|jkƒ|j|j|jkƒ|j|j|jkƒ|jtdƒjdƒƒ|jtdƒjdƒƒ|jtdƒjdƒƒ|jtdƒjdƒƒdS(NRtabctcbs(RRR)R*t assertFalseR+R6tissubsett issuperset(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_sub_and_superscCsh|j|j|jkƒ|j|j|jkƒ|j|j|jkƒ|jtƒtƒkƒdS(N(RRR)R*R^R+R(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_lt¨scCsh|j|j|jkƒ|j|j|jkƒ|j|j|jkƒ|jtƒtƒkƒdS(N(RRR*R)R^R+R(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_gt®scCsUtd„tdƒDƒƒ}x2|D]*}||_||_t|gƒ|_q#WdS(Ncss|]}tƒVqdS(N(R(t.0RN((s'/usr/lib/python2.7/test/test_weakset.pys ¶siè(RtrangeRtsubR6(R R,telem((s'/usr/lib/python2.7/test/test_weakset.pyttest_gc´s    cCspdtfd„ƒY}|ƒ}tƒ}|j|ƒ|j||ƒ|j|ƒ|j|ƒ|j|ƒdS(NtHcBseZd„ZRS(cSstt|ƒd@ƒS(Niÿÿÿ(tinttid(R ((s'/usr/lib/python2.7/test/test_weakset.pyR¿s(RRR(((s'/usr/lib/python2.7/test/test_weakset.pyRi¾s(RR6taddR8tremovetdiscard(R RiR,tf((s'/usr/lib/python2.7/test/test_weakset.pyttest_subclass_with_custom_hash¼s     cCsˆtƒ}|j|jƒ|j||jƒ|j|jƒ|j|t|jƒƒ|jt|j|dƒ|jt|jdƒdS(Nii(RR R!R?R,R"R<R=(R R,((s'/usr/lib/python2.7/test/test_weakset.pyt test_initÉs cCs;t|jƒ}t|ƒ}|jt|ƒt|ƒƒdS(N(RR!tassertNotEqualRk(R R,tt((s'/usr/lib/python2.7/test/test_weakset.pyttest_constructor_identityÒs cCs|jtt|jƒdS(N(R<R=RR,(R ((s'/usr/lib/python2.7/test/test_weakset.pyt test_hash×scCsC|jjƒ|j|jtgƒƒ|jt|jƒdƒdS(Ni(R,tclearR?RR@(R ((s'/usr/lib/python2.7/test/test_weakset.pyt test_clearÚs cCsE|jjƒ}|j|j|ƒ|jt|jƒt|ƒƒdS(N(R,tcopyR?RrRk(R tdup((s'/usr/lib/python2.7/test/test_weakset.pyt test_copyßscCsÜtdƒ}|jj|ƒ|j||jƒ|jjƒ}|jj|ƒ|j|j|ƒ|jt|jjgƒ|jjt ƒƒ|j t |jƒdkƒ|jj|j ƒ|j t |jƒdkƒdS(NtQi( R R,RlR8RxR?R<R=R1RRRR@R0(R RRy((s'/usr/lib/python2.7/test/test_weakset.pyttest_addäs cCsetdƒ}|jj|ƒ|j||jƒ|jt|jj|ƒ|jt|jjgƒdS(NR(R R,RmRBR<tKeyErrorR=(R R((s'/usr/lib/python2.7/test/test_weakset.pyt test_removeñs  cCsitdƒtdƒ}}|jj|ƒ|j||jƒ|jj|ƒ|jt|jjgƒdS(NRR{(R R,RnRBR<R=(R Rtq((s'/usr/lib/python2.7/test/test_weakset.pyt test_discardøs cCs\x?tt|jƒƒD](}|jjƒ}|j||jƒqW|jt|jjƒdS(N(ReR@R,RHRBR<R}(R RNRg((s'/usr/lib/python2.7/test/test_weakset.pyttest_popÿscCss|jj|jƒ}|j|dƒx+|j|jD]}|j||jƒq6W|jt|jjggƒdS(N( R,tupdateR"R?tNoneR!R8R<R=(R tretvalR((s'/usr/lib/python2.7/test/test_weakset.pyt test_updates cCsK|jjt|jƒƒx+|j|jD]}|j||jƒq*WdS(N(R,R‚R6R"R!R8(R R((s'/usr/lib/python2.7/test/test_weakset.pyttest_update_set scCsJ|jt|jƒO_x+|j|jD]}|j||jƒq)WdS(N(R,R6R"R!R8(R R((s'/usr/lib/python2.7/test/test_weakset.pyttest_iorscCs§|jj|jƒ}|j|dƒx_|j|jD]M}||jkrp||jkrp|j||jƒq6|j||jƒq6W|jt |jjggƒdS(N( R,tintersection_updateR"R?RƒR!R8RBR<R=(R R„R((s'/usr/lib/python2.7/test/test_weakset.pyttest_intersection_updatescCs~|jt|jƒM_x_|j|jD]M}||jkrc||jkrc|j||jƒq)|j||jƒq)WdS(N(R,R6R"R!R8RB(R R((s'/usr/lib/python2.7/test/test_weakset.pyt test_iand s cCsÃ|jj|jƒ}|j|dƒx_|j|jD]M}||jkrp||jkrp|j||jƒq6|j||jƒq6W|jt |jjggƒ|jt |jj ggƒdS(N( R,tdifference_updateR"R?RƒR!R8RBR<R=tsymmetric_difference_update(R R„R((s'/usr/lib/python2.7/test/test_weakset.pyttest_difference_update(scCs~|jt|jƒ8_x_|j|jD]M}||jkrc||jkrc|j||jƒq)|j||jƒq)WdS(N(R,R6R"R!R8RB(R R((s'/usr/lib/python2.7/test/test_weakset.pyt test_isub3s cCs¥|jj|jƒ}|j|dƒx]|j|jD]K}||jk||jkArn|j||jƒq6|j||jƒq6W|jt |jjggƒdS(N( R,RŒR"R?RƒR!R8RBR<R=(R R„R((s'/usr/lib/python2.7/test/test_weakset.pyt test_symmetric_difference_update;scCs||jt|jƒN_x]|j|jD]K}||jk||jkAra|j||jƒq)|j||jƒq)WdS(N(R,R6R"R!R8RB(R R((s'/usr/lib/python2.7/test/test_weakset.pyt test_ixorEs cCs–|jjƒ}||O}|j||jƒ||M}|j||jƒ||8}|j|tƒƒ|jjƒ}||N}|j|tƒƒdS(N(R,RxR?R(R Rs((s'/usr/lib/python2.7/test/test_weakset.pyttest_inplace_on_selfMs    cCs¯|j|j|jkƒ|j|jt|jƒkƒ|j|jt|jƒkƒ|j|jt|jƒkƒ|j|jt|jƒkƒ|j|jdkƒdS(Ni(RRR,RR!R^R6RFRG(R ((s'/usr/lib/python2.7/test/test_weakset.pyttest_eqYs cCsH|j|jt|jƒkƒtƒ}tƒ}|j||kƒdS(N(RRR,R6R!RR^(R ts1ts2((s'/usr/lib/python2.7/test/test_weakset.pyttest_nebs  cCs§gdD]}t|ƒ^q}t|ƒ}t|ƒ}t|ƒ|d=tjƒ|jtt|ƒƒt|ƒt|ƒdgƒ~|j t|ƒt|ƒƒdS(NRRRiÿÿÿÿi(RRR( R RtitertnextRIRJR8R@RFR?(R RR!R,tit((s'/usr/lib/python2.7/test/test_weakset.pyt!test_weak_destroy_while_iteratinghs    2c sOgtjD]}t|ƒ^q ‰tˆƒ‰tj‡‡fd†ƒ}|ƒ}|j|ˆƒWdQX|ƒ}|jtˆj |ƒWdQX|j|ˆƒ|ƒ}ˆj |ƒWdQX|j |ˆƒˆj ƒ}|ƒ}ˆj |ƒWdQX|jtˆƒt|ƒƒ|ƒ}ˆjƒWdQX|jtˆƒdƒdS(Nc3sOzAtˆƒ}t|ƒttˆjƒƒƒ}tjƒ|VWdd}XdS(N(R–R—R tstrRHRIRJRƒ(R˜RK(R!R,(s'/usr/lib/python2.7/test/test_weakset.pyt testcontext|s    i(R#R$R Rt contextlibtcontextmanagerRBR<R}RmRlR8RxR‚R?R@Rv(R RR›RKRs((R!R,s'/usr/lib/python2.7/test/test_weakset.pyt,test_weak_destroy_and_mutate_while_iteratingxs$"       cCs¸d}gt|ƒD]}tƒ^q}t|ƒ}~t|ƒ}yt|ƒWntk rdnXtjƒt|ƒ}~tjƒt|ƒ}|j |dƒ|j |dƒdS(Niii(ii( ReRRR–R—t StopIterationRIRJR@R8R?(R tNRNR!R,R˜tn1tn2((s'/usr/lib/python2.7/test/test_weakset.pyttest_len_cycles˜s "       c Cs|jtjtjƒŒx÷tddƒD]æ}d}tjdƒtj|||ƒgt|ƒD]}tƒ^qb}t|ƒ}~t|ƒ}yt |ƒWnt k r³nXt |ƒ}~t |ƒ}|j |dƒ|j ||ƒ|j |dƒ|j ||ƒq)WdS(Niidii(t addCleanupRIt set_thresholdt get_thresholdReRJRRR–R—RŸR@tassertGreaterEqualtassertLessEqual( R tthR RNR!R,R˜R¡R¢((s'/usr/lib/python2.7/test/test_weakset.pyt test_len_race«s( "     (.RRR2R;R>RARCRMRORQRTRURWRXRZR[RaRbRcRhRpRqRtRuRwRzR|R~R€RR…R†R‡R‰RŠRRŽRRR‘R’R•R™RžR£Rª(((s'/usr/lib/python2.7/test/test_weakset.pyR%sX                               cCstjtƒdS(N(Rt run_unittestR(tverbose((s'/usr/lib/python2.7/test/test_weakset.pyt test_mainÄst__main__R¬(tunittestttestRtweakrefRRRtoperatorRxR#tostrandomRRtsystwarningst collectionsRIRœRtobjectR RtTestCaseRRƒR­RtTrue(((s'/usr/lib/python2.7/test/test_weakset.pyts(          ÿ