mò %U²Ic@sÁdkZdklZdklZdkZdkZdkZdkZde fd„ƒYZ d„Z dei fd„ƒYZ de fd „ƒYZd efd „ƒYZd efd „ƒYZde fd„ƒYZdefd„ƒYZdefd„ƒYZeƒZdei fd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd„Zd„Zd ei fd!„ƒYZd"ei fd#„ƒYZd$ei fd%„ƒYZ d&ei fd'„ƒYZ!d(ei fd)„ƒYZ"d*ei fd+„ƒYZ#d,e#fd-„ƒYZ$d.e#fd/„ƒYZ%d0e#fd1„ƒYZ&d2e#fd3„ƒYZ'd4e#fd5„ƒYZ(d6ei fd7„ƒYZ)d8e)fd9„ƒYZ*d:e)fd;„ƒYZ+d<e)fd=„ƒYZ,d>e)fd?„ƒYZ-d@e)fdA„ƒYZ.dBe)fdC„ƒYZ/dDei fdE„ƒYZ0dFe0fdG„ƒYZ1dHe0fdI„ƒYZ2dJe0fdK„ƒYZ3dLe0fdM„ƒYZ4dNe0fdO„ƒYZ5dPei fdQ„ƒYZ6dR„Z7dSfdT„ƒYZ8dUfdV„ƒYZ9dWfdX„ƒYZ:dYfdZ„ƒYZ;d[fd\„ƒYZ<d]fd^„ƒYZ=d_fd`„ƒYZ>dak?l@Z@lAZAdb„ZBdcei fdd„ƒYZCdde„ZEeFdfjoeEdgeGƒndS(hN(s test_support(sproxytPassThrucBstZRS(N(t__name__t __module__(((t*/data/zmath/lib/python2.4/test/test_set.pyR sccst‚dVdS(Ni(R(((Rtcheck_pass_thru st TestJointOpscBsÅ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„ZRS(NcCsGd|_}d|_d|_|i|ƒ|_ti|ƒ|_dS(Nt simsalabimt madagascart4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ( tselftwordt otherwordtletterstthetypetstdicttfromkeystd(R R ((RtsetUps    cCs|it|igdƒdS(Ni(R t assertRaisest TypeErrorR (R ((Rttest_new_or_initscCsdt|iƒ}t|iƒ}|i||ƒ|it|i t ƒƒ|it |i ggƒdS(N( tsortedR RtactualRtexpectedt assertEqualRRR RR(R RR((Rttest_uniquifications cCs&|it|iƒt|iƒƒdS(N(R RtlenRR(R ((Rttest_len$scCsx3|iD](}|i||ij||ijƒq W|it|iiggƒ|i t |iƒgƒ}|i |i |iƒ|jƒdS(N( R R tcRRRRRt __contains__R t frozensettassert_(R RR((Rt test_contains's  &cCs­|ii|iƒ}x@|iD]5}|i||j||ijp ||ijƒqW|i|i|i |i ƒƒ|it |ƒ|i ƒ|i t |iitƒƒ|i t|iiggƒxÞtttittttfD]¾}|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtd ƒƒqçWdS( Ntabcbatcdctabcdtefgfetabcefgtccbtabcteftabcef(R RtunionR tuR RRRR R ttypeRRRRtsetRRRtstrtunicodetlistttupletC(R RR3R,((Rt test_union.s 3...cCsŽ|ii|iƒ}|i|it|iƒB|ƒ|i|it|iƒB|ƒy|i|iBWntj onX|i dƒdS(Ns(s|t did not screen-out general iterables( R RR+R tiRR.RRtfail(R R5((Rttest_or<s  cCs‘|ii|iƒ}x@|iD]5}|i||j||ijo ||ijƒqW|i|i|i |i ƒƒ|it |ƒ|i ƒ|i t |iitƒƒxÞtttittttfD]¾}|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒqËWdS( NR"R#tccR%tR'tbcR)(R Rt intersectionR R5R RRRR R R-RRRR.RRRR/R0R1R2R3(R RR5R3((Rttest_intersectionGs 3...cCsŽ|ii|iƒ}|i|it|iƒ@|ƒ|i|it|iƒ@|ƒy|i|i@Wntj onX|i dƒdS(Ns(s&t did not screen-out general iterables( R RR;R R5RR.RRR6(R R5((Rttest_andTs  cCs­|ii|iƒ}x@|iD]5}|i||j||ijo ||ijƒqW|i|i|i |i ƒƒ|it |ƒ|i ƒ|i t |iitƒƒ|i t|iiggƒxÞtttittttfD]¾}|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒqçWdS( NR"R#tabR%R(R'taR)(R Rt differenceR R5R RRRR R R-RRRRR.RRRR/R0R1R2R3(R RR5R3((Rttest_difference_s 3...cCsŽ|ii|iƒ}|i|it|iƒ|ƒ|i|it|iƒ|ƒy|i|iWntj onX|i dƒdS(Ns(s-t did not screen-out general iterables( R RR@R R5RR.RRR6(R R5((Rttest_subms  cCsª|ii|iƒ}x=|iD]2}|i||j||ij||ijAƒqW|i|i|i |i ƒƒ|it |ƒ|i ƒ|i t |iitƒƒ|i t|iiggƒxÞtttittttfD]¾}|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtdƒƒ|i|i dƒi|dƒƒtd ƒƒqäWdS( NR"R#tabdR%R&R'R?R)R*(R Rtsymmetric_differenceR R5R RRRR R R-RRRRR.RRRR/R0R1R2R3(R RR5R3((Rttest_symmetric_differencexs 0...cCsŽ|ii|iƒ}|i|it|iƒA|ƒ|i|it|iƒA|ƒy|i|iAWntj onX|i dƒdS(Ns(s^t did not screen-out general iterables( R RRDR R5RR.RRR6(R R5((Rttest_xor†s  cCs¬|i|it|iƒƒ|i|it|iƒƒ|i|i|ijtƒ|i|it|iƒƒ|i|it|iƒƒ|i|i|ijt ƒdS(N( R RRR.R RtFalsetassertNotEqualR tTrue(R ((Rt test_equality‘s cCsGttdddddgƒ}|i|ƒ}|it|ƒdƒdS(Ntabcdeftbcdtbdcbtfedtfedccbai(tmapRttR R RRR(R RRQ((Rttest_setOfFrozensets™scCs |it|ii|iƒdS(N(R RRRt__cmp__(R ((Rt test_comparežscCsCt|idddgƒ\}}}|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|itdƒi dƒƒ|itdƒi dƒƒ|itdƒi dƒƒ|itdƒi dƒƒdS(NR>tabcdetdefR?R(tcbs( RPR R tptqtrR tfailIfR.tissubsett issuperset(R RYRXRZ((Rttest_sub_and_super¡s$cCsÂx»dD]³}ti|i|ƒ}ti|ƒ}|i|i|d|i|fƒt |iƒt t fjoJd|i_ ti|iƒ}ti|ƒ}|i|ii |i ƒqqWdS(Niiis%s != %si (iii( R5tpickletdumpsR RRXtloadstdupRR-R.Rtx(R R5RXRb((Rt test_pickling±s# cs°df‡d†ƒY‰ˆdƒ}|i|gƒ}ti|ƒ}|it |ƒt |ƒƒx|D] }|}qfW|it |ƒt |ƒƒ|i |i d|i ƒdS(NtTracercs)tZd„Zd„Zd‡d†ZRS(NcCs ||_dS(N(tvalueR (R Rf((Rt__init__¾scCs|iS(N(R Rf(R ((Rt__hash__Àscsˆ|idƒS(Ni(ReR Rf(R tmemo(Re(Rt __deepcopy__Âs(RRRgRhtNoneRj((Re(RRe½s  i i(ReRQR R RtcopytdeepcopyRbRHtidtelemtnewtRRf(R RoRRQRbReRp((ReRt test_deepcopy¼s  cskdfd„ƒY‰t‡d†tdƒDƒƒ}x2|D]*}||_||_t|gƒ|_q9WdS(NtAcBstZRS(N(RR(((RRrÏsc#sx|] }ˆƒVqWdS(N(t[outmost-iterable]R5Rr(RsR5(Rr(RtÑsiè(RrR.txrangeRRotcycletsub(R RrRoR((RrRttest_gcÍs  cCsvd|ifd„ƒY}|ƒ}tƒ}|i|ƒ|i||jƒ|i|ƒ|i|ƒ|i |ƒdS(NtHcBstZd„ZRS(NcCs t|ƒS(N(RnR (R ((RRhÚs(RRRh(((RRyÙs( R R RyRR.tftaddR tremovetdiscard(R RyRRz((Rttest_subclass_with_custom_hash×s     (RRRRRRR!R4R7R<R=RARBRERFRJRRRTR^RdRqRxR~(((RRs*              tTestSetcBs¹tZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs‘|iƒ}|i|iƒ|i|t|iƒƒ|i|iƒ|i|t|iƒƒ|it |i|dƒ|it |idƒdS(Nii( R R RRgR RR.R RR(R R((Rt test_initçs cCsD|itdƒƒ}|i|ƒ}|it|ƒt|ƒƒdS(Ni(R R trangeRRQRHRn(R RRQ((Rttest_constructor_identityðscCs|itt|iƒdS(N(R RRthashR(R ((Rt test_hashõscCs@|iiƒ|i|itƒƒ|it|iƒdƒdS(Ni(R RtclearRR.R(R ((Rt test_clearøs cCsE|iiƒ}|i|i|ƒ|it|iƒt|ƒƒdS(N(R RRlRbRRHRn(R Rb((Rt test_copyýscCsu|iidƒ|id|ijƒ|iiƒ}|iidƒ|i|i|ƒ|it|iigƒdS(NtQ( R RR{R RlRbRRR(R Rb((Rttest_adds cCsó|iidƒ|id|ijƒ|it|iidƒ|it|iigƒ|it|i ƒgƒ}|i|i|i ƒ|jƒ|i|i|i ƒƒ|i|i|i ƒ|jƒ|it|ii|i|i ƒƒdS(NR?Rˆ( R RR|R RtKeyErrorRR RR (R R((Rt test_remove scCsÞ|iidƒ|id|ijƒ|iidƒ|it|iigƒ|it|iƒgƒ}|i|i|iƒ|jƒ|i|i|iƒƒ|i|i|iƒ|jƒ|i|i|iƒƒdS(NR?Rˆ( R RR}R RRR RR (R R((Rt test_discardscCs_xBtt|iƒƒD]+}|iiƒ}|i||ijƒqW|it |iiƒdS(N( RuRR RR5tpopRoR RRŠ(R R5Ro((Rttest_pop s cCs"|ii|iƒ}|i|dƒx.|i|iD]}|i ||ijƒq6W|i t |iit ƒƒ|i t |iiggƒxd d d d fD]y\}}xjtttittttfD]J}|id ƒ}|i|i||ƒƒdƒ|i|t|ƒƒqÌWq¡WdS(NR#R$R%R&R'R(R)R*R"(scdcsabcd(sefgfesabcefg(sccbsabc(sefsabcef(R RtupdateR tretvalRRkR RR RRRRRXRYR.RRRR/R0R1R2R3R (R RR3RYRXRR((Rt test_update&s cCsM|it|iƒO_x.|i|iD]}|i||ijƒq)WdS(N(R RR.R R RR (R R((Rttest_ior3scCs\|ii|iƒ}|i|dƒxh|i|iD]V}||ijo*||ijo|i ||ijƒq6|i ||ijƒq6W|i t |iit ƒƒ|i t |iiggƒxd d d d fD]y\}}xjtttittttfD]J}|idƒ}|i|i||ƒƒdƒ|i|t|ƒƒqWqÛWdS( NR#RR%R9R'R:R)R"(scdcR(sefgfeR9(sccbsbc(sefR9(R Rtintersection_updateR RRRkR RR RRRRRXRYR.RRRR/R0R1R2R3R (R RR3RYRXRR((Rttest_intersection_update8s   cCs‡|it|iƒM_xh|i|iD]V}||ijo*||ijo|i||ijƒq)|i||ijƒq)WdS(N(R RR.R R RR (R R((Rt test_iandHs  cCsx|ii|iƒ}|i|dƒxh|i|iD]V}||ijo*||ijo|i ||ijƒq6|i ||ijƒq6W|i t |iit ƒƒ|i t |iiggƒ|i t |iiggƒxd d d d fD]y\}}xjtttittttfD]J}|idƒ}|i|i||ƒƒdƒ|i|t|ƒƒq"Wq÷WdS( NR#R>R%R(R'R?R)R"(scdcsab(sefgfesabc(sccbR?(sefsabc(R Rtdifference_updateR RRRkR RR RRRRtsymmetric_difference_updateRXRYR.RRRR/R0R1R2R3R (R RR3RYRXRR((Rttest_difference_updatePs"  cCs‡|it|iƒ8_xh|i|iD]V}||ijo*||ijo|i||ijƒq)|i||ijƒq)WdS(N(R RR.R R RR (R R((Rt test_isubas  cCsY|ii|iƒ}|i|dƒxe|i|iD]S}||ij||ijAo|i ||ijƒq6|i ||ijƒq6W|i t |iit ƒƒ|i t |iiggƒxd d d d fD]y\}}xjtttittttfD]J}|id ƒ}|i|i||ƒƒdƒ|i|t|ƒƒqWqØWdS(NR#RCR%R&R'R?R)R*R"(scdcsabd(sefgfesabcefg(sccbR?(sefsabcef(R RR—R RRRkR RR RRRRRXRYR.RRRR/R0R1R2R3R (R RR3RYRXRR((Rt test_symmetric_difference_updateis  cCs„|it|iƒN_xe|i|iD]S}||ij||ijAo|i||ijƒq)|i||ijƒq)WdS(N(R RR.R R RR (R R((Rt test_ixorys cCsœ|iiƒ}||O}|i||iƒ||M}|i||iƒ||8}|i||iƒƒ|iiƒ}||N}|i||iƒƒdS(N(R RRlRQRR (R RQ((Rttest_inplace_on_selfs    cCsT|idƒ}t|ƒ}|it|ƒt|ƒƒd}|it t|ƒdS(Ntgallahad( R R RtproxyRXRR/RkRtReferenceError(R RXR((Rt test_weakrefs  (RRR.R R€R‚R„R†R‡R‰R‹RŒRŽR‘R’R”R•R˜R™RšR›RœR (((RRäs(              t SetSubclasscBstZRS(N(RR(((RR¡”stTestSetSubclasscBstZeZRS(N(RRR¡R (((RR¢—st TestFrozenSetcBsMtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z RS(NcCs?|i|iƒ}|i|iƒ|i|t|iƒƒdS(N(R R R RRgR RR.(R R((RR€scCsD|itdƒƒ}|i|ƒ}|it|ƒt|ƒƒdS(Ni(R R RRRQRRn(R RRQ((RR‚¢scCs2|it|idƒƒt|idƒƒƒdS(Ntabcdebtebecda(R RRƒR (R ((RR„§scCs2|iiƒ}|it|iƒt|ƒƒdS(N(R RRlRbRRn(R Rb((RR‡«scCs•tdƒtdƒdg}|i|ƒ}|it|ƒƒ}|i||ƒ|i t |ƒt |ƒƒh}d||<|i||dƒdS(Ni tabcdefgtapplei*( RR1tseqR R tkey1treversedtkey2RRHRnR(R RR¨R«R©((Rttest_frozen_as_dictkey¯s cCs/|idƒ}|it|ƒt|ƒƒdS(Ntabcdcda(R R RzRRƒ(R Rz((Rttest_hash_caching¹sc CsÌd}tƒ}|i}g}t|ƒD]}||dd|>fq)~}x^t d|ƒD]L}|t t g}|D]"\}}||@o ||qxqx~ƒƒƒq^W|it|ƒd|ƒdS(Ni ii(tnR.t hashvaluesR{t addhashvaluet_[1]RR5t elemmasksRuRƒRtetmR RR( R R5R±RµR¯R²R³R°R´((Rttest_hash_effectiveness½s  5J( RRRR R€R‚R„R‡R¬R®R¶(((RR£šs     tFrozenSetSubclasscBstZRS(N(RR(((RR·ÆstTestFrozenSetSubclasscBs)tZeZd„Zd„Zd„ZRS(NcCsD|itdƒƒ}|i|ƒ}|it|ƒt|ƒƒdS(Ni(R R RRRQRHRn(R RRQ((RR‚ÌscCs2|iiƒ}|it|iƒt|ƒƒdS(N(R RRlRbRHRn(R Rb((RR‡ÑscCs/|iƒ}|i|ƒ}|i||ƒdS(N(R R RRQR(R RRQ((Rttest_nested_empty_constructorÕs (RRR·R R‚R‡R¹(((RR¸És  t TestBasicOpscBs³tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs4|idj o |it|iƒ|iƒndS(N(R treprRkRR.(R ((Rt test_reprâscCs€z^ttidƒ}||iI|iƒttidƒ}|i|iƒt |iƒƒWd|iƒt i tiƒXdS(Ntwbtrb( topent test_supporttTESTFNtfoR R.tcloseRtreadR»tosR|(R RÂ((Rt test_printæs  # cCs |it|iƒ|iƒdS(N(R RRR.tlength(R ((Rt test_lengthñscCs|i|i|iƒdS(N(R RR.(R ((Rttest_self_equalityôscCs|i|i|iƒdS(N(R RR.Rb(R ((Rttest_equivalent_equality÷scCs |i|iiƒ|iƒdS(N(R RR.RlRb(R ((RR‡úscCs'|i|iB}|i||iƒdS(N(R R.tresultRRb(R RË((Rttest_self_unionýscCs$|itB}|i||iƒdS(N(R R.t empty_setRËRRb(R RË((Rttest_empty_unions cCs$t|iB}|i||iƒdS(N(RÍR R.RËRRb(R RË((Rttest_union_emptys cCs'|i|i@}|i||iƒdS(N(R R.RËRRb(R RË((Rttest_self_intersection scCs!|it@}|i|tƒdS(N(R R.RÍRËR(R RË((Rttest_empty_intersection s cCs!t|i@}|i|tƒdS(N(RÍR R.RËR(R RË((Rttest_intersection_emptys cCs$|i|iA}|i|tƒdS(N(R R.RËRRÍ(R RË((Rttest_self_symmetric_differencescCs$|itA}|i||iƒdS(N(R R.RÍRËR(R RË((Rtcheckempty_symmetric_differences cCs$|i|i}|i|tƒdS(N(R R.RËRRÍ(R RË((Rttest_self_differencescCs$|it}|i||iƒdS(N(R R.RÍRËRRb(R RË((Rttest_empty_difference!s cCs!t|i}|i|tƒdS(N(RÍR R.RËR(R RË((Rttest_empty_difference_rev%s cCs.x'|iD]}|i||ijƒq WdS(N(R R.tvR tvalues(R RØ((Rttest_iteration)s cCsHti|iƒ}ti|ƒ}|i|i|d|i|fƒdS(Ns%s != %s(R_R`R R.RXRaRlR(R RXRl((RRd-s(RRR¼RÆRÈRÉRÊR‡RÌRÎRÏRÐRÑRÒRÓRÔRÕRÖR×RÚRd(((RRºàs&                 tTestBasicOpsEmptycBstZd„ZRS(NcCsLd|_g|_t|iƒ|_t|iƒ|_d|_d|_dS(Ns empty setisset([])(R tcaseRÙR.RbRÇR»(R ((RR6s    (RRR(((RRÛ5stTestBasicOpsSingletoncBs#tZd„Zd„Zd„ZRS(NcCsOd|_dg|_t|iƒ|_t|iƒ|_d|_d|_dS(Nsunit set (number)iisset([3])(R RÜRÙR.RbRÇR»(R ((RRAs    cCs|id|ijƒdS(Ni(R t failUnlessR.(R ((Rttest_inIscCs|id|ijƒdS(Ni(R RÞR.(R ((Rt test_not_inLs(RRRRßRà(((RRÝ@s  tTestBasicOpsTuplecBs#tZd„Zd„Zd„ZRS(NcCsOd|_dg|_t|iƒ|_t|iƒ|_d|_d|_dS(Nsunit set (tuple)itzeroisset([(0, 'zero')])(iszero(R RÜRÙR.RbRÇR»(R ((RRRs    cCs|id|ijƒdS(NiRâ(iszero(R RÞR.(R ((RRßZscCs|id|ijƒdS(Ni (R RÞR.(R ((RRà]s(RRRRßRà(((RRáQs  tTestBasicOpsTriplecBstZd„ZRS(NcCsXd|_ddtig|_t|iƒ|_t|iƒ|_d|_d|_ dS(Ns triple setiRâi( R RÜtoperatorR{RÙR.RbRÇRkR»(R ((RRcs   (RRR(((RRãbsccst‚tVdS(N(RRI(((RtbaditermsccstVdS(N(RI(((RtgooditerqstTestExceptionPropagationcBs tZdZd„Zd„ZRS(s?SF 628246: Set constructor should not trap iterator TypeErrorscCs|itttƒƒdS(N(R RRR.Rå(R ((Rttest_instanceWithExceptionwscCsmtdddgƒtdƒthdd<dd<dd<ƒttdƒƒtdƒttƒƒdS( NiiitonettwotthreeR((iii(R.RuRæ(R ((Rttest_instancesWithoutExceptionzs  % (RRt__doc__RèRì(((RRçts  t TestSetOfSetscBstZd„ZRS(NcCs~tdgƒ}t|gƒ}|iƒ}|it|ƒtƒ|i |ƒ|i |ƒ|i|tƒƒ|i |ƒdS(Ni( RtinnerR.touterRtelementR RR-R{R|R}(R RðRñRï((Rttest_constructor†s   (RRRò(((RRî…st TestBinaryOpscBstZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„ZRS(NcCstdƒ|_dS(Niii(iii(R.R (R ((RR“scCs8|i|ithdd<dd<dd<ƒƒdS(Niiiiii(R RR.(R ((Rttest_eq–scCs0|itdgƒB}|i|tdƒƒdS(Niii(iii(R R.RËR(R RË((Rttest_union_subset™scCsE|itddddgƒB}|i|tddddgƒƒdS(Niiii(R R.RËR(R RË((Rttest_union_supersetscCsE|itdddgƒB}|i|tdddddgƒƒdS(Niiiii(R R.RËR(R RË((Rttest_union_overlap¡scCs<|itdgƒB}|i|tddddgƒƒdS(Niiii(R R.RËR(R RË((Rttest_union_non_overlap¥scCs-|itdƒ@}|i|tdƒƒdS(Nii(ii(ii(R R.RËR(R RË((Rttest_intersection_subset©scCsB|itddddgƒ@}|i|tdddgƒƒdS(Niiii(R R.RËR(R RË((Rttest_intersection_superset­scCs9|itdddgƒ@}|i|tdgƒƒdS(Niii(R R.RËR(R RË((Rttest_intersection_overlap±scCs*|itdgƒ@}|i|tƒdS(Ni(R R.RËRRÍ(R RË((Rttest_intersection_non_overlapµscCs0|itdƒA}|i|tdgƒƒdS(Niii(ii(R R.RËR(R RË((Rttest_sym_difference_subset¹scCs0|itdƒA}|i|tdgƒƒdS(Niiii(iiii(R R.RËR(R RË((Rttest_sym_difference_superset½scCs9|itdƒA}|i|tddddgƒƒdS(Niiiii(iii(R R.RËR(R RË((Rttest_sym_difference_overlapÁscCs<|itdgƒA}|i|tddddgƒƒdS(Niiii(R R.RËR(R RË((Rttest_sym_difference_non_overlapÅscCsxtdƒtdƒ}}|itt||ƒ|it||ƒdƒ|itt|dƒ|ittd|ƒdS(NR?tbii R((R.R?RR RRtcmpR(R R?R((Rttest_cmpÉs (RRRRôRõRöR÷RøRùRúRûRüRýRþRÿRR(((RRó’s              t TestUpdateOpscBsÅ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„ZRS(NcCstdƒ|_dS(Niii(iii(R.R (R ((RRÙscCs5|itdgƒO_|i|itdƒƒdS(Niii(iii(R R.R(R ((RRõÜscCsJ|itddddgƒO_|i|itddddgƒƒdS(Niiii(R R.R(R ((RRöàs!cCsJ|itdddgƒO_|i|itdddddgƒƒdS(Niiiii(R R.R(R ((RR÷äscCsA|itdgƒO_|i|itddddgƒƒdS(Niiii(R R.R(R ((RRøèscCsK|iitdddgƒƒ|i|itdddddgƒƒdS(Niiiii(R R.RR(R ((Rttest_union_method_callìscCs2|itdƒM_|i|itdƒƒdS(Nii(ii(ii(R R.R(R ((RRùðscCsG|itddddgƒM_|i|itdddgƒƒdS(Niiii(R R.R(R ((RRúôs!cCs>|itdddgƒM_|i|itdgƒƒdS(Niii(R R.R(R ((RRûøscCs/|itdgƒM_|i|itƒdS(Ni(R R.RRÍ(R ((RRüüscCs?|iitdddgƒƒ|i|itdgƒƒdS(Niii(R R.R“R(R ((Rttest_intersection_method_callscCs5|itdƒN_|i|itdgƒƒdS(Niii(ii(R R.R(R ((RRýscCs5|itdƒN_|i|itdgƒƒdS(Niiii(iiii(R R.R(R ((RRþscCs>|itdƒN_|i|itddddgƒƒdS(Niiiii(iii(R R.R(R ((RRÿ scCsA|itdgƒN_|i|itddddgƒƒdS(Niiii(R R.R(R ((RRscCsH|iitdddgƒƒ|i|itddddgƒƒdS(Niiiii(R R.R—R(R ((Rttest_sym_difference_method_callscCs5|itdƒ8_|i|itdgƒƒdS(Niii(ii(R R.R(R ((Rttest_difference_subsetscCs2|itdƒ8_|i|itgƒƒdS(Niiii(iiii(R R.R(R ((Rttest_difference_supersetscCs8|itdƒ8_|i|itddgƒƒdS(Niiiii(iii(R R.R(R ((Rttest_difference_overlap scCs>|itdgƒ8_|i|itdddgƒƒdS(Niiii(R R.R(R ((Rttest_difference_non_overlap$scCsB|iitdddgƒƒ|i|itddgƒƒdS(Niiiii(R R.R–R(R ((Rttest_difference_method_call(s(RRRRõRöR÷RøRRùRúRûRüRRýRþRÿRRRR R R R (((RRØs*                    t TestMutatecBs†tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„ZRS(NcCs(dddg|_t|iƒ|_dS(NR?RR(R RÙR.(R ((RR/scCs-|iidƒ|i|itdƒƒdS(NRR((R R.R{R(R ((Rttest_add_present3scCs-|iidƒ|i|itdƒƒdS(NRR$(R R.R{R(R ((Rttest_add_absent7scCsgtƒ}d}x>|iD]3}|i|ƒ|d7}|it|ƒ|ƒqW|i||iƒdS(Nii( R.ttmpt expected_lenR RÙRØR{RR(R RRRØ((Rttest_add_until_full;s    cCs-|iidƒ|i|itdƒƒdS(NRtac(R R.R|R(R ((Rttest_remove_presentDscCs;y!|iidƒ|idƒWntj onXdS(NRs7Removing missing element should have raised LookupError(R R.R|R6t LookupError(R ((Rttest_remove_absentHs cCsZt|iƒ}xD|iD]9}|ii|ƒ|d8}|it|iƒ|ƒqWdS(Ni(RR R.RRÙRØR|R(R RRØ((Rttest_remove_until_emptyOs   cCs-|iidƒ|i|itdƒƒdS(NRR>(R R.R}R(R ((Rttest_discard_presentVscCs-|iidƒ|i|itdƒƒdS(NRR((R R.R}R(R ((Rttest_discard_absentZscCs*|iiƒ|it|iƒdƒdS(Ni(R R.R…RR(R ((RR†^s cCsuh}x"|iod||iiƒ=R]s==s!=tcCs#|i}|i}x d D]}||ij}td|dt ƒƒ}|i ||ƒ|t i jo6t|t i |ƒ}||ƒ}|i ||ƒnt i|}td|dt ƒƒ}|i ||ƒ|t i jo6t|t i |ƒ}||ƒ}|i ||ƒqqWdS( Ns!=s==R s<=R!s>=Rcty(s!=s==R s<=R!s>=(R tleftRctrightR"RÜtcasesRtevaltlocalsRËRRt case2methodtgetattrtmethodtreversetrcase(R RÜRRËR"RcR,R*((Rt test_issubset†s$     (RRR(R+R-(((RRxs<tTestSubsetEqualEmptycBs&tZeƒZeƒZdZdZRS(Ns both emptys==s<=s>=(s==s<=s>=(RRR.R#R$tnameR%(((RR.žs  tTestSubsetEqualNonEmptycBs8tZeddgƒZeddgƒZdZdZRS(Niis equal pairs==s<=s>=(s==s<=s>=(RRR.R#R$R/R%(((RR0¦stTestSubsetEmptyNonEmptycBs/tZeƒZeddgƒZdZdZRS(Niisone empty, one non-emptys!=R s<=(s!=R s<=(RRR.R#R$R/R%(((RR1®s tTestSubsetPartialcBs5tZedgƒZeddgƒZdZdZRS(Niis&one a non-empty proper subset of others!=R s<=(s!=R s<=(RRR.R#R$R/R%(((RR2¶stTestSubsetNonOverlapcBs2tZedgƒZedgƒZdZdZRS(Niisneither empty, neither containss!=(RRR.R#R$R/R%(((RR3¾stTestOnlySetsInBinaryOpscBs†tZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„ZRS(NcCst|i|i|ijtƒ|i|i|ijtƒ|i|i|ijtƒ|i|i|ijtƒdS(N(R RtotherR.RGRI(R ((Rt test_eq_neÈscs´ˆit‡d†ƒˆit‡d†ƒˆit‡d†ƒˆit‡d†ƒˆit‡d†ƒˆit‡d†ƒˆit‡d†ƒˆit‡d†ƒdS( NcsˆiˆijS(N(R R.R5((R (RtÐscsˆiˆijS(N(R R.R5((R (RR7ÑscsˆiˆijS(N(R R.R5((R (RR7ÒscsˆiˆijS(N(R R.R5((R (RR7ÓscsˆiˆijS(N(R R5R.((R (RR7ÕscsˆiˆijS(N(R R5R.((R (RR7ÖscsˆiˆijS(N(R R5R.((R (RR7×scsˆiˆijS(N(R R5R.((R (RR7Øs(R RR(R ((R Rttest_ge_gt_le_ltÏscCs=y|i|iO_Wntj onX|idƒdS(Nsexpected TypeError(R R.R5RR6(R ((Rttest_update_operatorÚs cCsA|io|ii|iƒn|it|ii|iƒdS(N(R totherIsIterableR.RR5RR(R ((RR‘âs csmˆit‡d†ƒˆit‡d†ƒˆioˆiiˆiƒnˆitˆiiˆiƒdS(NcsˆiˆiBS(N(R R.R5((R (RR7éscsˆiˆiBS(N(R R5R.((R (RR7ês(R RRR:R.R+R5(R ((R RR4ès  cCs=y|i|iM_Wntj onX|idƒdS(Nsexpected TypeError(R R.R5RR6(R ((Rt!test_intersection_update_operatorðs cCsA|io|ii|iƒn|it|ii|iƒdS(N(R R:R.R“R5RR(R ((RR”øs    csmˆit‡d†ƒˆit‡d†ƒˆioˆiiˆiƒnˆitˆiiˆiƒdS(Ncsˆiˆi@S(N(R R.R5((R (RR7scsˆiˆi@S(N(R R5R.((R (RR7s(R RRR:R.R;R5(R ((R RR<s  cCs=y|i|iN_Wntj onX|idƒdS(Nsexpected TypeError(R R.R5RR6(R ((Rt#test_sym_difference_update_operators cCsA|io|ii|iƒn|it|ii|iƒdS(N(R R:R.R—R5RR(R ((Rttest_sym_difference_updates    csmˆit‡d†ƒˆit‡d†ƒˆioˆiiˆiƒnˆitˆiiˆiƒdS(NcsˆiˆiAS(N(R R.R5((R (RR7scsˆiˆiAS(N(R R5R.((R (RR7s(R RRR:R.RDR5(R ((R Rttest_sym_differences  cCs=y|i|i8_Wntj onX|idƒdS(Nsexpected TypeError(R R.R5RR6(R ((Rttest_difference_update_operator s cCsA|io|ii|iƒn|it|ii|iƒdS(N(R R:R.R–R5RR(R ((RR˜(s    csmˆit‡d†ƒˆit‡d†ƒˆioˆiiˆiƒnˆitˆiiˆiƒdS(NcsˆiˆiS(N(R R.R5((R (RR71scsˆiˆiS(N(R R5R.((R (RR72s(R RRR:R.R@R5(R ((R RRA0s  (RRR6R8R9R‘R4R;R”R<R<R=R>R?R˜RA(((RR4Æs            tTestOnlySetsNumericcBstZd„ZRS(NcCs%tdƒ|_d|_t|_dS(Niiii(iii(R.R R5RGR:(R ((RR;s (RRR(((RR@:stTestOnlySetsDictcBstZd„ZRS(NcCs7tdƒ|_hdd<dd<|_t|_dS(Niiii(iii(R.R R5RIR:(R ((RRCs(RRR(((RRABstTestOnlySetsOperatorcBstZd„ZRS(NcCs(tdƒ|_ti|_t|_dS(Niii(iii(R.R RäR{R5RGR:(R ((RRKs (RRR(((RRBJstTestOnlySetsTuplecBstZd„ZRS(NcCs%tdƒ|_d|_t|_dS(Niiiii(iii(iii(R.R R5RIR:(R ((RRSs (RRR(((RRCRstTestOnlySetsStringcBstZd„ZRS(NcCs%tdƒ|_d|_t|_dS(NiiiR((iii(R.R R5RIR:(R ((RR[s (RRR(((RRDZstTestOnlySetsGeneratorcBstZd„ZRS(NcCs1d„}tdƒ|_|ƒ|_t|_dS(Nccs%xtdddƒD] }|VqWdS(Nii i(RuR5(R5((Rtgendsiii(iii(RFR.R R5RIR:(R RF((RRcs  (RRR(((RREbst TestCopyingcBstZd„Zd„ZRS(NcCs–|iiƒ}t|ƒ}|iƒt|iƒ}|iƒ|it |ƒt |ƒƒx5t t |ƒƒD]!}|i ||||jƒqmWdS(N( R R.RlRbR1tdup_listtsorttset_listRRRR5RÞ(R R5RJRbRH((RR‡oscCs–ti|iƒ}t|ƒ}|iƒt|iƒ}|iƒ|i t |ƒt |ƒƒx2t t |ƒƒD]}|i ||||ƒqpWdS(N( RlRmR R.RbR1RHRIRJRRRR5(R R5RJRbRH((Rttest_deep_copyws(RRR‡RK(((RRGms tTestCopyingEmptycBstZd„ZRS(NcCstƒ|_dS(N(R.R (R ((RRƒs(RRR(((RRL‚stTestCopyingSingletoncBstZd„ZRS(NcCstdgƒ|_dS(Nthello(R.R (R ((RR‰s(RRR(((RRMˆstTestCopyingTriplecBstZd„ZRS(NcCstdddgƒ|_dS(NRâi(R.RkR (R ((RRs(RRR(((RROŽstTestCopyingTuplecBstZd„ZRS(NcCstdgƒ|_dS(Nii(ii(R.R (R ((RR•s(RRR(((RRP”stTestCopyingNestedcBstZd„ZRS(NcCstddfgƒ|_dS(Niiii(ii(ii(R.R (R ((RR›s(RRR(((RRQšstTestIdentitiescBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs"tdƒ|_tdƒ|_dS(Nt abracadabratalacazam(R.R R?R(R ((RR¡scCs¼|i|i}}|i|||jƒ|i|||jƒ|i||@|jƒ|i||@|jƒ|i||B|jƒ|i||B|jƒ|i||A||BjƒdS(N(R R?RR (R R?R((Rttest_binopsVsSubsets¥scCsˆ|i|i}}|i||@||@ƒ|i||B||Bƒ|i||A||Aƒ||jo|i||||ƒndS(N(R R?RRRH(R R?R((Rttest_commutativity¯s  cCsï|i|i}}|i||||@B||B||Bƒ|i||@||AB||Bƒ|i|||B||Bƒ|i|||B||Bƒ|i||||@B|ƒ|i||||@B|ƒ|i||||B||AƒdS(N(R R?RR(R R?R((Rttest_summations·s( cCsm|i|itƒ}}}|i|||@|ƒ|i|||@|ƒ|i||@||A@|ƒdS(N(R R?RR.RâR(R R?RRâ((Rttest_exclusionÂs(RRRRURVRWRX(((RRR s    ccsx|D] }|VqWdS(sRegular generatorN(tseqnR5(RYR5((RtRËstGcBs tZdZd„Zd„ZRS(sSequence using __getitem__cCs ||_dS(N(RYR (R RY((RRgÒscCs |i|S(N(R RYR5(R R5((Rt __getitem__Ôs(RRRíRgR\(((RR[Ðs  tIcBs)tZdZd„Zd„Zd„ZRS(s Sequence using iterator protocolcCs||_d|_dS(Ni(RYR R5(R RY((RRgÙs cCs|S(N(R (R ((Rt__iter__ÜscCsF|it|iƒjo t‚n|i|i}|id7_|S(Ni(R R5RRYt StopIterationRØ(R RØ((RtnextÞs  (RRRíRgR^R`(((RR]×s   tIgcBs tZdZd„Zd„ZRS(s9Sequence using iterator protocol defined with a generatorcCs||_d|_dS(Ni(RYR R5(R RY((RRgæs ccsx|iD] }|Vq WdS(N(R RYtval(R Rb((RR^és (RRRíRgR^(((RRaäs  tXcBs tZdZd„Zd„ZRS(s Missing __getitem__ and __iter__cCs||_d|_dS(Ni(RYR R5(R RY((RRgïs cCsF|it|iƒjo t‚n|i|i}|id7_|S(Ni(R R5RRYR_RØ(R RØ((RR`òs  (RRRíRgR`(((RRcís  tNcBs tZdZd„Zd„ZRS(sIterator missing next()cCs||_d|_dS(Ni(RYR R5(R RY((RRgús cCs|S(N(R (R ((RR^ýs(RRRíRgR^(((RRdøs  tEcBs)tZdZd„Zd„Zd„ZRS(sTest propagation of exceptionscCs||_d|_dS(Ni(RYR R5(R RY((RRgs cCs|S(N(R (R ((RR^scCs dddS(Nii((R ((RR`s(RRRíRgR^R`(((RRes   tScBs)tZdZd„Zd„Zd„ZRS(sTest immediate stopcCsdS(N((R RY((RRg scCs|S(N(R (R ((RR^scCs t‚dS(N(R_(R ((RR`s(RRRíRgR^R`(((RRf s   (schainsimapcCs(ttd„ttt|ƒƒƒƒƒS(s Test multiple tiers of iteratorscCs|S(N(Rc(Rc((RR7sN(tchaintimapRZRaR[RY(RY((RtLstTestVariousIteratorArgscBs#tZd„Zd„Zd„ZRS(Nc CséxâttfD]Ô}xËddtdƒd tdddƒfD]¢}xNtttt t t fD]4}|it|||ƒƒƒt||ƒƒƒqZW|it|t|ƒƒ|it|t|ƒƒ|it|t|ƒƒq;Wq WdS( Nt123R9iètdof1.2iÐi˜i(Rlf1.2(R.RtconsRRuRR[R]RaRfRiRZtgR RRRRRcRdtZeroDivisionErrorRe(R RmRnR((RRòs (2cCstdƒ}xddtdƒd tddd ƒd fD]Ô}xË|i|i|i|ifD]«}xWt t t t tfD]@}||ƒ}|t |ƒƒ}|it|ƒt|ƒƒqxW|it|t|ƒƒ|it|t|ƒƒ|it|t|ƒƒq\Wq7WdS( NtnovemberRkR9ièRlf1.2iÐi˜itdecember(sdof1.2(R.RRRutdataR+R;R@RDtmethR[R]RaRiRZRnRRR RRRRRcRdRoRe(R RRnRRRsRr((Rttest_inline_methods#s +  cCsQxJddtdƒdtdddƒd fD]}xdD] }xŒtttttt fD]r}t dƒ}|i ƒ}t||ƒt||ƒƒƒt||ƒ||ƒƒ|it|ƒt|ƒƒqWW|ittt dƒ|ƒt|ƒƒ|ittt dƒ|ƒt|ƒƒ|ittt dƒ|ƒt|ƒƒq8Wq+WdS(NRkR9ièRlf1.2iÐi˜iRqRR“R–R—tjanuary(sdof1.2(supdatesintersection_updatesdifference_updatessymmetric_difference_update(RRuRrtmethnameR[R]RaRfRiRZRnR.RRlRQR)R1R RRRRRcRdRoRe(R RrRvRnRRQ((Rttest_inplace_methods/s+   (((RRRòRtRw(((RRjs cCsdk}dkl}ttttttt t t t t ttttttttttttttttttt t!f}t#i$|Œ|ost&|dƒocdk'}dgd}xAt*t+|ƒƒD]-}t#i$|Œ|i-ƒ|i.ƒ||RÀRÝRgR.R…R2RáR¸RCRæRÍRäRR1R4RROR¢RLR¡RBRåRARRƒRçRÛRPRóRãReRîR[R]RDRRRiR£R RjRfRRžRRcRlRhRMRERR3R_R·RdRZR0RGRºRÅRQRaR@((Rt?s|        Ô°, U    FVJ&t +       ( 1