ó {G_Tc@suddlZddlZddlZddlmZddlmZddlZed„ƒZ d„Z d„Z dej fd„ƒYZ d ejfd „ƒYZd e fd „ƒYZd e fd„ƒYZdej fd„ƒYZdefd„ƒYZdej fd„ƒYZdej fd„ƒYZdej fd„ƒYZdd„ZedkrqedeƒndS(iÿÿÿÿN(t test_support(tproxycs4‡‡‡fd†}ˆ|_ˆ|_ˆ|_|S(s&Pure Python approximation of partial()cs*ˆjƒ}|j|ƒˆˆ||ŽS(N(tcopytupdate(tfargst fkeywordst newkeywords(targstfunctkeywords(s//usr/local/lib/python2.7/test/test_functools.pytnewfunc s  (RRR (RRR R ((RRR s//usr/local/lib/python2.7/test/test_functools.pyt PythonPartials    cOs ||fS(s,capture all positional and keyword arguments((Rtkw((s//usr/local/lib/python2.7/test/test_functools.pytcapturescCs|j|j|j|jfS(s* return the signature of a partial object (RRR t__dict__(tpart((s//usr/local/lib/python2.7/test/test_functools.pyt signaturest TestPartialcBseZejZd„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z d„Z d „Zd „Zd „Zd „Zd „ZRS(c Cs¨|jtddddddƒ}|j|dddd d d ƒd tdddd d d ƒfƒ|jtd „ƒ}|j|ddddgƒddd d gƒdS(Niitai tbiiiitci(cSs|dS(Ni ((tx((s//usr/local/lib/python2.7/test/test_functools.pyt$s(iiii(tthetypeR t assertEqualtdicttmap(tselftp((s//usr/local/lib/python2.7/test/test_functools.pyttest_basic_examples s !"c Cs|jtddddddƒ}|j|jtƒ|j|jd ƒ|j|jtddddƒƒ|jtt |dt ƒ|jtt |dd ƒ|jtt |d tddddƒƒ|jt ƒ}y |` Wntk rïnX|j d ƒdS( NiiRi RiRRR s-partial object allowed __dict__ to be deleted(ii(ii(RR RRRR Rt assertRaisest TypeErrortsetattrRthexRtfail(RR((s//usr/local/lib/python2.7/test/test_functools.pyttest_attributes's!"(  cCsL|jt|jƒy|jdƒƒWntk r:nX|jdƒdS(Nis%First arg not checked for callability(RRRR"(R((s//usr/local/lib/python2.7/test/test_functools.pyttest_argument_checking:s  cCs†ddd„}idd6}|j|ddƒ}|j||dƒ|j|idd6ƒ|ddƒ|j|idd6ƒdS( Ni icSs|S(N((RR((s//usr/local/lib/python2.7/test/test_functools.pyREsiRiRi(RR(RRtdR((s//usr/local/lib/python2.7/test/test_functools.pyt(test_protection_of_callers_dict_argumentCs  cCs˜|jtƒ}|j|ƒdifƒ|j|ddƒdifƒ|jtddƒ}|j|ƒdifƒ|j|ddƒdifƒdS( Niiii((ii(ii(iiii(RR R(RR((s//usr/local/lib/python2.7/test/test_functools.pyttest_arg_combinationsNs cCsç|jtƒ}|j|ƒdifƒ|j|ddƒdidd6fƒ|jtddƒ}|j|ƒdidd6fƒ|j|ddƒd idd6dd6fƒ|j|ddddƒd idd6dd6fƒdS( NRiRii((((((RR R(RR((s//usr/local/lib/python2.7/test/test_functools.pyttest_kw_combinationsXs& -cCsqxjdddd d gD]S}|jt|Œ}|d }|dƒ\}}|j||koe|ikƒqWdS( NiiiiR((i(ii(iii(iiii(R(RR t assertTrue(RRRtexpectedtgottempty((s//usr/local/lib/python2.7/test/test_functools.pyttest_positionalds  cCs~xwddddgD]c}|jtd|ƒ}i|d6dd6}|ddƒ\}}|j||kor|dkƒqWdS(NRig @R((tNoneRR R)(RRRR*R,R+((s//usr/local/lib/python2.7/test/test_functools.pyt test_keywordls cCs–|jtdddƒ}|dddƒ\}}|j|dkoY|idd6dd6kƒ|ƒ\}}|j|dkoŽ|idd6kƒdS(NiRiRi(ii(i(RR R)(RRtargs1tkw1targs2tkw2((s//usr/local/lib/python2.7/test/test_functools.pyttest_no_side_effectsts -cCsŒd„}|jt|j|ddƒƒ|jt|j|dƒdƒ|jt|j|ƒddƒ|jt|j|ddƒdƒdS(NcSs ||dS(N((Rty((s//usr/local/lib/python2.7/test/test_functools.pytf}siiR5(RtZeroDivisionErrorR(RR6((s//usr/local/lib/python2.7/test/test_functools.pyttest_error_propagation|s  cCsW|jtddƒ}t|ƒ}|j|j|jƒd}|jtt|dƒdS(NtbaseiR( RtintRRRR.RtReferenceErrortgetattr(RR6R((s//usr/local/lib/python2.7/test/test_functools.pyt test_weakref„s  cCsltttdƒƒ}|jtjdƒ}|j||ƒdƒ|jdjƒ}|j||ƒdƒdS(Ni tt 0123456789(RtstrtrangeRtjoinR(RtdataRB((s//usr/local/lib/python2.7/test/test_functools.pyt#test_with_bound_and_unbound_methods‹s cCsY|jtddtƒ}t|_tjtj|ƒƒ}|jt|ƒt|ƒƒdS(Ntasdftbar(RRtTruetadd_something_to__dict__tpickletloadstdumpsR(RR6tf_copy((s//usr/local/lib/python2.7/test/test_functools.pyt test_pickle’s cCs?ddd„ƒY}|jtƒ}|jt|j|ƒƒdS(Nt BadSequencecBseZd„Zd„ZRS(cSsdS(Ni((R((s//usr/local/lib/python2.7/test/test_functools.pyt__len__›scSsF|dkrtS|dkr,ttdƒƒS|dkr<iSt‚dS(Niii@Bii(ii(tmaxttupleRAt IndexError(Rtkey((s//usr/local/lib/python2.7/test/test_functools.pyt __getitem__s   (t__name__t __module__RORT(((s//usr/local/lib/python2.7/test/test_functools.pyRNšs ((RtobjectRt SystemErrort __setstate__(RRNR6((s//usr/local/lib/python2.7/test/test_functools.pyttest_setstate_refcount™s (RURVt functoolstpartialRRR#R$R&R'R(R-R/R4R8R=RDRMRZ(((s//usr/local/lib/python2.7/test/test_functools.pyRs          tPartialSubclasscBseZRS((RURV(((s//usr/local/lib/python2.7/test/test_functools.pyR]©stTestPartialSubclasscBseZeZRS((RURVR]R(((s//usr/local/lib/python2.7/test/test_functools.pyR^¬stTestPythonPartialcBseZeZdZZdZRS(N(RURVR RR.RMRZR#(((s//usr/local/lib/python2.7/test/test_functools.pyR_°s tTestUpdateWrappercBszeZejejd„Zd„Zd„Zej e j j dkdƒd„ƒZ d„Zd„Zejd„ƒZRS( c Cs•x3|D]+}|jt||ƒt||ƒkƒqWxX|D]P}t||ƒ}t||ƒ}x)|D]!}|j||||kƒqhWq=WdS(N(R)R<( Rtwrappertwrappedtassignedtupdatedtnamet wrapper_attrt wrapped_attrRS((s//usr/local/lib/python2.7/test/test_functools.pyt check_wrapper¼s )  cCs5d„}d|_d„}tj||ƒ||fS(NcSsdS(sThis is a testN((((s//usr/local/lib/python2.7/test/test_functools.pyR6ÊssThis is also a testcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRaÎs(tattrR[tupdate_wrapper(RR6Ra((s//usr/local/lib/python2.7/test/test_functools.pyt_default_updateÉs    cCsL|jƒ\}}|j||ƒ|j|jdƒ|j|jdƒdS(NR6sThis is also a test(RkRhRRURi(RRaR6((s//usr/local/lib/python2.7/test/test_functools.pyttest_default_updateÓsis)Docstrings are omitted with -O2 and abovecCs)|jƒ\}}|j|jdƒdS(NsThis is a test(RkRt__doc__(RRaR6((s//usr/local/lib/python2.7/test/test_functools.pyttest_default_update_docÙscCs‡d„}d|_d„}tj||ddƒ|j||dd ƒ|j|jdƒ|j|jdƒ|jt |dƒƒdS( NcSsdS(sThis is a testN((((s//usr/local/lib/python2.7/test/test_functools.pyR6àssThis is also a testcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRaäsRaRi((((( RiR[RjRhRRURmR.t assertFalsethasattr(RR6Ra((s//usr/local/lib/python2.7/test/test_functools.pyttest_no_updateßs   cCsÍd„}d|_tddddddƒ|_d „}i|_d }d}tj||||ƒ|j||||ƒ|j|jd ƒ|j|jdƒ|j|jdƒ|j|j|jƒdS(NcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyR6íssThis is a different testRiRiRicSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRañsRit dict_attrRa(sattr(s dict_attr( RiRRrR[RjRhRRURmR.(RR6RatassignR((s//usr/local/lib/python2.7/test/test_functools.pyttest_selective_updateìs    cCsId„}tj|tƒ|j|jdƒ|j|jjdƒƒdS(NcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRasRPsmax((R[RjRPRRUR)Rmt startswith(RRa((s//usr/local/lib/python2.7/test/test_functools.pyttest_builtin_updateýs (RURVR[tWRAPPER_ASSIGNMENTStWRAPPER_UPDATESRhRkRltunittesttskipIftsystflagstoptimizeRnRqRtRtrequires_docstringsRv(((s//usr/local/lib/python2.7/test/test_functools.pyR`ºs  t TestWrapscBsSeZd„Zd„Zejejjdkdƒd„ƒZ d„Z d„Z RS(cCs>d„}d|_tj|ƒd„ƒ}|j||ƒ|S(NcSsdS(sThis is a testN((((s//usr/local/lib/python2.7/test/test_functools.pyR6 ssThis is also a testcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRa s(RiR[twrapsRh(RR6Ra((s//usr/local/lib/python2.7/test/test_functools.pyRks   cCs6|jƒ}|j|jdƒ|j|jdƒdS(NR6sThis is also a test(RkRRURi(RRa((s//usr/local/lib/python2.7/test/test_functools.pyRls is)Docstrings are omitted with -O2 and abovecCs#|jƒ}|j|jdƒdS(NsThis is a test(RkRRm(RRa((s//usr/local/lib/python2.7/test/test_functools.pyRns cCs†d„}d|_tj|ddƒd„ƒ}|j||dd ƒ|j|jdƒ|j|jdƒ|jt |dƒƒdS( NcSsdS(sThis is a testN((((s//usr/local/lib/python2.7/test/test_functools.pyR6ssThis is also a testcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRa#sRaRi((((( RiR[R€RhRRURmR.RoRp(RR6Ra((s//usr/local/lib/python2.7/test/test_functools.pyRqs  cCsÒd„}d|_tddddddƒ|_d „}d}d}tj|||ƒ|d „ƒƒ}|j||||ƒ|j|jd ƒ|j|jdƒ|j|jdƒ|j|j|jƒdS(NcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyR6,ssThis is a different testRiRiRicSs i|_|S(N(Rr(R6((s//usr/local/lib/python2.7/test/test_functools.pyt add_dict_attr0s RiRrcSsdS(N((((s//usr/local/lib/python2.7/test/test_functools.pyRa5sRa(sattr(s dict_attr( RiRRrR[R€RhRRURmR.(RR6RRsRRa((s//usr/local/lib/python2.7/test/test_functools.pyRt+s   ( RURVRkRlRyRzR{R|R}RnRqRt(((s//usr/local/lib/python2.7/test/test_functools.pyRs   t TestReducecBseZd„ZRS(cCsÎddd„ƒY}tj}|j|d„dddgdƒdƒ|j|d „ddggd d gggƒddd d gƒ|j|d „td dƒdƒdƒ|j|d„td dƒdƒdƒ|j|d„|dƒƒdƒ|j|d„|dƒdƒdƒ|j|d„|dƒdƒdƒ|jt|ƒ|jt|ddƒ|jt|dddƒ|j|ddƒdƒ|j|dddƒdƒ|jt|ddƒdS(NtSquarescBs#eZd„Zd„Zd„ZRS(cSs||_g|_dS(N(RPtsofar(RRP((s//usr/local/lib/python2.7/test/test_functools.pyt__init__Es cSs t|jƒS(N(tlenR„(R((s//usr/local/lib/python2.7/test/test_functools.pyROIscSssd|ko|jkns(t‚nt|jƒ}x.||krg|jj||ƒ|d7}q:W|j|S(Nii(RPRRR†R„tappend(Rtitn((s//usr/local/lib/python2.7/test/test_functools.pyRTKs (RURVR…RORT(((s//usr/local/lib/python2.7/test/test_functools.pyRƒCs  cSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyRTsRRRR>tabccSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyRVsR%twcSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyRYsiiii°cSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyR[sillhòcSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyR^si icSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyR_sicSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyR`si*t1((i*i*(R[treduceRRARR(RRƒR((s//usr/local/lib/python2.7/test/test_functools.pyt test_reduceBs& ('("%%(RURVRŽ(((s//usr/local/lib/python2.7/test/test_functools.pyR‚@st TestCmpToKeycBseZd„Zd„ZRS(cCsGd„}|jttdƒdtj|ƒƒdddddgƒdS( NcSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pytmycmpjsiRSiiiii(RtsortedRAR[t cmp_to_key(RR((s//usr/local/lib/python2.7/test/test_functools.pyttest_cmp_to_keyis $cCs>d„}tj|ƒ}|dƒ}|jtt|ƒƒdS(NcSs||S(N((RR5((s//usr/local/lib/python2.7/test/test_functools.pyRpsi (R[R’RRthash(RRRStk((s//usr/local/lib/python2.7/test/test_functools.pyt test_hashos  (RURVR“R–(((s//usr/local/lib/python2.7/test/test_functools.pyRhs tTestTotalOrderingcBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsÚtjddd„ƒYƒ}|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒdS(NtAcBs#eZd„Zd„Zd„ZRS(cSs ||_dS(N(tvalue(RR™((s//usr/local/lib/python2.7/test/test_functools.pyR…{scSs|j|jkS(N(R™(Rtother((s//usr/local/lib/python2.7/test/test_functools.pyt__lt__}scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyt__eq__s(RURVR…R›Rœ(((s//usr/local/lib/python2.7/test/test_functools.pyR˜ys  ii((R[ttotal_orderingR)(RR˜((s//usr/local/lib/python2.7/test/test_functools.pyttest_total_ordering_ltxscCsÚtjddd„ƒYƒ}|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒdS(NR˜cBs#eZd„Zd„Zd„ZRS(cSs ||_dS(N(R™(RR™((s//usr/local/lib/python2.7/test/test_functools.pyR…‹scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyt__le__scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyRœs(RURVR…RŸRœ(((s//usr/local/lib/python2.7/test/test_functools.pyR˜‰s  ii((R[RR)(RR˜((s//usr/local/lib/python2.7/test/test_functools.pyttest_total_ordering_leˆscCsÚtjddd„ƒYƒ}|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒdS(NR˜cBs#eZd„Zd„Zd„ZRS(cSs ||_dS(N(R™(RR™((s//usr/local/lib/python2.7/test/test_functools.pyR…›scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyt__gt__scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyRœŸs(RURVR…R¡Rœ(((s//usr/local/lib/python2.7/test/test_functools.pyR˜™s  ii((R[RR)(RR˜((s//usr/local/lib/python2.7/test/test_functools.pyttest_total_ordering_gt˜scCsÚtjddd„ƒYƒ}|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒdS(NR˜cBs#eZd„Zd„Zd„ZRS(cSs ||_dS(N(R™(RR™((s//usr/local/lib/python2.7/test/test_functools.pyR…«scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyt__ge__­scSs|j|jkS(N(R™(RRš((s//usr/local/lib/python2.7/test/test_functools.pyRœ¯s(RURVR…R£Rœ(((s//usr/local/lib/python2.7/test/test_functools.pyR˜©s  ii((R[RR)(RR˜((s//usr/local/lib/python2.7/test/test_functools.pyttest_total_ordering_ge¨scCsÝtjdtfd„ƒYƒ}|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒ|j|dƒ|dƒkƒdS(NR˜cBseZRS((RURV(((s//usr/local/lib/python2.7/test/test_functools.pyR˜ºsRR(R[RR@R)(RR˜((s//usr/local/lib/python2.7/test/test_functools.pyt test_total_ordering_no_overwrite¸s cCs6|jtƒ!tjddd„ƒYƒ}WdQXdS(NR˜cBseZRS((RURV(((s//usr/local/lib/python2.7/test/test_functools.pyR˜Æs((Rt ValueErrorR[R(RR˜((s//usr/local/lib/python2.7/test/test_functools.pyttest_no_operations_definedÄscsLtjdd‡fd†ƒYƒ‰|jtƒˆdƒdkWdQXdS(NtTestTOcs/eZd„Z‡fd†Z‡fd†ZRS(cSs ||_dS(N(R™(RR™((s//usr/local/lib/python2.7/test/test_functools.pyR…Íscs#t|ˆƒr|j|jkStS(N(t isinstanceR™tFalse(RRš(R¨(s//usr/local/lib/python2.7/test/test_functools.pyRœÏscs)t|ˆƒr|j|jkSt‚dS(N(R©R™R(RRš(R¨(s//usr/local/lib/python2.7/test/test_functools.pyR›Ós(RURVR…RœR›((R¨(s//usr/local/lib/python2.7/test/test_functools.pyR¨Ës i(((R[RRR(R((R¨s//usr/local/lib/python2.7/test/test_functools.pyttest_bug_10042Ês" ( RURVRžR R¢R¤R¥R§R«(((s//usr/local/lib/python2.7/test/test_functools.pyR—vs     cCs¦tttttttf}tj|Œ|r¢t t dƒr¢ddl }dgd}xAt t|ƒƒD]-}tj|Œ|jƒt jƒ||s(       L:(d