mņ %U²Ic@s¹dZdkZdkZdkZdkZdklZdklZl Z dkl Z dkl Z dkl Z dkl Z lZgZeefD]<ZeefD])ZedƒD]Zeeeefqµq„q•[Zd d d d hgffZd eifd„ƒYZde fd„ƒYZdefd„ƒYZdeifd„ƒYZdeifd„ƒYZdefd„ƒYZdeifd„ƒYZde fd„ƒYZdefd„ƒYZdefd „ƒYZd!efd"„ƒYZ d#e fd$„ƒYZ!d%efd&„ƒYZ"d'eifd(„ƒYZ#d)e"e#fd*„ƒYZ$d+e e#fd,„ƒYZ%d-„Z&e d.ƒZ'e d/d0ƒZ(e d1d0ƒZ)ed0d2d0d3ƒZ*ed0d d4d0ƒZ+d5e fd6„ƒYZ,e,d7d8d9d:ƒZ-e,d;d<d=d>ƒZ.e,d?d@dAdBƒZ/e,dCdDdEdFƒZ0ed.dGd.ƒZ1edHdIdJd.ƒZ2dKeifdL„ƒYZ3dMeifdN„ƒYZ4dO„Z5dP„Z6e7dQjo e6ƒndS(RsTTest date/time type. See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases N(s test_support(sMINYEARsMAXYEAR(s timedelta(stzinfo(stime(sdatesdatetimeii l f34.5tabct TestModulecBstZd„ZRS(NcCs3dk}|i|idƒ|i|idƒdS(Nii'(tdatetimetselft assertEqualtMINYEARtMAXYEAR(RR((t//data/zmath/lib/python2.4/test/test_datetime.pyttest_constants#s (t__name__t __module__R(((RR!st FixedOffsetcBs8tZdd„Zd„Zd„Zd„Zd„ZRS(Ni*cCset|tƒotd|ƒ}nt|tƒotd|ƒ}n||_||_||_ dS(Ntminutes( t isinstancetoffsettintt timedeltat dstoffsetRt_FixedOffset__offsettnamet_FixedOffset__namet_FixedOffset__dstoffset(RRRR((Rt__init__,s  cCs |iiƒS(N(RRtlower(R((Rt__repr__4scCs|iS(N(RR(Rtdt((Rt utcoffset6scCs|iS(N(RR(RR((Rttzname8scCs|iS(N(RR(RR((Rtdst:s(R R RRRRR(((RR +s     tPicklableFixedOffsetcBstZdddd„ZRS(NcCsti||||ƒdS(N(R RRRRR(RRRR((RR>s(R R tNoneR(((RR=st TestTZInfocBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCsXtƒ}ti}|it|i|ƒ|it|i |ƒ|it|i |ƒdS(N( ttzinfotuselessRtmaxRRt assertRaisestNotImplementedErrorRRR(RR!R((Rttest_non_abstractnessCs   cCs£dtfd„ƒY}|it|tƒƒ|ddƒ}|it|tƒƒtiƒ}|i t |i |ƒ|i t |i |ƒ|i t |i|ƒdS(Nt NotEnoughcBstZd„ZRS(NcCs||_||_dS(N(RRt_NotEnough__offsetRt_NotEnough__name(RRR((RROs (R R R(((RR&NsitNotByALongShot(R R&Rt failUnlesst issubclasstneR RtnowRR#R$RRR(RR,R&R((Rttest_subclass_must_overrideMs cCs£tddƒ}|it|tƒƒxwtiƒdfD]c}|i |i |ƒt ddƒƒ|i |i |ƒdƒ|i |i|ƒt ddƒƒq8WdS(NitThreeR i*(R tfoRR*R R RR-RRRRRRR(RRR0((Rt test_normal[s"cCs€titƒ}|it|ƒtjƒxQtD]I\}}}|i ||ƒ}|i |ƒ}|it|ƒtjƒq/WdS(N(R t__new__torigRR*ttypetpickle_choicestpicklert unpicklertprototdumpstgreentloadstderived(RR8R<R:R6R7R3((Rttest_pickling_basecscCstddƒ}t|dƒ}|it|tƒƒ|it|ƒtjƒ|i |i dƒ|ƒ|i |i dƒdƒx™t D]‘\}}}|i||ƒ}|i|ƒ}|it|tƒƒ|it|ƒtjƒ|i |i dƒ|ƒ|i |i dƒdƒq†WdS(NR iŌž’’tcookie(RRRR3RR*R R R4RRRRR5R6R7R8R9R:R;R<(RR6R8R<R:RR7R3((Rttest_pickling_subclassns(R R R%R.R1R=R?(((RRAs    tHarmlessMixedComparisoncBstZd„Zd„ZRS(NcCsį|idddƒ}|i|fjƒ|i|fjƒ|if|jƒ|if|jƒ|i|ddg|gjƒ|i|ddg|gjƒ|ig|ddggjƒ|ig|ddggjƒdS(Nil(RttheclasstmetfailIfR*(RRB((Rttest_harmless_mixed_comparisonˆscsõ|idddƒ‰|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d †ƒ|ittfˆƒ|ittˆfƒdS( Nics ˆfjS(N(RB((RB(Rt™scs ˆfjS(N(RB((RB(RREšscs ˆfjS(N(RB((RB(RRE›scs ˆfjS(N(RB((RB(RREœscs fˆjS(N(RB((RB(RREžscs fˆjS(N(RB((RB(RREŸscs fˆjS(N(RB((RB(RRE scs fˆjS(N(RB((RB(RRE”s(RRARBR#t TypeErrortcmp(RRB((RBRttest_harmful_mixed_comparison–s(R R RDRH(((RR@‚s t TestTimeDeltacBsžtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„ZRS(NcCs1|i}t}||ƒ|ddddddddddddddƒƒ||d ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||dd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddd ƒ|dd ƒƒ||ddƒ|dd ƒƒ||ddƒ|dd ƒƒdS(NtweeksitdaysthoursR tsecondst millisecondst microsecondsiiii<ičf1.0f0.001(RRteqRttd(RRPRQ((Rttest_constructor­s& *"####cCsr|i}t}|dƒ}|ddƒ}|dddƒ}|||||dddƒƒ||||ddddƒƒ|| |dƒƒ|| |dƒƒ|| |d dddƒƒ|| |d ddd d ƒƒ|t|ƒ|ƒ|t| ƒ|ƒ||dddƒ|ƒ||dddd ƒ|ƒ||d |dƒƒ||d d |ƒ||dd |ƒ||d |ddƒƒ|d ||ddƒƒ||d|ddƒƒ||d |dddƒƒ|d ||dddƒƒ||d|dddƒƒ||d | ƒ||d| |ƒ||d| | ƒ||dd|ddƒ||ddd|dƒ||d|dd ƒƒ|d||dd ƒƒ||d|d ƒƒ||d |ddƒƒ||d|ddd ƒƒ||d |ddddƒƒ||d|dddddƒƒdS(Niii<ičiiiił’’’i’’’’iiX>i@Bi iFl iXi'iž’’’ihi€ī6( RRRPRRQtatbtctabs(RRSRURTRQRP((Rttest_computationsĘsH  !"""csdtdƒ‰xrdD]j‰|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒqWd ‰|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d†ƒ|it‡‡d†ƒx@dD]8‰|it‡‡d†ƒ|it‡‡d†ƒq$WdS(Ni*ilf1.0csˆˆS(N(RSti((RSRX(RREņscsˆˆS(N(RSRX((RSRX(RREóscsˆˆS(N(RXRS((RXRS(RREōscsˆˆS(N(RXRS((RXRS(RREõsf2.2999999999999998csˆˆS(N(RStx((RSRY(RREłscsˆˆS(N(RYRS((RSRY(RREśscsˆˆS(N(RSRY((RSRY(RREūscsˆˆS(N(RYRS((RSRY(RREüscsˆˆS(N(RSRY((RSRY(RREżscsˆˆS(N(RYRS((RSRY(RREžsilcsˆˆS(N(tzeroRS((RSRZ(RREscsˆˆS(N(RSRZ((RSRZ(RREs(ilf1.0(il( RRSRXRR#RFRYRZtZeroDivisionError(RRSRXRZRY((RSRXRZRYRttest_disallowed_computationsķs$ cCs^d\}}}t|||ƒ}|i|i|ƒ|i|i|ƒ|i|i|ƒdS(Niii(iii(RKRMtusRRQRRRO(RRMRKR]RQ((Rttest_basic_attributess cCshtdddddddddd d d d d dd ddƒ}td dƒ}|i||ƒdS(NRKidRJił’’’RLič’’’i1R iż’’’RMi ROii<f 1000000.0i(Rtt1tt2RR(RR`R_((Rt test_carries s cCstdddddddddd d d d d dd dƒ}tƒ}|it|ƒt|ƒƒ|tddƒ7}|tdddƒ7}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒdS(NRKidRJił’’’RLič’’’i1R iż’’’RMi ROii<i@Biii(RR_R`RRthashtdtlen(RRcR`R_((Rttest_hash_equalitys    cCsad}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒqWdS(Ni i"i8(i i"i8( targsRR3R5R6R7R8R9R:R;R<RR(RR8RfR<R:R6R7R3((Rt test_pickling+s csBtdddƒ‰tdddƒ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|j ƒ|iˆ|j ƒ|iˆ|j ƒ|itˆ|ƒdƒ|it|ˆƒdƒx?dddfD].}t|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|itˆ|ƒdƒ|it|ˆƒdƒqŪWx.tD]&‰|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|i t ‡‡d†ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒqWdS(Niiiiii’’’’ics ˆˆjS(N(R_tbadarg((RhR_(RREVscs ˆˆjS(N(R_Rh((RhR_(RREWscs ˆˆjS(N(R_Rh((RhR_(RREXscs ˆˆjS(N(R_Rh((RhR_(RREYscs ˆˆjS(N(RhR_((RhR_(RREZscs ˆˆjS(N(RhR_((RhR_(RRE[scs ˆˆjS(N(RhR_((RhR_(RRE\scs ˆˆjS(N(RhR_((RhR_(RRE]s(iii(iii(iii(RR_R`RR*RRGRft OTHERSTUFFRhtFalsetTrueR#RF(RRfR`RhR_((RhR_Rt test_compare3sR c Csat}|i}|t|dƒƒdƒ|t|dƒƒdƒ|t|dƒƒdƒ|t|dƒƒdƒ|t|d d d d d dƒƒdƒ|t|d dd dd dƒƒdƒ|t|ddd dd d d dƒƒdƒ|t|ddƒƒdƒ|t|ddƒƒdƒ|t|ddd dd dd dddƒƒdƒdS( Nis1 day, 0:00:00i’’’’s-1 day, 0:00:00is2 days, 0:00:00iž’’’s-2 days, 0:00:00RLi R i:RMi;s12:58:59iis2:03:04RJiā’’’ii"s-210 days, 23:12:34RNs0:00:00.001000ROs0:00:00.000003RKi’ɚ;i?Bs999999999 days, 23:59:59.999999(RRQRRRPtstr(RRPRQ((Rttest_str_s (('! c CsŠxÉtdddddddddd ƒtdd ƒtdd dd dd ƒfD]y}t|ƒ}|i|idƒƒ|d}t|ƒ}|i ||ƒt|i |i |i ƒ}|i ||ƒqOWdS(NRKi’ɚ;RLiR i;RMROi?Bi6eÄiiis datetime.i ( RRQtreprtsRR*t startswithtevalttd2RRKRMRO(RRpRsRQ((Rttest_roundtripts7   cCsĖ|ittitƒƒ|ittitƒƒ|ittitƒƒ|ititijƒ|ititdƒƒ|ititddddddƒƒ|ititdddƒƒdS(Ni6eÄi’ɚ;iiif 1000000.0i(Rtassert_R RtminR"t resolutionR(R((Rttest_resolution_info…s+cCsØti}ti|}||8}|it|i|ƒ|it|i | ƒti |}||7}|it|i |ƒ|it|i| ƒ|itd„ƒdS(NcCsti S(N(RR"(((RRE›s( RRwttinyRvRQRR#t OverflowErrort__sub__t__add__R"(RRQRy((Rt test_overflowŽs     cCs…t}|i}||dddƒ|dƒƒ||dd dƒ|dƒƒ||dddƒ|ddƒƒ||dd dƒ|ddƒƒd }|d }||d d|ƒ|dƒƒ||d d |ƒ|dƒƒ||d d|d d |ƒ|ddƒƒ||d d|ƒ|dƒƒ||d d|ƒ|dƒƒ||d d|d d|ƒ|ddƒƒdS(NRNf0.40000000000000002ičif0.59999999999999998ROii’’’’f 3600000000.0iRKRLf0.20000000000000001f-0.40000000000000002f-0.20000000000000001(RRQRRRPt us_per_hourt us_per_day(RRR~RQRP((Rttest_microsecond_roundings  !#$   -  cCsFtddƒ}|i|i|i|ifdddddfƒdS(NROi’’’’iiii?B(RRQRRRKRMRO(RRQ((Rttest_massive_normalization²scCsp|itdƒƒ|itddƒƒ|itdddƒƒ|itddƒƒ|itdƒ ƒdS(NiiRO(RR*R(R((Rt test_bool·s cs^dtf‡d†ƒY‰ˆddƒ}|it|ƒˆjƒ|i|iƒdƒˆddddƒ}|it|ƒˆjƒ|i|iƒd ƒ||}|it|ƒtjƒˆi |ƒ}|it|ƒˆjƒ|i|i |i ƒ|i|i |i ƒ|i|i|iƒ|it|ƒt|ƒƒ|i|iƒdƒdS( NtTcs)tZ‡d†ZeeƒZd„ZRS(Ncsˆ|i|i|iƒS(N(RƒRQRKRMRO(RQ(Rƒ(Rtfrom_tdĮscCs-|id|id|id}t|ƒS(Nif3600.0f 3600000000.0(RRKRMROtsumtround(RR…((Rtas_hoursÅs#(R R R„t staticmethodR‡((Rƒ(RRƒĄs  RKiii’’’’RMišń’’iē’’’(RRƒR_RRuR4RR‡R`tt3R„tt4RKRMRORm(RR`R‰R_RƒRŠ((RƒRttest_subclass_timedelta¾s   (R R RRARRRWR\R^RaReRgRlRnRtRxR}R€RR‚R‹(((RRI©s"  '     ,      t TestDateOnlycBstZd„ZRS(Nc CsBtdddƒ}tdddddddd d d ƒ}t|iƒ}|i|tdƒƒ||}|i|||ƒ||}|i|||ƒ||}|i|||ƒ| }t|iƒ}|i|td ƒƒ||}|i|||ƒ||}|i|||ƒ||}|i|||ƒdS( NiŠiiRKRLR iRMiROiiž’’’(tdateRRtdeltaRKRRtdt2(RRKRŽRR((Rttest_delta_non_days_ignoredäs(       (R R R(((RRŒąst SubclassDatecBstZdZRS(Ni(R R tsub_var(((RR‘stTestDatecBstZeZd„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 RS(NcCsR|idddƒ}|i|idƒ|i|idƒ|i|idƒdS(NiŅii(RRARRtyeartmonthtday(RR((RR^ scCs©x¢|idddƒ|iiƒfD]|}t|ƒ}|i|idƒƒ|d}t|ƒ}|i ||ƒ|i|i |i |i ƒ}|i ||ƒq%WdS(Niiis datetime.i (RRAttodayRRoRpR*RqRrRRR”R•R–(RRpRR((RRts%   c CsŠxÓddddgD]æ\}}}}|i|||ƒ}|i||iƒƒ|ii|ƒ} |i|| ƒt | d ƒoP|i| i d ƒ|i| i d ƒ|i| i d ƒ|i| id ƒqqWxĖtttdd ƒD]³}|i|ddƒ}|iƒ}|ii|ƒ} |i|| ƒ|djo]|ii|dƒ}|i|dddƒ} |i|| ƒ|i| iƒ|dƒqķqķWdd ddddddddddg }xūdtfdtffD]į\}}|i|ddƒiƒ}x·ttddƒ|ƒD]\} }| djo|o|d7}nxltd|dƒD]W} |i|| | ƒ}|i|iƒ|ƒ|i||ii|ƒƒ|d7}qiWq'WqēWdS(Nii iimiini™i iĖÖ thouriiiiiŠiŅi (iiii(ii iim(iiiin(i™i i iĖÖ (tytmRctnRRARt toordinalt fromordinaltfromordthasattrR˜tminutetsecondt microsecondtxrangeRRR”td2tdimRkRjtisleaptziptrangeR•tmaxdayR–( RR„RcR¦RšR›R©R”R™R•R¤R–Rž((Rttest_ordinal_conversionssH  "*  csz|ii‰|iˆiˆiˆiƒ‰ˆiƒ‰ˆi ˆƒ}|i ˆ|ƒ|i t ‡‡d†ƒˆtddƒ}|i |iƒˆdƒ|i ||ii ˆdƒƒ|ii‰|iˆiˆiˆiƒ‰ˆiƒ‰ˆi ˆƒ}|i ˆ|ƒ|i t ‡‡d†ƒˆtddƒ}|i |iƒˆdƒ|i ||ii ˆdƒƒdS(NcsˆiˆdƒS(Ni(RSRtaord((RSR«(RRETsRKicsˆiˆdƒS(Ni(RSRR«((RSR«(RRE`s(RRARvRSR”R•R–RœR«RRTRR#t ValueErrorRR"(RRSR«RT((RSR«Rttest_extreme_ordinalsMs$     cCs©|itddƒ|itddƒ|it|itdddƒ|it|itdddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|idddƒ|idddƒ|id ddƒ|it|iddd ƒ|it|id ddƒ|it|id ddƒ|it|id ddƒ|it|idddƒ|it|idddƒdS(NiiŠi ii iiiŌi` iiŃi4ili (RRARRR#R¬(R((Rttest_bad_constructor_argumentsfs"  cCs^|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(NiŠi iiiiŃ(RRARcteRRbtdicRd(RRcR°RÆ((RRe|s$  csŃ|idddƒ‰|idddƒ}ˆ|}|i|iddttdddƒƒƒ|i|i dƒ|i|i dƒt dƒ‰t d ƒ}|idd d ƒ‰|iˆˆ|idd d ƒƒ|iˆˆ|idd d ƒƒ|iˆˆ|idd dƒƒ|iˆ ˆ|idd dƒƒ|iˆ||idd d ƒƒ|iˆ||idd d ƒƒ|iˆd||idd dƒƒ|iˆd||idd d ƒƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ| ƒ|iˆˆˆˆ ƒ|iˆˆ|| ƒ|iˆˆˆˆ ƒ|iˆˆ||ƒ|iˆˆˆˆƒxrdD]j‰|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒq W|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡d†ƒ|it‡d†ƒ|it‡d†ƒdS( NiŅiii¤i.imiiiiii ii4iÓiŃlf1.0csˆˆS(N(RSRX((RSRX(RRE“scsˆˆS(N(RSRX((RSRX(RREµscsˆˆS(N(RXRS((RXRS(RRE¶scsˆˆS(N(RXRS((RXRS(RRE·scsˆˆS(N(R–RS((RSR–(RREŗscsˆˆS(N(R–RS((RSR–(RRE¼scsˆˆS(N(RSR–((RSR–(RRE½scsˆˆS(N(R–RS((RSR–(RRE¾scsˆˆS(N(RSR–((RSR–(RREæscsˆˆS(N(RS((RS(RREĄscsˆˆS(N(RS((RS(RREĮscsˆˆS(N(RS((RS(RREĆs(ilf1.0(RRARSRTtdiffRRKRdRØRMRORR–tweekRXR#RF(RRSR²RTRXR±R–((RSRXR–RRW•sN -  ###$##''cCsž|ii}|ii|}||8}|it|i|ƒ|it|i | ƒ|ii |}||7}|it|i |ƒ|it|i| ƒdS(N( RRARwRyRvRR#RzR{R|R"(RRRy((RR}Ås   c Cs‘dk}d\}}}|i|||ddddddf ƒ}|ii|ƒ}|i |i|ƒ|i |i|ƒ|i |i|ƒdS(NiĻi iii’’’’(iĻi i( ttimeR”R•R–tmktimettsRRAt fromtimestampRcR(RRcR³RµR•R”R–((Rttest_fromtimestampŅs *cCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(tinsaneRR#R¬RAR¶(RRø((Rttest_insane_fromtimestampŻscCs£dk}x`tdƒD]R}|iiƒ}|iƒ}|ii|ƒ}||joPn|i dƒqW|i ||jpt ||ƒt ddƒjƒdS(Nif0.10000000000000001RMf0.5( R³RØtdummyRRAR—RµR¶t todayagaintsleepR*RVR(RRŗR»RµR³R—((Rt test_todayęs     cCsĒxĄtdƒD]²}|i|iddd|ƒiƒ|ƒ|i|iddd|ƒiƒ|dƒ|i|iddd|ƒiƒ|ƒ|i|iddd|ƒiƒ|dƒq WdS(NiiŅiiii¤i(RØRXRRRAtweekdayt isoweekday(RRX((Rt test_weekdays  )-)cCsxˆtdƒD]z}|iddd|ƒ}|i|iƒdd|dfƒ|idddƒt|ƒ}|i|iƒdd|dfƒ|iddd |ƒ}|i|iƒdd |dfƒ|id dd |ƒ}|i|iƒd d|dfƒ|id dd ƒt|ƒ}|i|iƒd d|dfƒ|iddd|ƒ}|i|iƒdd|dfƒq WdS(NiiÓi ii4iiiŌiiiŁiii5iŚi(RØRXRRARcRt isocalendarR(RRXRc((Rttest_isocalendar s #####cCsŌd}tt|iƒƒ}|iƒg}x’tdƒD]„}|i d|ddƒ}|i d|ddƒ}|i |iƒd|iƒdƒ|iƒddjo|i|ƒq8q8W|i ||ƒdS( NsK 4 32 60 88 9 37 65 93 15 43 71 99 20 48 76 26 54 82 105 133 161 189 111 139 167 195 116 144 172 122 150 178 128 156 184 201 229 257 285 207 235 263 291 212 240 268 296 218 246 274 224 252 280 303 331 359 387 308 336 364 392 314 342 370 398 320 348 376 325 353 381 iiŠi ii@ii5(tISO_LONG_YEARS_TABLEtmapRtsplittiso_long_yearstsorttLRØRXRRARctd1RRĮtappend(RRXRČRĘRĆRÉRc((Rttest_iso_long_yearss  $cCs/|idddƒ}|i|iƒdƒdS(Niis 0002-03-02(RRAttRt isoformat(RRĢ((Rttest_isoformatCscCs/|idddƒ}|i|iƒdƒdS(NiŅiisSat Mar 2 00:00:00 2002(RRARĢRtctime(RRĢ((Rt test_ctimeGscCsĒ|idddƒ}|i|idƒdƒ|i|idƒdƒ|i|iddƒddƒ|it|iƒ|it|id d ƒ|it|id ƒ|i|id ƒd ƒdS(NiÕiism:%m d:%d y:%ysm:03 d:02 y:05tRYičtonettwoi*s '%z' '%Z's'' ''(RRARĢRtstrftimeR#RF(RRĢ((Rt test_strftimeKs!cCs}|it|ii|iƒƒ|it|ii|iƒƒ|it|iitƒƒ|i|ii|iijƒdS(N(RRuR RARvR"RwR(R((RRxXscCsŸ|ii|ii}|idd|id|i}t dd|ƒ}|i ||ƒ|i |ii||iiƒ|i |ii||iiƒdS(Niii@Bi( RRAR"RvtbigRKRMROR›Rt justasbigR(RRÖR×R›((Rttest_extreme_timedelta^s # c CsīxētdƒD]Ł}|iddd|ƒ}|iƒ}|i|ddd|ddd|d|df ƒ|iddd|ƒ}|iƒ}|i|ddd|dddd|dd|df ƒ|iddd|ƒ}|iƒ}|i|ddd|dddd|dd |df ƒ|i|idƒ|i|i dƒ|i|i d|ƒ|i|i dƒ|i|i dƒ|i|i dƒ|i|id|dƒ|i|id |ƒ|i|idƒq WdS( Nii¤iiii’’’’i ii=(RØRXRRARct timetupleRĢRttm_yearttm_monttm_mdayttm_hourttm_minttm_secttm_wdayttm_ydayttm_isdst(RRXRĢRc((Rttest_timetuplehs(  3 ; ;cCsdd}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒqWdS(Niii(iii( RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRgscs2|idddƒ‰|idddƒ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|j ƒ|iˆ|j ƒ|iˆ|j ƒ|itˆ|ƒdƒ|it|ˆƒdƒxBdddfD]1}|i|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|itˆ|ƒdƒ|it|ˆƒdƒqįWxtD] ‰|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|iˆˆjt ƒ|i t ‡‡d†ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d †ƒ|i t ‡‡d†ƒqWdS(Niiiiii’’’’ics ˆˆjS(N(R_Rh((RhR_(RRE¬scs ˆˆjS(N(R_Rh((RhR_(RRE­scs ˆˆjS(N(R_Rh((RhR_(RRE®scs ˆˆjS(N(RhR_((RhR_(RREÆscs ˆˆjS(N(RhR_((RhR_(RRE°scs ˆˆjS(N(RhR_((RhR_(RRE±scs ˆˆjS(N(RhR_((RhR_(RRE²s(iii(iii(iii(RRAR_R`R*RRGRfRiRhRjRkR#RF(RRfR`RhR_((RhR_RRl‰sPcCsń|idddƒ}|itt|dƒ|ittd|ƒdtfd„ƒY}|ƒ}|itt||ƒd|fd„ƒY}|ƒ}|i t||ƒd ƒ|i t||ƒd ƒ|i ||jƒ|i ||jƒdS( NiŠiiitAnotherDateTimeClasscBstZd„ZRS(NcCsdS(Ni((Rtother((Rt__cmp__ŗs(R R Rę(((RRä¹st ComparablecBstZd„ZRS(NcCsfS(N((R((RRŁŃs(R R RŁ(((RRēŠsi( RRAtourR#RFRGtobjectRättheirRēRR*(RRēRźRäRč((Rttest_mixed_compare“s   cCs*|i|iiƒ|i|iiƒdS(N(RR*RARvR"(R((RR‚ŚscCse|i}|i|dddƒidƒdƒx0d D](}|it||ddƒidƒq5WdS( Nilis%Yt1900i1i3icidičik(ii1i3icidičik(RRAtclsRRŌR™R#R¬(RR™Rķ((Rttest_srftime_out_of_rangeßs  %c CsŽ|i} dddg}| |Œ}|i||iƒƒd}xld d dfD][\}}|}|||<| |Œ}|ih||<}|i||ƒ|d7}qPW| d dd ƒ}|i t|idd ƒdS(NiiiiR”R•R–iiŠiiŃ(syeari(smonthi(sdayi(RRARķRftbaseRtreplaceRXRtnewvaltnewargstexpectedtgotR#R¬( RRRXRfRńRļRóRōRņRķ((Rt test_replaceęs     csÉdˆif‡d†ƒY}d }ˆi|Œ}||hdd<Ž}ˆi|i|ƒˆi|idƒˆi|i dƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |i dƒdS( NtCcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(Ntextra( tkwstcopyttemptpopR÷RRAR2RķRftresult(RķRfRųRśR÷Rü(R(RR2s   cCs||i|iS(N(tstartRR”R•(RRż((Rtnewmeths(R R t theAnswerR2Rž((R(RRöżs iÓiiR÷ii*ił’’’(iÓii(RRARöRftdt1RRt __class__R’R÷RœRžR”R•(RRRfRRö((RRttest_subclass_dateūs cCsad}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒqWdS(Niii(iii( RfR‘R3R5R6R7R8R9R:R;R<RR(RR8RfR<R:R6R7R3((Rttest_pickling_subclass_dates cCs·d}t|itƒp|d }nxLdtdƒtdƒdfD],}|it|i|d ||dƒqFWx:t d dƒD])}|i|d t|ƒ|dƒq†WdS( Ns 1995-03-25it9ii s’iii( RļR+RRARtchrt month_byteR#RFRØtord_byte(RRRļR((Rttest_backdoor_resistances (!R R RRAR^RtRŖR­R®ReRWR}R·R¹R½RĄRĀRĖRĪRŠRÕRxRŲRćRgRlRėR‚RīRõRRR(((RR“s<   /    0   '      + &     tSubclassDatetimecBstZdZRS(Ni(R R R’(((RR 6st TestDateTimecBs tZeZd„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„ZRS(NcCs¤|idddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i dƒ|i|i dƒdS(NiŅiii i( RRARRR”R•R–R˜R R”R¢(RR((RR^=scCsŖ|idddddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i dƒ|i|i dƒdS(NiŅiii i;i@( RRARRR”R•R–R˜R R”R¢(RR((Rttest_basic_attributes_nonzeroGs!c CsĶxĘ|idddddddƒ|iiƒfD]”}t|ƒ}|i|idƒƒ|d }t|ƒ}|i ||ƒ|i|i |i |i |i|i|i|iƒ}|i ||ƒq1WdS( Niiiiiiis datetime.i (RRAR-RRoRpR*RqRrRRR”R•R–R˜R R”R¢(RRpRR((RRtSs1    cCsö|idddddddƒ}|i|iƒdƒ|i|idƒdƒ|i|id ƒd ƒ|it|ƒd ƒ|idddƒ}|i|iƒd ƒ|i|idƒd ƒ|i|id ƒd ƒ|it|ƒd ƒdS( Niiiiii{s0002-03-02T04:05:01.000123Rƒt s0002-03-02 04:05:01.000123s0002-03-02T00:00:00s0002-03-02 00:00:00(RRARĢRRĶRm(RRĢ((RRĪcs!cCs“dk}|idddddddƒ}|i|iƒdƒ|idddddddƒ}|i|iƒ|i|i|iƒƒƒƒdS( NiŅiiiii{sSat Mar 2 18:03:05 2002i(R³RRARĢRRĻR“RŁ(RRĢR³((Rttest_more_ctimers  !!cCsā|iddddddƒ}|iddddddƒ}|iddddddƒ}|i||ƒ|i||jƒ|itddd d d d ƒ}td dƒ}||}|i|||ƒ|i||jƒdS( NiŅiii ii i iii;i>BRO( RRARRtdt3RRuRRR](RR]RRR((Rttest_tz_independent_comparing‚s! c Cs]dtfd„ƒY}|iddddddd|ddƒƒ}|it|idƒdS( NtMyTzInfocBstZd„ZRS(NcCs dtfd„ƒY}|dƒS(NtMyStrcBstZd„ZRS(NcGsdS(N(R(RRf((RRš™s(R R Rš(((RR˜sR(RmR(RRR((RR—s(R R R(((RR–siÕiiiRs%Z(R RRRARĢR#RFRŌ(RRRĢ((Rt%test_strftime_with_bad_tzname_replace”s-c Cs™|itddƒ|itddƒ|it|itdddƒ|it|itdddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|idddƒ|idddƒ|id ddƒ|it|iddd ƒ|it|id ddƒ|it|id ddƒ|it|id ddƒ|it|idddƒ|it|idddƒ|iddddƒ|iddddƒ|it|iddddƒ|it|iddddƒ|idddddƒ|idddddƒ|it|idddddƒ|it|idddddƒ|iddddddƒ|iddddddƒ|it|iddddddƒ|it|iddddddƒ|idddddddƒ|idddddddƒ|it|idddddddƒ |it|idddddddƒ dS(NiiŠi ii iiiŌi` iiŃi4ili iii’’’’ii;i<i?Bi@B(RRARRR#R¬(R((RR®ŸsH  ""%%cCs‚|iddddddƒ}|iddddddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|id ddd d dƒ}|id ddd d dƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS( NiŠi iiiiiiiŃii(RRARcRÆRRbR°Rd(RRcR°RÆ((RReĢs$  c s‡|idddƒ‰|idddƒ}ˆ|}|i|iddttdddƒƒƒ|i|i dƒ|i|i dƒ|idd d d d ƒ‰t ddd ƒ}t ddƒ}t dƒ‰t dƒ}|iˆ||idd d dd ƒƒ|i|ˆ|idd d dd ƒƒ|iˆd||idd d d d ƒƒ|iˆ||idd d dd ƒƒ|i| ˆ|idd d dd ƒƒ|iˆ|ˆ| ƒ|iˆd||idd ddd ƒƒ|iˆˆ|idd d d d ƒƒ|iˆˆ|idd dd d ƒƒ|iˆ||idd dd d ƒƒ|iˆ||idd dd d ƒƒ|iˆd||idd dd d ƒƒ|iˆd||idd d d d ƒƒ|iˆ|ˆ|ƒ|iˆˆˆˆƒ|iˆ|ˆ|ƒ|iˆ|ˆ|ƒ|iˆ|ˆ| ƒ|iˆˆˆˆ ƒ|iˆ|ˆ| ƒ|iˆ|ˆ| ƒ|iˆˆ|| ƒ|iˆˆˆˆ ƒ|iˆˆ|| ƒ|iˆˆ|| ƒ|iˆˆ||ƒ|iˆˆˆˆƒ|iˆˆ||ƒ|iˆˆ||ƒ|iˆ|ˆ|||idd ddd dd ƒƒ|iˆ|ˆ||ˆ|ˆ||ƒ|iˆ|ˆ|||idd dddddƒƒ|iˆ|ˆ||ˆ|ˆ||ƒxrd,D]j‰|it‡‡d †ƒ|it‡‡d!†ƒ|it‡‡d"†ƒ|it‡‡d#†ƒqVW|it‡‡d$†ƒ|it‡‡d%†ƒ|it‡‡d&†ƒ|it‡‡d'†ƒ|it‡‡d(†ƒ|it‡d)†ƒ|it‡d*†ƒ|it‡d+†ƒdS(-NiŅiii¤i.imiiiiiiičiiii iiii ii4iÓiŃiii;iX>lf1.0csˆˆS(N(RSRX((RSRX(RREscsˆˆS(N(RSRX((RSRX(RREscsˆˆS(N(RXRS((RXRS(RREscsˆˆS(N(RXRS((RXRS(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(R–RS((RSR–(RREscsˆˆS(N(RSR–((RSR–(RREscsˆˆS(N(R–RS((RSR–(RRE scsˆˆS(N(RSR–((RSR–(RRE!scsˆˆS(N(RS((RS(RRE"scsˆˆS(N(RS((RS(RRE#scsˆˆS(N(RS((RS(RRE%s(ilf1.0(RRARSRTR±RRKRdRØRMRORtmillisecR˜R–R²RXR#RF( RRSR²RTR˜RXR±RR–((RSRXR–RRWćs| -  ))-)*-))))--""cCs}ddddddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq5WdS( Niiiii;ii@i( RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRg'scCs||idddddddƒ}ti|ƒ}ti|ƒ}|i|i dƒ|i|i dƒ|i|i dƒdS(NiÓiiii0i%iŌĘ( RRARStpickleR9RpR;RTRR”R•R–(RRSRTRp((Rttest_more_pickling/s !cCszddddddddf}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq2WdS( Niiiii;ii@i( RfR R3R5R6R7R8R9R:R;R<RR(RR8R7RfR<R:R6R3((Rttest_pickling_subclass_datetime7s cCsEdddddddg}|i|Œ}|i|Œ}|i||jƒ|i||jƒ|i||jƒ|i||j ƒ|i||j ƒ|i||j ƒ|it||ƒdƒ|it||ƒdƒx^tt |ƒƒD]J}|}||d ||<|i|Œ}|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||jƒ|i||j ƒ|i||j ƒ|i||j ƒ|i||j ƒ|i||j ƒ|i||j ƒ|it||ƒd ƒ|it||ƒd ƒqóWdS( NiŠi iii:ii>Biii’’’’( RfRRAR_R`R*RRGRØRdRXRņ(RRXRfR`R_Rņ((Rttest_more_compare?s<cCsˆ|i|i|iƒ|i|i|iƒ|i|i|i ƒ|i|i |i ƒ|i|i |i ƒ|i|i|iƒdS(N(RRRóRŚRōR”RŪR•RÜR–RŻR˜RŽR RßR”(RRóRō((Rtverify_field_equalityds cCsJdk}|iƒ}|i|ƒ}|ii|ƒ}|i||ƒdS(N( R³Rµt localtimeRóRRAR¶RōR(RRóRōRµR³((RR·ls   cCsJdk}|iƒ}|i|ƒ}|ii|ƒ}|i||ƒdS(N( R³RµtgmtimeRóRRAtutcfromtimestampRōR(RRóRōRµR³((Rttest_utcfromtimestampts   cCs,|i|iidƒ|iidƒƒdS(Nf0.99999990000000005i(Rt assertEqualsRAR¶(R((RR€|scCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(RøRR#R¬RAR¶(RRø((RR¹‚scCs.x'dD]}|it|ii|ƒqWdS(Nf-9.9999999999999997e+199f9.9999999999999997e+199(f-9.9999999999999997e+199f9.9999999999999997e+199(RøRR#R¬RAR(RRø((Rttest_insane_utcfromtimestamp‹scCs“dk}tddƒ}xWtdƒD]I}|iiƒ}|ii |iƒƒ}t ||ƒ|joPq%q%W|i t ||ƒ|jƒdS(NRMii( R³Rt toleranceRØRŗRRAtutcnowtfrom_nowRtfrom_timestampRVR*(RRŗR"R³RR!((Rt test_utcnow”s   cCs–|iddddddƒ}|i|iƒd ƒ|i|iƒ|i|i|i|i|i |i |i ƒ|i ƒt |id d ƒi ƒd d f ƒ|iƒ}|i|i|iƒ|i|i|iƒ|i|i|iƒ|i|i|iƒ|i|i|i ƒ|i|i|i ƒ|i|i|i ƒƒ|i|i|i ƒt |id d ƒi ƒd ƒ|i|id ƒdS( NiŌi iiii!iini’’’’i( iŌi iiii!iini’’’’(RRARĢRRŁR”R•R–R˜R R”R¾RœRtttRŚRŪRÜRŻRŽRßRąRįRā(RR$RĢ((Rttest_more_timetuple¢s] 6cCs;|iddddddƒ}|i|idƒdƒdS( NiŌi iiii!s%m %d %y %S %M %H %js12 31 04 33 22 06 366(RRARĢRRŌ(RRĢ((Rttest_more_strftimeøscCsl|idddddddƒ}|i|iƒtdddƒƒ|i|iƒtddddƒƒdS(NiŅiiii-iŅ(RRARRRR³(RR((Rt test_extract¾s!"cCsUtdddƒ}tddddƒ}|idddddddƒ}|ii}|||ƒ}|i ||ƒ|d|d|ƒ}|i ||ƒ|i ||iƒƒ|i ||iƒƒ|i |||iƒ|iƒƒƒ|i t |ƒ|i t ||ƒ|i t |||ƒ|i t |||d ƒ|i t |ddƒdS( NiŅiiii-iŅR³Ri( RRcR³RĢRRARótcombineRRR#RF(RRcRóR(RĢR((Rt test_combineĆs ! %c Csö|i} dddddddg}| |Œ}|i||iƒƒd}xxdddddddfD][\}}|}|||<| |Œ}|ih||<}|i||ƒ|d7}qhW| dddƒ}|i t|id dƒdS(NiiiiiiiiR”R•R–R˜R R”R¢iiŠiiŃ(syeari(smonthi(sdayi(shouri(sminutei(ssecondi(s microsecondi(RRARķRfRļRRšRXRRńRņRóRōR#R¬( RRRXRfRńRļRóRōRņRķ((RRõŲs     cCsż|iiƒ}tddƒ}|it|iƒ|it|i||ƒ|it|i|ƒ|it |i|ƒ|it |id|ƒdt fd„ƒY}|ƒ}|it |i|ƒdt fd„ƒY}|ƒ}|it |i|ƒdS(Ni,RŃttztBoguscBstZd„Zd„ZRS(NcCsdS(N(R(RR((RRżscCs tdƒS(Ni(R(RR((RRžs(R R RR(((RR+üs t AlsoBoguscBstZd„Zd„ZRS(NcCs tdƒS(Ni(R(RR((RRscCsdS(N(R(RR((RRs(R R RR(((RR,s (RRAR-RR tfR#RFt astimezoneR¬R R+tbogR,talsobog(RR-R0R,R+RR/((Rttest_astimezoneńs  csŠdˆif‡d†ƒY}d }ˆi|Œ}||hd d <Ž}ˆi|i|ƒˆi|id ƒˆi|i d ƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |i |id ƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2 s   cCs||i|i|iS(N(RżRR”R•R”(RRż((RRžs(R R R’R2Rž((R(RRö s iÓiii i i)R÷ii*ił’’’(iÓiii i i)(RRARöRfRRRRR’R÷RœRžR”R•R”(RRRfRRö((RRttest_subclass_datetimes ( R R RRAR^R RtRĪR RRR®ReRWRgRRRRR·RR€R¹RR#R%R&R'R)RõR1R2(((RR 9s:     -  D    %           t SubclassTimecBstZdZRS(Ni(R R R’(((RR3#stTestTimecBsžtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„ZRS(NcCsb|iddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(Ni i(RRARĢRR˜R R”R¢(RRĢ((RR^*s cCsh|iddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(Ni i;i@(RRARĢRR˜R R”R¢(RRĢ((RR 1s cCs˜|iddddƒ}t|ƒ}|i|idƒƒ|d}t|ƒ}|i ||ƒ|i|i |i |i |i ƒ}|i ||ƒdS(Niiiis datetime.i (RRARĢRoRpR*RqRrR`RR˜R R”R¢(RR`RpRĢ((RRt:s    csmddddg}|i|Œ‰|i|Œ}|iˆ|jƒ|iˆ|jƒ|iˆ|jƒ|iˆ|j ƒ|iˆ|j ƒ|iˆ|j ƒ|itˆ|ƒdƒ|it|ˆƒdƒx^tt |ƒƒD]J}|}||d||<|i|Œ}|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|jƒ|i|ˆjƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|iˆ|j ƒ|i|ˆj ƒ|itˆ|ƒdƒ|it|ˆƒdƒqźWx.t D]&‰|iˆˆjtƒ|iˆˆjtƒ|iˆˆjtƒ|iˆˆjtƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d †ƒ|it‡‡d†ƒq?WdS(Niiiiii’’’’cs ˆˆjS(N(R_Rh((RhR_(RREoscs ˆˆjS(N(R_Rh((RhR_(RREpscs ˆˆjS(N(R_Rh((RhR_(RREqscs ˆˆjS(N(R_Rh((RhR_(RRErscs ˆˆjS(N(RhR_((RhR_(RREsscs ˆˆjS(N(RhR_((RhR_(RREtscs ˆˆjS(N(RhR_((RhR_(RREuscs ˆˆjS(N(RhR_((RhR_(RREvs(RfRRAR_R`R*RRGRØRdRXRņRiRhRjRkR#RF(RRXRfR`RhR_Rņ((RhR_Rttest_comparingIsXcCsp|iddƒ|iddƒ|it|iddƒ|it|iddƒ|iddƒ|iddƒ|it|iddƒ|it|iddƒ|idddƒ|idddƒ|it|idddƒ|it|idddƒ|iddddƒ|iddddƒ|it|iddddƒ|it|iddddƒdS( Niii’’’’ii;i<i?Bi@B(RRAR#R¬(R((RR®xs cCs^|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒ|idddƒ}|idddƒ}|i||ƒ|it|ƒt|ƒƒh|d<}d||<|it|ƒdƒ|i||dƒ|i||dƒdS(Niiiiiii(RRARcRÆRRbR°Rd(RRcR°RÆ((RReŽs$  cCs$|iddddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|idd ƒ}|i|iƒd ƒ|i|iƒt|ƒƒ|idd ƒ}|i|iƒd ƒ|i|iƒt|ƒƒ|idd ƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒ|iddƒ}|i|iƒdƒ|i|iƒt|ƒƒdS(Niiii{s04:05:01.000123s00:00:00R¢s00:00:00.000001i s00:00:00.000010ids00:00:00.000100ičs00:00:00.001000i's00:00:00.010000i †s00:00:00.100000(RRARĢRRĶRm(RRĢ((RRĪ„s0 cCsN|iddddƒ}|i|idƒdƒ|i|idƒdƒdS( Niiiis%H %M %Ss01 02 03s '%z' '%Z's'' ''(RRARĢRRŌ(RRĢ((RRÕĘscCsĢ|it|iddddƒƒdƒ|it|iddddƒƒdƒ|it|id ddd ƒƒd ƒ|it|id ddd ƒƒd ƒ|it|iddd d ƒƒdƒdS(Niiiis01:02:03.000004i i s10:02:03.004000ii€s00:02:03.400000i s12:02:03iis23:15:00(RRRmRA(R((RRnĢs ((((cCsšd|ii}|it|iddddƒƒd|ƒ|it|iddddƒƒd |ƒ|it|id ddd ƒƒd |ƒ|it|id ddd ƒƒd|ƒ|it|iddd d ƒƒd|ƒdS(Ns datetime.iiiis%s(1, 2, 3, 4)i i s%s(10, 2, 3, 4000)ii€s%s(0, 2, 3, 400000)i s %s(12, 2, 3)iis %s(23, 15)(RRAR RRRo(RR((Rt test_reprÓs! ! ! ! !cCs}|it|ii|iƒƒ|it|ii|iƒƒ|it|iitƒƒ|i|ii|iijƒdS(N(RRuR RARvR"RwR(R((RRxąscCstdddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq,WdS(Nii;ii@i( RfRRAR3R5R6R7R8R9R:R;R<R(RR8RfR<R:R6R7R3((RRgęscCsqdddddf}t|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq)WdS(Nii;ii@i( RfR3R3R5R6R7R8R9R:R;R<RR(RR8R7RfR<R:R6R3((Rttest_pickling_subclass_timeīs cCs|i}|i|dƒƒ|i|ddƒƒ|i|dddƒƒ|i|ddddƒƒ|i|dƒ ƒ|i|ƒ ƒdS(Nii(RRARķR*(RRķ((RR‚ös c Cs)|i} ddddg}| |Œ}|i||iƒƒd}xoddddfD][\}}|}|||<| |Œ}|ih||<}|i||ƒ|d7}qVW| dƒ}|i t|iddƒ|i t|iddƒ|i t|id dƒ|i t|id dƒdS(NiiiiiR˜iR iR”iR¢iii’’’’idi@B(shouri(sminutei(ssecondi(s microsecondi(RRARķRfRļRRšRXRRńRņRóRōR#R¬( RRRXRfRńRļRóRōRņRķ((RRõ’s$      csÉdˆif‡d†ƒY}d }ˆi|Œ}||hdd<Ž}ˆi|i|ƒˆi|idƒˆi|i dƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |i dƒdS( NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2s   cCs||i|iS(N(RżRR˜R”(RRż((RRž$s(R R R’R2Rž((R(RRös iiiR÷ii*ił’’’(iii(RRARöRfRRRRR’R÷RĶRžR˜R”(RRRfRRö((RRttest_subclass_times (R R R³RAR^R RtR5R®ReRĪRÕRnR6RxRgR7R‚RõR8(((RR4&s"   /   !      t TZInfoBasecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs½|i}dtfd„ƒY}|dddd|ƒƒ}|tjodpd}|i|i ƒ|ƒt d |tjod pd ƒ}|i|i ƒ|ƒ|i|i ƒ|ƒdS( Nt introspectivecBs tZd„Zd„ZeZRS(NcCs|odpdS(Ntrealtnone(R(RR((RR;scCstd|odpdƒS(NR i*iÖ’’’(RR(RR((RR<s(R R RRR(((RR::s  iiiR R<R;R iÖ’’’i*( RRARķR R:tobjR³RóRRRRR(RR=R:RóRķ((Rttest_argument_passing7s #cCs®|i}|it|dddddƒdtfd„ƒY}|it|dddd|ƒdtfd„ƒY}|ƒ}|dddd|ƒ}|i |i|jƒdS(NiR i tNiceTrycBstZd„Zd„ZRS(NcCsdS(N((R((RRNscCsdS(N((RR((RROs(R R RR(((RR?Ms t BetterTrycBstZd„Zd„ZRS(NcCsdS(N((R((RRSscCsdS(N((RR((RRTs(R R RR(((RR@Rs ( RRARķR#RFRéR?R R@RTRĢR*(RR@R?RTRĢRķ((Rttest_bad_tzinfo_classesIs  c Csedtfd„ƒY}|i} x?dtfdtfdtfdtffD]\}}| t jo"| ddd d ||ƒƒ}n9| t jo+| d d d ddd d ||ƒƒ}n|o†t |ƒ}t|d ƒ\}}d |djodpd||f}t|t ƒo|iƒ}n|it|ƒd|ƒqJ|itt|ƒqJWdS(NtEdgycBstZd„Zd„ZRS(NcCstd|ƒ|_dS(NR (RRR(RR((RR[scCs|iS(N(RR(RR((RR]s(R R RR(((RRBZs i`ś’’iaś’’iŸi iiiR ii<s %c%02d:%02dit-t+s01:02:03(R RBRRARķRjRkRtlegitR³RĢRRVtaofstdivmodthRšttagR ttimetzRRmR#R¬( RRHRšRBRFRĢRRIRERķ((Rttest_utc_offset_out_of_boundsYs" +  " + 'cCsX|i}dtfd„ƒY}x•|dddƒ|dddddƒ|dddd|ƒƒfD]Q}|i|iƒdjƒ|i|i ƒdjƒ|i|i ƒdjƒqbWdtfd„ƒY}|dddd|ƒƒ}|i |iƒt ddƒƒ|i |i ƒt dd ƒƒ|i |i ƒd ƒd tfd „ƒY}|dddd|ƒƒ}|it|iƒ|it|i ƒ|it|i ƒd tfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i ƒdtfd„ƒY}|dddd|ƒƒ}|it|iƒ|it|i ƒdS(NtC1cBs#tZd„Zd„Zd„ZRS(NcCsdS(N(R(RR((RRxscCsdS(N(R(RR((RRyscCsdS(N(R(RR((RRzs(R R RRR(((RRLws  iR tC3cBs#tZd„Zd„Zd„ZRS(NcCs tddƒS(NR iaś’’(R(RR((RRƒscCs tddƒS(NR iŸ(R(RR((RR„scCsdS(Ntaname((RR((RR…s(R R RRR(((RRM‚s  R iaś’’iŸRNtC4cBs#tZd„Zd„Zd„ZRS(NcCsdS(NRN((RR((RRscCsdS(Ni((RR((RRŽscCsdS(Ni((RR((RRs(R R RRR(((RROŒs  tC6cBstZd„Zd„ZRS(NcCs tddƒS(NRLič’’’(R(RR((RR—scCs tddƒS(NRLi(R(RR((RR˜s(R R RR(((RRP–s tC7cBstZd„Zd„ZRS(NcCs tddƒS(NRMi=(R(RR((RRŸscCs tddƒS(NROiÆ’’’(R(RR((RR s(R R RR(((RRQžs (RRARķR RLRRĢR*RRRRMRRROR#RFRPR¬RQ(RRMRĢRLRORQRPRķ((Rttest_tzinfo_classesus2 Cc Cs|i}dtfd„ƒY} |dddd| ƒƒ}|iddƒ} |iddƒ}|idd ƒ}xe| ||fD]T}xK| ||fD]:}t ||ƒ}t |i|iƒ}|i||ƒq–Wq€W|tj o+|iddd| ƒƒ} |iddd| ƒƒ}|idd d| ƒƒ}x×| ||fD]Ā}x¹| ||fD]Ø}t ||ƒ}|| jp ||jo$|| jp ||jo d }nF||jo |jno d }n||jo d }nd }|i||ƒq\WqFWndS( NtOperandDependentOffsetcBstZd„ZRS(NcCs5|idjotd|iƒSntddƒSdS(Ni R i;(RĢR R(RRĢ((RR«s(R R R(((RRSŖsii i R R ii ii’’’’i(RRARķR RSRļRštd0RÉR¤RYR™RGRōR RóRR³( RRÉR™RļRóRōRYRķR¤RTRS((Rttest_aware_compare„s>   4    (R R R>RARKRRRU(((RR95s     0t TestTimeTZcBsVtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS( NcCsr|iƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i djƒdS(Ni( RRARĢRR˜R R”R¢R*R R(RRĢ((Rt test_emptyŲs  c s£tdddƒ}tdddƒ}tddd ƒ}td d d |ƒ} td d d |ƒ}tdd d |ƒ} tddƒ‰tddd |ƒ‰|i | i |ƒ|i |i |ƒ|i | i |ƒ|i ˆi djƒ|i ˆi |ƒ|i | iƒtddƒƒ|i |iƒtddƒƒ|i | iƒtddƒƒ|i ˆiƒdjƒ|it| idƒ|i | iƒdƒ|i |iƒdƒ|i | iƒdƒ|i ˆiƒdjƒ|it| idƒ|i | iƒtddƒƒ|i |iƒtddƒƒ|i | iƒtdd ƒƒ|i ˆiƒdjƒ|it| idƒ|i t| ƒt|ƒƒ|i t| ƒt| ƒƒ|i t|ƒt| ƒƒ|i | |ƒ|i | | ƒ|i || ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|i t| ƒdƒ|i t|ƒdƒ|i t| ƒdƒ|i tˆƒdƒ|i tˆƒdƒ|i | iƒdƒ|i |iƒdƒ|i | iƒdƒ|i ˆiƒdƒ|i ˆiƒdƒd}|i t| ƒ|dƒ|i t|ƒ|dƒ|i t| ƒ|dƒ|i tˆƒ|dƒ|i tˆƒ|d ƒ|i | id!ƒd"ƒ|i |id#ƒd$ƒ|i | id#ƒd%ƒtd&d'ƒ}td(d)d |ƒ} |i | id*ƒd+ƒd,t fd-„ƒY} td.d d/d | ƒƒ} |i | id0ƒd1ƒ|it| id2ƒdS(3NiŌž’’tESTiitUTCiž’’’i<tMETiii/R i i R¢i(R sno argscs ˆˆjS(N(RŠtt5((RŠR[(RRE scs ˆˆjS(N(RŠR[((RŠR[(RRE scs ˆˆjS(N(R[RŠ((RŠR[(RRE ss07:47:00-05:00s12:47:00+00:00s13:47:00+01:00s00:00:00.000040s00:00:00.000040+00:00s datetime.times(7, 47, tzinfo=est)s(12, 47, tzinfo=utc)s(13, 47, tzinfo=met)s (0, 0, 0, 40)s(0, 0, 0, 40, tzinfo=utc)s%H:%M:%S %%Z=%Z %%z=%zs07:47:00 %Z=EST %z=-0500s%H:%M:%S %Z %zs12:47:00 UTC +0000s13:47:00 MET +0100iaś’’s %z %Z %%z%%Zii;s%H:%M %%Z='%Z' %%z='%z's"23:59 %Z='%z %Z %%z%%Z' %z='-2359't BadtznamecBstZd„ZRS(NcCsdS(Ni*((RR((RR,s(R R R(((RR\+siis%H:%M:%Ss02:03:04s%Z(R testtutctmetR³R_R`R‰RŠR[RRR R*RRRR#RFRRRbRmRĶRcRoRŌtyuckR\RĢ( RR`R]R_R^RcRŠR[R`R‰R_R\RĢ((RŠR[Rt test_zonesąs‚c CsŲ|idddddtddƒƒ}|idddddtddƒƒ}|it|ƒt|ƒƒ|id d d d dtd dƒƒ}|id dd d dtddƒƒ}|it|ƒt|ƒƒdS(NiiiiR iŸRŃižii:iidiü’’i0iü’’(RRAR R_R`RRb(RR`R_((Rttest_hash_edge_cases1s ''''c Cs7dddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq,Wt ddƒ}|idd d d |ƒ}x–tD]Ž\}}}|i||ƒ}|i |ƒ}|i ||ƒ|it|it ƒƒ|i |iƒtd dƒƒ|i |iƒdƒq”WdS( Nii;ii@iiŌž’’R>iiiR R (RfRRAR3R5R6R7R8R9R:R;R<RRttinfoR*R R RRR( RR8RfR<R:RcR6R7R3((RRg;s"csT|i}|ddtddƒƒ‰|iˆƒ|ddtddƒƒ‰|iˆƒ|ddtddƒƒ‰|iˆ ƒ|dddtdd ddƒƒ‰|iˆ ƒ|ddtdd ddƒƒ‰|iˆƒ|ddtd d dƒƒ‰|it‡d †ƒ|ddtd d dƒƒ‰|it‡d †ƒdS(NiR iŌž’’RŃii,ii;i<ics tˆƒS(N(tboolRĢ((RĢ(RREesič’’’cs tˆƒS(N(RdRĢ((RĢ(RREis(RRARķR RĢR*R#R¬(RRĢRķ((RĢRttest_more_boolOs   &# cCsī|i} tddƒ}ttddƒdƒ}dddd |g}| |Œ} |i | | i ƒƒd }xxddddd|ffD][\}}|} || |<| | Œ} | i h||<} |i | | ƒ|d7}q‰W|i | iƒdƒ| i ddƒ}|i|idjƒ|i|iƒdjƒ|i d|ƒ}|i | |ƒ|i| i|ijƒ| dƒ} |it| i d dƒ|it| i d dƒ|it| i ddƒ|it| i ddƒdS(Nids+100R i8’’’s-200iiiiiR˜iR iR”iR¢iR ii’’’’i@B(shouri(sminutei(ssecondi(s microsecondi(RRARķR tz100Rtzm200RfRļRRšRXRRńRņRóRōRRtbase2R*R tbase3R#R¬(RRiRRXRfRńRhRfRgRóRōRņRļRķ((RRõks6      csrtdddƒ‰tdddƒ‰|iˆˆƒˆiddƒ‰|iˆˆƒˆidtddƒƒ‰|iˆˆƒˆidtddƒƒ‰|it ‡‡d†ƒdt fd „ƒY}|ƒ}ˆid|ƒ‰ˆid|ƒ‰|iˆi ƒtd d ƒƒ|iˆi ƒtd d ƒƒ|iˆˆƒˆid|ƒƒ‰|iˆˆjƒdS( NiiiR RŃics ˆˆjS(N(R_R`((R`R_(RRE›stVariescBstZd„Zd„ZRS(NcCstddƒ|_dS(NR i(RRR(R((RRŸscCs|itddƒ7_|iS(NR i(RRR(RRĢ((RR”s(R R RR(((RRjžs R ii(R³R_R`RRRšRR R#RFR RjtvRRR*(RRkR`R_Rj((R`R_RRė’s$ csädˆif‡d†ƒY}ddddtddd ƒf}ˆi|Œ}||hd d <Ž}ˆi|i|ƒˆi|i d ƒˆi|i d ƒˆi|i ƒ|i ƒƒˆi|i d ƒ|i |id ƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2µs   cCs||i|iS(N(RżRR˜R”(RRż((RRž¼s(R R R’R2Rž((R(RRö²s iiiiōiŌž’’RXiR÷ii*ił’’’(RRARöR RfRRRRR’R÷RRžR˜R”(RRöRfRR((RRttest_subclass_timetz°s !( R R R³RARWRaRbRgReRõRėRl(((RRVÕs  Q   ' tTestDateTimeTZcBsĀtZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCs½|idddddddƒ}|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|i dƒ|i|i dƒ|i|i dƒdS(Niiiiiii( RRARRR”R•R–R˜R R”R¢R R(RR((Rt test_trivialŠs!c sO|iddddtddƒƒ‰|itdddddd dtd dƒƒ‰|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iˆˆjƒ|iddddddtddƒƒ‰|id ddd d dtd dd d dƒƒ‰|iˆˆƒ|iddddddtddƒƒ‰|iˆˆjƒ|iddddddtd dƒƒ‰|iˆˆjƒ|iddddddtddƒddƒ‰|iˆˆjƒ|iddddddtddƒddƒ‰|iˆˆjƒ|ii‰|i t ‡‡d†ƒ|iˆˆƒdt fd„ƒY}|idddd|ƒƒ‰|i t ‡‡d†ƒ|iˆˆƒ|idddƒ‰|iˆˆƒdt fd„ƒY}|id d d d|ƒƒ‰|id d d dtddƒƒ‰|i t‡‡d†ƒdS(NiR iŸRŃi iii;i?Biaś’’iii i<iR”R¢cs ˆˆjS(N(R_R`((R`R_(RRE stNaivecBstZd„ZRS(NcCsdS(N(R(RR((RR s(R R R(((RRo siiics ˆˆjS(N(R_R`((R`R_(RRE sR+cBstZd„ZRS(NcCs tddƒS(NR i (R(RR((RR s(R R R(((RR+ scs ˆˆjS(N(R_R`((R`R_(RRE s(RRAR R_RR`R*RRvR#RFR RoR+R¬(RR`R_R+Ro((R`R_Rttest_even_more_compareŪsD$*6**$ $  $c Csgddddddddf}|i|Œ}xHtD]@\}}}|i||ƒ}|i |ƒ}|i ||ƒq5Wt d d ƒ}|i|hd |<Ž}|idddd td d d ƒƒ}x–tD]Ž\}}}|i||ƒ}|i |ƒ}|i ||ƒ|it|it ƒƒ|i |iƒtdd ƒƒ|i |iƒd ƒqŃWdS(Niiiii;ii@iiŌž’’R>R iRŃR (RfRRAR3R5R6R7R8R9R:R;R<RRRcR R*R R RRR( RR8RfR<R:RcR6R7R3((RRg s&' c Cs£|iddddtddƒƒ}t|ƒ|itdddddd dtd dƒƒ}t|ƒ|id d d dtd dƒƒ}|itt|ƒdS( NiR iŸRŃi iii;i?Biaś’’ii`ś’’(RRAR RĢRbRR#R¬(RRĢ((Rttest_extreme_hashes3 s$  $cCs}tddƒ}tddƒ}tddƒ}tddd d d d |ƒ}tddd d d d |ƒ}tddd dd d |ƒ}|i |i |ƒ|i |i |ƒ|i |i |ƒ|i |i ƒt ddƒƒ|i |i ƒt ddƒƒ|i |i ƒt ddƒƒ|i |i ƒdƒ|i |i ƒdƒ|i |i ƒdƒ|i t|ƒt|ƒƒ|i t|ƒt|ƒƒ|i t|ƒt|ƒƒ|i ||ƒ|i ||ƒ|i ||ƒ|i t|ƒdƒ|i t|ƒdƒ|i t|ƒdƒd}|i t|ƒ|dƒ|i t|ƒ|dƒ|i t|ƒ|dƒdS(NiŌž’’RXiRYi<RZiŅiiii/R i i R s2002-03-19 07:47:00-05:00s2002-03-19 12:47:00+00:00s2002-03-19 13:47:00+01:00sdatetime.datetime(2002, 3, 19, s7, 47, tzinfo=est)s12, 47, tzinfo=utc)s13, 47, tzinfo=met)(R R]R^R_RR_R`R‰RRR RRRRbRmRcRo(RR^R]RcR`R‰R_R_((RRaA s8c Cs€tddƒ}tdddƒ}tddddd |ƒ}ti||ƒ}|i |tdddddddd |ƒƒdS( Ni<RZiŅiiii-iŅR ( R R_RRcR³R*RR(RRR(RR*RcR_R((RR)_ s !c Cs¬tddƒ}|idddddddd |ƒ}|i|iƒtdddƒƒ|i|iƒtddddƒƒ|i|iƒtddddd |ƒƒdS( Ni<RZiŅiiii-iŅR ( R R_RRARRRR³RJ(RR_R((RR'g s '"%c sdk}|iiƒ‰tddƒ}ˆiƒid|ƒ}|ii ˆi ƒ|ƒ‰|i ˆi |jƒ|iˆiƒ|ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡‡d†ƒ|it‡d†ƒ|iˆˆtd ƒƒ|iˆˆtd ƒƒtd d d d ddƒ‰ˆˆ‰|i ˆi |jƒˆˆ}|i |i |jƒ|iˆ|ƒˆˆ} |i | i |jƒ|iˆ| ƒ|it‡‡d†ƒ|iˆˆˆƒt|iddƒdƒ} ˆid| ƒ‰|i ˆi | jƒˆˆ}ˆiƒˆiƒˆ} |i|| ƒ|id d d dtddƒƒ}|itd ddddddtddƒƒ}||}|i||ii|iitd ddƒƒdS(Ni¶ž’’s west 5:30R csˆˆS(N(R-tnowaware((RrR-(RREy scsˆˆS(N(RrR-((RrR-(RREz scsˆˆS(N(R-Rr((RrR-(RRE} scsˆˆS(N(RrR-((RrR-(RRE~ scsˆˆS(N(Rr((Rr(RRE siRJiR i ROi.csˆˆS(N(RŽt nowawareplus((RsRŽ(RRE’ siaś’’i trandomtimezoneiŸRviii;i?BR"i( trandomRRAR-R ttz55R³Ršt timeawareR(RRrR*R RRJR#RFRRŽRst nowawareplus2R±t randrangettzrRōRRóRvRR"tmaxdiff(RR"RvRxRvRōRuR{RsRzRŽRóR±RrR-Rw((RsRŽRrR-Rttest_tz_aware_arithmeticn sH     $ c Cs˜|ii} | ƒ}tddƒ}| |ƒ}| d|ƒ}|i |i |i jƒ|i |i ƒt ddƒƒ|it| dƒ|it| ddƒ|it| d|ƒ|it| ||ƒtt dd dd ƒd d ƒ}td d d ƒ}x’tdƒD]w}ti|ƒ} |i | i |jƒtiƒid|ƒ}|i|ƒ} t| | ƒt ddƒjoPq q W|idƒdS(Ni*t42R*R iR RcRLii:tweirdtziR^iRMis0utcnow(), now(tz), or astimezone() may be broken(RRAR-tmethRļR toff42tanothertagainR*R RRRR#RFR~R^RØRŗRR RšR.tnow2RVtfail( RR‚R~R^R RŗRļRR€RR-Rƒ((Rttest_tzinfo_now¬ s,   !   cCs~dk} |ii} | iƒ}| |ƒ}tddƒ}| ||ƒ} | |d|ƒ}|i | i |i jƒ|i | iƒtddƒƒ|it| |dƒ|it| |ddƒ|it| |d|ƒ|it| |||ƒ|it| ƒd}ti|ƒ} td d dd ƒ}t|dd ƒ}| |} ti||ƒ}|i | |iddƒƒdS( Ni*R}R*R iR Rciʚ;RLiń’’’i'i(R³RRAR¶RRµRļR R€RR‚R*R RRRR#RFt timestampRRt utcdatetimeR*RóRōRšR(RR‚R*R†RµRōRRļR€RR³RóRR‡((Rttest_tzinfo_fromtimestampŠ s*     cCsQ|ii}|ƒ}tddƒ}|it||ƒ|it|d|ƒdS(Ni*R}R ( RRAR RRļR R€R#RF(RRļR€R((Rttest_tzinfo_utcnowó s   cCsodk}|ii}|iƒ}||ƒ}tddƒ}|i t |||ƒ|i t ||d|ƒdS(Ni*R}R ( R³RRARRRµRļR R€R#RF(RRµRļR€R³R((Rttest_tzinfo_utcfromtimestampż s    c Cs dtfd„ƒY}|i}xddddfD]ķ\}}|ddddd d d d ||ƒƒ}|i ƒ}|i d|i ƒ|i d|i ƒ|i d|iƒ|i d|iƒ|i d |iƒ|i d |iƒ|i d|iƒ|i d|iƒ|i ||iƒq2W|it|dddd |d ƒƒi ƒ|i |dddd |dƒƒi ƒidƒ|i |dddd |dƒƒi ƒidƒ|it|dddd |dƒƒi ƒ|it|dddd |dƒƒi ƒdS(NtDSTcBstZd„Zd„ZRS(NcCs0t|tƒotd|ƒ}n||_dS(NR (R tdstvalueRRR(RRŒ((RR scCs|iS(N(RRŒ(RR((RR s(R R RR(((RR‹ s iß’’’ii!ii’’’’i iii(R RYiŸiaś’’i i`ś’’(iß’’’i(i!i(ii(Ni’’’’(R R‹RRARķRRŒtflagRcRŁRĢRRŚRŪRÜRŻRŽRßRąRįRāR#RFR¬(RRŒRcRRĢR‹Rķ((Rttest_tzinfo_timetuple s(  * +11+c s/dtfd„ƒY‰|i}|it|ddddˆdƒƒiƒdˆf‡d†ƒY}x$dD]}|dd d d d ddd|d|ƒƒ}|i ƒ}|i|i|iƒ|i|i|iƒ|i|i|iƒ|id|iƒ|id|iƒ|i|i|iƒ|i|iƒ|iƒ|i|iƒtdddƒiƒd|iƒ|id|iƒqjW|tdddddd|dƒƒ}|i ƒ}|i|itdƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|t!ddddddd|dƒƒ}|i ƒ}|i|it!dƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒ|i|idƒdS(NR‹cBstZd„Zd„ZRS(NcCs0t|tƒotd|ƒ}n||_dS(NR (R RŒRRR(RRŒ((RR/ scCs|iS(N(RRŒ(RR((RR3 s(R R RR(((RR‹. s iR itUOFScs tZd‡d†Zd„ZRS(Ncs&ˆi||ƒtd|ƒ|_dS(NR (R‹RRtdofsRtuofs(RR‘R(R‹(RR< scCs|iS(N(RR‘(RR((RR? s(R R RRR((R‹(RR; siß’’’i!iii iii(iĖ’’’i i i%iŸi iinii;i?Biaś’’i:(iß’’’i!iN(#R R‹RRARķR#R$RRRRŒRct utctimetupleRĢRR”RŚR•RŪR–RÜRŻRŽR”RßR¾RąRœRRįRāRRyRthuge( RRŒR“RcRyRĢRR‹Rķ((R‹Rttest_utctimetuple- sN  " - ) ' * c Csbtddƒ}tddƒ} tddƒ} tddƒ}|i} d} xd|| | |fD]ł}xšdD]č}| d d d d dd|d|ƒ}d|odpd}|dj o |iƒpd}||}|iƒ} |i| | d|ƒ|i| |idƒƒ|i|idƒ| d|ƒ|it|ƒ| d|ƒqnWqaWdS(Nis+00:00iÜs+03:40i’’’s-03:51RŃs 0001-02-03iyiiiiii;R s04:05:59s.987001RƒtkR (iiy(R RZtplustminusRtunknownRRARķtdatestrtofsR]RcttimestrRtofsstrttailstrRĶtisoRRm(RRRcR˜R›RœR]RšRZR–RžR™R—Rķ((Rttest_tzinfo_isoformatm s& $   !c Cs»|i} tddƒ}ttddƒdƒ}dddd d d d |g}| |Œ} |i | | i ƒƒd }xddddddd d|ffD][\}}|} || |<| | Œ} | i h||<} |i | | ƒ|d7}q›W|i | iƒdƒ| i ddƒ}|i|idjƒ|i|iƒdjƒ|i d|ƒ}|i | |ƒ|i| i|ijƒ| dddƒ} |it| i ddƒdS(!Nids+100R i8’’’s-200iiiiiiiiR”R•R–R˜R R”R¢iR iŠiiŃ(syeari(smonthi(sdayi(shouri(sminutei(ssecondi(s microsecondi(RRARķR RfRRgRfRļRRšRXRRńRņRóRōRRRhR*R RiR#R¬(RRiRRXRfRńRhRfRgRóRōRņRļRķ((RRõ s0  %   cCsčtddƒ}tddƒ}ttddƒ dƒ}|iid|ƒ}|i |i |jƒ|i t |i|ƒ|i t|idƒ|i|i ƒ}|i |i |jƒ|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i|ƒ}|i |i |jƒ|i|iƒtddƒƒ||iƒ}||i|ƒ7}|id |ƒ}|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i|iƒ|iƒƒ|i |i |i jƒ|i||ƒdS( NRi,t44RLitm300R*iū’’’R (R Rtfnonetf44mRtfm5hRRAR-RR*R R#R¬R.RFRYRRR³RōRRóRšRJ(RRōR¤RYRóRR£R¢((Rttest_more_astimezoneØ s,c CsU|i}dtfd„ƒY} |ddddddd d | ƒƒ}|id d ƒ} |id dƒ}|id dƒ}xd| ||fD]S}xJ| ||fD]9}||}t d |i|iƒ}|i||ƒq¢WqŒW|ddddddd ƒ}|id d d | ƒƒ} |id dd | ƒƒ}|id dd | ƒƒ}xü| ||fD]ė}xā| ||fD]Ń}||}|| jp ||jo*|| jp ||jot dƒ}nn||jo |jnot dƒ}n@||jot d dddƒ}nt d dddƒ}|i||ƒqxWqbWdS(NRScBstZd„ZRS(NcCs5|idjotd|iƒSntddƒSdS(Ni R i;(RĢR R(RRĢ((RRĶ s(R R R(((RRSĢ sii i i i i iR R iR ii;(RRARķR RSRļRšRTRÉR¤RYR™RōRR RóR( RRÉR™RļRóRōRYRķR¤RTRS((Rttest_aware_subtractĒ s>  '  4 csŠtdddddddƒ‰tdddddddƒ‰|iˆˆƒˆiddƒ‰|iˆˆƒˆidtdd ƒƒ‰|iˆˆƒˆidtd d ƒƒ‰|it ‡‡d †ƒd t fd „ƒY}|ƒ}ˆid|ƒ‰ˆid|ƒ‰|iˆi ƒtddƒƒ|iˆi ƒtddƒƒ|iˆˆƒˆid|ƒƒ‰|iˆˆjƒdS(NiiiiiiiR RŃics ˆˆjS(N(R_R`((R`R_(RREü sRjcBstZd„Zd„ZRS(NcCstddƒ|_dS(NR i(RRR(R((RR scCs|itddƒ7_|iS(NR i(RRR(RRĢ((RR s(R R RR(((RRj’ s R ii(RR_R`RRRšRR R#RFR RjRkRRR*(RR`RjRkR_((R`R_RRėó s$ c sķdˆif‡d†ƒY}ddddddd td d d ƒf}ˆi|Œ}||hd d<Ž}ˆi|i|ƒˆi|i dƒˆi|i dƒˆi|i ƒ|i ƒƒˆi|i dƒ|i |idƒdS(NRöcs#tZdZ‡d†Zd„ZRS(Ni*cs@|iƒ}|idƒ}ˆii|||Ž}||_|S(NR÷( RųRłRśRūR÷RRAR2RķRfRü(RķRfRųRśR÷Rü(R(RR2 s   cCs||i|iS(N(RżRR˜R”(RRż((RRž s(R R R’R2Rž((R(RRö s iŅi iiiiiōiŌž’’RXiR÷ii*ił’’’(RRARöR RfRRRRR’R÷RRžR˜R”(RRöRfRR((RRttest_subclass_datetimetz s *(R R RRARnRpRgRqRaR)R'R|R…RˆR‰RŠRŽR”RŸRõR„R¦RėR§(((RRmĶs* B      > $ # $ @  '  , cCs/d|iƒ}|o|t|ƒ7}n|S(Ni(RR¾t days_to_goR(RRØ((Rtfirst_sunday_on_or_after- siRLiRKiiit USTimeZonecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs1td|ƒ|_||_||_||_dS(NRL(RRLRt stdoffsettreprnametstdnametdstname(RRLR¬R­R®((RR@ s  cCs|iS(N(RR¬(R((RRF scCs&|i|ƒo |iSn|iSdS(N(RRRR®R­(RR((RRI s cCs|i|i|ƒS(N(RR«RR(RR((RRO scCs•|djp|idjotSnttid|iƒƒ}tt id|iƒƒ}||iddƒjo |jnot SntSdS(NR”R ( RRR tZEROR©tDSTSTARTRšR”RżtDSTENDtendtHOUR(RRR²Rż((RRR s*(R R RRRRR(((RRŖ> s     iū’’’tEasternRXtEDTiś’’’tCentraltCSTtCDTił’’’tMountaintMSTtMDTių’’’tPacifictPSTtPDTRYiō’’’i<tUTCfaketTestTimezoneConversionscBswtZeddddƒZeddddƒZeZd„Zd „Zd „Zd „Z d „Z d „Z d„Z RS(NiŅiiii iic Cs…|i|iƒtƒ|i|i|ƒ|ƒ|i|ƒ}|i|ƒ}|i ƒ|i ƒjo`|i djoP|i|t|ƒ|i|iƒt ƒ|i|i|ƒ|i|ƒƒn|i||ƒ|t}|i|ƒ} |i ƒ|i ƒjoe|i djoU|i| |iddƒƒ|t7}|i|ƒ} |i| |iddƒƒn|i| |tƒdS(NiiR˜i(RRRRR³R.R*R^tasutctthere_and_backRtdstonR˜RÆt nexthour_utct nexthour_tztdstoffRš( RRR*R^RĆRĘRĮRÄRĀRÅ((Rt checkinsidey s$ ) )  cCsa|i|iƒtƒ|i|i|ƒ|ƒ|i|ƒ}|i|ƒ}|i||ƒdS(N( RRRRRÆR.R*R^RĮRĀ(RRR*R^RĮRĀ((Rt checkoutside­ s cCs’|iid|ƒ}|iid|ƒ}xĪtddƒtttddƒtddƒfD]œ}|i |||||ƒx5||||fD]}|i |||||ƒqW|i |||ƒx/||||fD]}|i |||ƒqŚWq[WdS(NR RJi R iRO(RRĆRšR*RĘRtDAYR³RŽRĒR^tduringRČtoutside(RR*R^RĆRĘRĖRŽRŹ((Rtconvert_between_tz_and_utcø s1cCsd|ittƒ|ittƒ|ittƒ|ittƒ|ittƒ|ittƒdS(N(RRĢR“tutc_realR¼tutc_fake(R((Rt test_easyĪ s cCsé|itddƒ}tddddƒ}|id|ƒ}|iidd ƒ} |it ƒiddƒ} |i | | ƒ|iidd dt ƒ}|iidd ƒ} |it ƒiddƒ} |i | | ƒx t tfD]ū} xņt tfD]ä}|itdd ƒ}||idƒ8}|| idƒ} | id| ƒ}xdD]…}|iid|ƒ}x]dD]U} |id| ƒ} |id| ƒ} | i|ƒ}|i |iddƒ| ƒqvW|t7}qTWqłWqęWdS(NRLii÷’’’i<s-0900iR R˜iiiiii;R (iiii(iii;(RRĆRtfourbackR tninewestRšRóR.R“RRōRRĶtsixutcRĪR^R¼R*RĘtfirst_std_hourRRĮt asutcbasettzhourt expectedbaseR tastzR³(RRŌRŠRÓRŅR*RÖR×RŃRóRōRĮR R^RÕ((Rt test_trickyę s8   cCstdtfd„ƒY}|iiƒidtƒ}|i|ƒƒd|fd„ƒY}|i t |i|ƒƒdS(NtokcBstZd„Zd„ZRS(NcCstS(N(R³(RR((RR scCstS(N(R³(RR((RR s(R R RR(((RRŁ s R tnotokcBstZd„ZRS(NcCsdS(N(R(RR((RR$ s(R R R(((RRŚ# s( R RŁRRAR-RšRĶR.RŚR#R¬(RRŁRŚR-((Rttest_bogus_dst s c Cs±|ittiƒtiƒidtƒ}|it ti|ƒ|idtƒ}ti|ƒ}|i |i tƒ|itti||ƒ|ittitiƒƒdtfd„ƒY}|ddddƒ}|iidd dtƒ}|id|ƒ}xĪdD]Ę}|id|ƒ} |d jo| tdd ƒ8} nti|ƒ}|i | |ƒ||i} |i|ƒ}|i | |ƒ|idtƒi|ƒ}|i | |ƒ|t7}|t7}q W|iidd dtƒ}|id|ƒ}xŖdD]¢}|id|ƒ} ti|ƒ}|i | |ƒ||i} |i|ƒ}|i | |ƒ|idtƒi|ƒ}|i | |ƒ|t7}|t7}qWdS(NR tFauxUSTimeZonecBstZd„ZRS(NcCs ||iS(N(RRR«(RR((Rtfromutc3 s(R R RŻ(((RRÜ2 siū’’’tFEasterntFESTtFEDTR˜iiiiiiRKi(iiiiii(iiiiii(RR#RFR“RŻRR RšRĶR-R¬tenowRR RR—RŖRÜRŽRĆRżtfstarttwallRóRRōR«R.R³RĘ( RRÜRāRżRćRįRōR-RŽRó((Rt test_fromutc' sP     ( R R RRĆRĘRARĒRČRĢRĻRŲRŪRä(((RRĄq s 4   3 tOddballscBstZd„ZRS(Ncstiƒ‰tiˆtƒƒ‰|iˆˆjƒ|iˆˆjƒ|iˆˆj ƒ|iˆˆj ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|i t ‡‡d†ƒ|iˆi ˆƒƒˆi d d d }|iˆi ˆid |ƒƒ ƒtˆiˆiˆi ƒ}|iˆ|ƒ|i|ˆƒtˆiˆiˆi d d d ƒ}|iˆ|ƒ|i|ˆƒdS( Ncs ˆˆjS(N(tas_datet as_datetime((RēRę(RREr scs ˆˆjS(N(RēRę((RēRę(RREs scs ˆˆjS(N(RęRē((RēRę(RREt scs ˆˆjS(N(RēRę((RēRę(RREu scs ˆˆjS(N(RęRē((RēRę(RREv scs ˆˆjS(N(RēRę((RēRę(RREw scs ˆˆjS(N(RęRē((RēRę(RREx scs ˆˆjS(N(RēRę((RēRę(RREy siiR–i(RR—RęRR(R³RēRRuR#RFt__eq__R–t different_dayRšR‘R”R•tdate_scRR t datetime_sc(RRēRéRęRźRė((RēRęRttest_bug_1028306i s0 #(R R Rģ(((RRåg sc Cs[g}ttttttttt t t f D]}|t i|dƒq,~}t i|ƒS(Nttest(t_[1]RRRIRŒR“R R4RVRmRĄRåtklasstunittestt makeSuitet allsuitest TestSuite(RīRļRņ((Rt test_suiteŽ sNcCsŻdk}dk}tƒ}d}xµto­ti|ƒPn|i ƒ|i ot d|i ƒ‚nt |dƒo\|i ƒ}|iddIdI|I|o|idI||IJn|iJ|}q$q$WdS(Nis'gc.garbage not empty after test run: %rtgettotalrefcountt*i s total refs:sdelta:(tgctsysRōtthesuiteRtlastrcRkt test_supportt run_suitetcollecttgarbaget SystemErrorRŸRõtthisrctstderr(RłRRųRśR÷((Rt test_mainŸ s&       t__main__(8t__doc__RųRtcPickleRšRķRūRRRRR R³RRīR6R7RØR8R5RitTestCaseRR RRR@RIRŒR‘R“R R R3R4R9RVRmR©RÆR³RÉR°R±RŖR“R¶R¹R¼RĶRĪRĄRåRōRR (3RūR¹RĪRŖRšRRR©RR6R5RRmR³R8RÉR7R°RR4RVRR±R R3RiRR¶RR9R@RųRÆRĄR RåRRĶRRŒR“R¼R RīRōR RIR³R“RR‘((Rt?sn        V A'’8!’’4’ė’ ų’’b  *ö'