w+ldZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZmZmZmZmZmZmZmZmZddlmZddlmZmZmZmZddl Z!ddl m"Z"m#Z#ddl m$Z$dd l m%Z%dd l m&Z&dd l m'Z'dd l m(Z(dd l m)Z)m Z ddl&Z* ddl+Z+n #e,$rdZ+YnwxYwddl-Z-e j.e j/hZ0de1e j2dzDZ3e4e3e j2dzksJdddigdfZ5e6dZ7e6dZ8Gdde j9Z:Gdde%Z;Gdde;Z<Gdde<Z=Gdde%Z>Gd d!e j9Z?Gd"d#e j9Z@Gd$d%ZAGd&d'eAe j9ZBGd(d)e j9ZCGd*d+e)ZDGd,d-eAe j9ZEGd.d/e ZFGd0d1eEZGGd2d3eGZHGd4d5e&ZIGd6d7eAe j9ZJGd8d9ZKGd:d;eJeKe j9ZLGd<d=eGeKe j9ZMd>ZNe$dZOe$d?ZPe$d@ZQe$dAZRe ddBddCZSe dddDdZTGdEdFe%ZUeUdGdHdIdJZVeUdKdLdMdNZWeUdOdPdQdRZXeUdSdTdUdVZYe;ddWdZZe;dXdYdZ[GdZd[e j9Z\Gd\d]e j9Z]Gd^d_e%Z^Gd`dae^Z_e_dGdbdIdJZ`e_dKdcdMdNZae_dOdddQdRZbe_dSdedUdVZcGdfdge%ZdGdhdie j9Zee$ddZfdjZgGdkdle%ZhGdmdne j9ZiGdodpe jjZkGdqdreiZle jme+dudsGdtdue j9ZndvZoepdwkre jqdSdS)xzUTest date/time type. See https://www.zope.dev/Members/fdrake/DateTimeWiki/TestCases N)array) ltlegtgeeqnetruedivfloordivmod)support)is_resource_enabled ALWAYS_EQLARGESTSMALLEST)MINYEARMAXYEAR timedeltatzinfo)timetimezone)UTC)datedatetimec,g|]}tt|fS)pickle).0protos :/opt/alt/python311/lib64/python3.11/test/datetimetester.py r$/s5CCC65)CCC g@A@abcrinfnanc,eZdZdZdZdZdZdZdS) TestModulect}||jd||jddS)Nr&')datetime_module assertEqualrr)selfrs r#test_constantszTestModule.test_constantsBs?" )1--- )400000r%cP|ttjdSN)assertIsrrutcr1s r#test_utc_aliaszTestModule.test_utc_aliasGs c8<(((((r%cxtt}tjD]}|||dS)z2Test that __all__ only points to valid attributes.N)dirr/__all__assertIn)r1 all_attrsattrs r#test_allzTestModule.test_allJsB(( #+ + +D MM$ * * * * + +r%cd|jjvr|dt}t dt |D}t gd}|||z t gdS)N_Purez"Only run for Fast C implementationc3nK|]0}|d|d,|V1dS)__N) startswithendswith)r!names r# z/TestModule.test_name_cleanup..UsdNNT??400N9=t9L9LNDNNNNNNr%) rrrr datetime_CAPIrrrrrsys) __class____name__skipTestr/setr:r0)r1rnamesalloweds r#test_name_cleanupzTestModule.test_name_cleanupPs dn- - - MM> ? ? ?"NNS]]NNNNN///00 #b''22222r%cd|jjvr|dtj}||ddd||ddd||ddd ||d dd||ddd||d dd ||d d d ||dd d||d d d||dd d ||dd d ||dd d||dd d||dd d dS)N_Fastz'Only run for Pure Python implementationr')rJrKrLr/_divide_and_roundr0)r1dars r#test_divide_and_roundz TestModule.test_divide_and_round\s dn- - - MMC D D D/ S"q))) QR((( QA&&& RR((( QR((( Ra((( RQ''' S!b))) Rb))) S"q))) QA&&& RR((( QR((( Ra(((((r%N)rK __module__ __qualname__r2r8r?rPrarr%r#r,r,@s_111 )))+++ 3 3 3)))))r%r,c.eZdZddZdZdZdZdZdS) FixedOffset*ct|trt|}t|trt|}||_||_||_dSNminutes) isinstanceintr_FixedOffset__offset_FixedOffset__name_FixedOffset__dstoffsetr1offsetrF dstoffsets r#__init__zFixedOffset.__init__}sb fc " " /v...F i % % 5!)444I  $r%c4|jSr4)rnlowerr7s r#__repr__zFixedOffset.__repr__s{  """r%c|jSr4)rmr1dts r# utcoffsetzFixedOffset.utcoffset }r%c|jSr4)rnrxs r#tznamezFixedOffset.tznames {r%c|jSr4)rorxs r#dstzFixedOffset.dsts r%Nrf)rKrbrcrsrvrzr}rrr%r#rere{sd%%%%###     r%receZdZddZdS)PicklableFixedOffsetNc@t||||dSr4)rersrps r#rszPicklableFixedOffset.__init__s"T64;;;;;r%)NNNrKrbrcrsrr%r#rrs(<<<<<.NotEnoughc"||_||_dSr4)_NotEnough__offset_NotEnough__name)r1rqrFs r#rszBTestTZInfo.test_subclass_must_override..NotEnough.__init__s & " r%Nrrr%r# NotEnoughrs# # # # # #r%rrUNotByALongShot) r assertTrue issubclassassertIsInstancernowrrr}rzr)r1rr rys r#test_subclass_must_overridez&TestTZInfo.test_subclass_must_overrides # # # # # # # #  9f55666 Yq* + + b&))) \^^ -ry"=== -r|R@@@ -rvr:::::r%ctdd}||ttjdfD]}|||td|||d|| |tddS)NrUThreerirf) rerrrrr0rzrr}r)r1forys r# test_normalzTestTZInfo.test_normals G $ $ b&))),..$& @ @B   R\\"--y/C/C/C D D D   RYYr]]G 4 4 4   RVVBZZ2)>)>)> ? ? ? ? @ @r%cJtjt}|t|ttD]Y\}}}|||}||}|t|tZdSr4)r__new__r5typepickle_choicesdumpsloads)r1origpickler unpicklerr"greenderiveds r#test_pickling_basezTestTZInfo.test_pickling_bases~f%% d4jj&))))7 1 1 %GYMM$..Eooe,,G MM$w-- 0 0 0 0 1 1r%ctd}t|dfft|dfft|fft|dfffD]\}}||}|d}||t |t||| | d|| |d|tD]\}}}| ||} | | } || t |t| || | d|| | d||t| ddS)NricookieESTr)rrrrr}rrr5rr0rzrrr assertFalsehasattr) r1rqotypeargsronamerrr"rrs r#test_pickling_subclassz!TestTZInfo.test_pickling_subclasss4((( !FH#5 6 *VX,> ? y !  ' ) ; ;KE4 5$.UKSummerTimez~Simple time zone which pretends to always be in summer time, since that's what shows the failure. cSr4r)r1ry DSTOFFSETs r#rzz:TestTZInfo.test_issue23600..UKSummerTime.utcoffsets   r%cSr4r)r1ryDSTDIFFs r#rz4TestTZInfo.test_issue23600..UKSummerTime.dstsr%cdS)N UKSummerTimerrxs r#r}z7TestTZInfo.test_issue23600..UKSummerTime.tznames%~r%N)rKrbrc__doc__rzrr})rrsr#rrs`   ! ! ! ! !      & & & & &r%rrr[ r)rrrfromutcr0rz)r1rtzutrrs @@r#test_issue23600zTestTZInfo.test_issue23600s'a0000) & & & & & & & &6 & & &\^^ T1b"a 3 3 3 JJqMM Q[[]]*A.....r%N) rKrbrcrrrrrrrrr%r#rrs @@@ ; ; ;@@@ 1 1 1;;;./////r%rcteZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdS) TestTimeZonecttdd|_ttd d|_t ddd|_dS)N#@rACDTrVrr&)rrrrrDTr7s r#setUpzTestTimeZone.setUpsTYS1116:: YQ////774A&&r%c|j|jtjtjtjfD]8}|t||d9dSr4) rrrr6minrr0strr}r1rs r#test_strzTestTimeZone.test_strs\9dh </ 7 7B   SWWbiioo 6 6 6 6 7 7r%ct}|j|jtjtjtjfD]4}t|}||t|5dSr4) r/rrrr6rrreprr0eval)r1rrtzreps r# test_reprzTestTimeZone.test_reprsd"9dh </ . .BHHE   Re - - - -  . .r%cftdd}|tjdt |tjd| |tjd|dS)N;rrj)rr0rr6rzZEROrr)r1limits r#test_class_memberszTestTimeZone.test_class_memberssB/// //55t<<< //55v>>> //55u=====r%c|tjttd|tjttdd|tjttddtdtdfD]K}t|}||dtdzdLtddtdfD]E}|tt||tt| F|t5tddddn #1swxYwY|t5tddddn #1swxYwY|t5ttddddn #1swxYwY|t5ttddddn #1swxYwY|t5ttdd ddddS#1swxYwYdS) Nrrr& microsecondssecondsrirfABCextra) r5rr6r assertIsNotr0assertNotEqualrzr ValueErrorrr)r1 subminuterinvalids r#test_constructorzTestTimeZone.test_constructors hlHYq\\$:$:;;; x ! e'D'DEEE x ! e'D'DEEE#333Yq5I5I5IJ N NI)$$B    T 2 2Yq5I5I5I I1 M M M M!!Q16 > >G   j(G < < <   j(WH = = = =   y ) )998D>>>999999999999999   y ) )778B<<<777777777777777   y ) )??8D$+?+?+????????????????   y ) )==8D"+=+=+================   y ) )II8D%+I+I+IIIIIIIIIIIIIIIIIIIsZF88F<?F<G99G=G=III%JJ J ,KKKc|tjt||jtdSr4)rrr6rrr7s r#test_inheritancezTestTimeZone.test_inheritance's8 hlF333 dh/////r%c@|j}dD]z}|tz}||t|||| t| |{|t 5|jddddn #1swxYwY|t 5|jdddddS#1swxYwYdS)N)rg?rrV)rHOURr0rrzrrr)r1dummyhrqs r#test_utcoffsetzTestTimeZone.test_utcoffset+sC J JAXF   VXf%5%5%?%?%F%F G G G   fWhw&7&7&A&A%&H&H I I I I   y ) )AA48+=+=b+A+A+AAAAAAAAAAAAAAAA   y ) )@@48+=+=a+@+@+@@@@@@@@@@@@@@@@@@@s$CC  C +DDDc|tj|j|t 5|jddddn #1swxYwY|t 5|jdddddS#1swxYwYdS)NrrV) assertIsNonerr6rrrrrr7s r#test_dstzTestTimeZone.test_dst6s (,**4733444   y ) );;48<<+;+;+;;;;;;;;;;;;;;;;   y ) )::48<<???::::::::::::::::::s$A99A=A=CC  C c |dtjd|dt jd|dtt d|dtdt zd|dtdt zd|dttdd|d tdt zd d|d tt d d|d ttd d d|dttd d  d|dttd d dd|dttd d d d|t5|j ddddn #1swxYwY|t5|j dddddS#1swxYwYdS)Nrz UTC-05:00z UTC+09:30rz UTC-00:01riXYZz UTC+01:06:40rz UTC-01:06:40zUTC+01:06:40.000001r&zUTC-01:06:40.000001rrV) r0rr6r}rrrrrrrr7s r# test_tznamezTestTimeZone.test_tzname<s,  3 3D 9 9:::  4 0 0111  5 5d ; ;<<< hrDy&9&9&@&@&F&FGGG hsTz&:&:&A&A$&G&GHHH hy/D/D/D&E&E&L<&R&RSSS dE : : A A$ G GHHH 8D(#;#;#B#B4#H#HIII )At2D2D)E)E)L)LT)R)RSSS !9Q#5#5"566==dCC E E E .!)AtQ"7"788??EE G G G .!9Qa#8#8"899@@FF H H H  y ) )>>48??2+>+>+>>>>>>>>>>>>>>>>   y ) )==48??1+=+=+===================s$L''L+.L+ M44M8;M8c|t5tj|jdddn #1swxYwY|t 5tjddddn #1swxYwY|j|jtfD]}|j |}||}| ||z | || ||j tjdS)Nz not datetimer) rrrr6rrrrrEasternreplacer0rz)r1rutctimelocals r# test_fromutczTestTimeZone.test_fromutcSs   z * * * * L  ) ) ) * * * * * * * * * * * * * * *   y ) ) 1 1 L  0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18TY0 C CBgooRo00GJJw''E   UW_bll5.A.A B B B   U!W__HL_AA C C C C  C Cs#%A  AA1 BB!$B!c|tttt|tttt|tdtztdtzd|t 5ttttkdddn #1swxYwY|tttth|ttdk| ttdktt}||tk| |tk||tk| |tk||tk| |tk| |tk||tk| |tk||tkdS)Nr r) rrrrr0rrr<rrrrrrs r#test_comparisonzTestTimeZone.test_comparison_s) HTNNHTNN;;; $$888 "t),,hrDy%.H.HIII   y ) )JJ8D>>HTNN+J+JJJJJJJJJJJJJJJJ htnnx~~&6777 $./// $4/000 d^^ i((( y))) W %%% g&&& g &&& w''' h''' X &&& x((( h'''''s+DD D cNtddd}tjtjtjfD]}|||||||||||| ||| dS)Nr&r) rrrrr6r0r}rrzrr1rrs r#test_aware_datetimez TestTimeZone.test_aware_datetimets Q1  <x|< 9 9B   RYYq\\YYbY1188:: < < <   R\\!__YYbY11;;== ? ? ?   RVVAYYYYbY115577 9 9 9 9  9 9r%c|j|jtjtjfD]O}t D]E\}}}||||}|||FPtj }t D]E\}}}||||}| ||FdSr4) rrrrrrrrr0r6r5)r1rrrr"tz_copys r# test_picklezTestTimeZone.test_pickles)TXx|X\A . .B-; . .)E#//'--E*B*BCC  "---- .\)7 ' ' %GYoogmmB&>&>??G MM'2 & & & & ' 'r%c|j|jtjtjfD],}t j|}|||-tj}t j|}|||dSr4) rrrrrcopyr0r6r5r1rrs r# test_copyzTestTimeZone.test_copysv)TXx|X\A * *BimmG   Wb ) ) ) ) \)B-- gr"""""r%c|j|jtjtjfD],}t j|}|||-tj}t j|}| ||dSr4) rrrrrr deepcopyr0r6r5r!s r# test_deepcopyzTestTimeZone.test_deepcopysz)TXx|X\A * *BmB''G   Wb ) ) ) ) \-## gr"""""r%ctddtdddtddddg}|d|D|D]@}|d| 5t|dddn #1swxYwYAtd td d g}|d|D|D]r}|d| 5|t 5t|dddn #1swxYwYdddn #1swxYwYsdS)Nrrrrrjr?Brrjrrcg|]}| Srrr!deltas r#r$z7TestTimeZone.test_offset_boundaries..s<<.sDDD5DDDr%bad)rextendsubTestrrr)r1 time_deltasr,bad_time_deltass r#test_offset_boundariesz#TestTimeZone.test_offset_boundariess1 B + + + BB 7 7 7 BBV L L L << <<<===   Ee<<                 B    BQ / / /  DDODDDEEE$ $ $EU;; $ $&&z22$$UOOO$$$$$$$$$$$$$$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $sH0B  B B 3ED* E*D. .E1D. 2EE E c|tjt|tt dtdS)Nr&r)rrr6rrr7s r#test_comparison_with_tzinfoz(TestTimeZone.test_comparison_with_tzinfosS HL&((333 HYQ%7%7%788&((CCCCCr%N)rKrbrcrrrrrrrr rrrrrr"r%r6r8rr%r#rrs!''' 777 ...>>> JJJ$000AAA;;; >>>. C C C(((* 9 9 9'''######$$$2DDDDDr%rceZdZdZdZdS)HarmlessMixedComparisonc|ddd}||dk||dk|d|k|d|k||ddg|g|g|ddgg||tk||tk||t k||t k||t k||t k||t k||t k||t k||t kdS)Nr&r)theclassrrr<rrrr1mes r#test_harmless_mixed_comparisonz6HarmlessMixedComparison.test_harmless_mixed_comparisons ]]1a # # r""" b!!! r""" b!!! b1b"b/*** b2q"b/*** i((( y))) W %%% g&&& g &&& w''' h''' X &&& x((( h'''''r%c|ddd|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfd dS) Nr&cdkSNrrr?sr#zGHarmlessMixedComparison.test_harmful_mixed_comparison.. R"Wr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison.. R2Xr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison..rFr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison..rHr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison..rFr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison..rHr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison..rFr%cdkSrCrrDsr#rEzGHarmlessMixedComparison.test_harmful_mixed_comparison..rHr%)r=rrr>s @r#test_harmful_mixed_comparisonz5HarmlessMixedComparison.test_harmful_mixed_comparisons ]]1a # # )____555 )%5%5%5%5666 )____555 )%5%5%5%5666 )____555 )%5%5%5%5666 )____555 )%5%5%5%566666r%N)rKrbrcr@rOrr%r#r:r:s2 (((: 7 7 7 7 7r%r:ceZdZeZdZdZdZej dZ dZ dZ dZ dZd Zd Zd Zd Zd ZdZdZej dZdZdZdZdZdZdZdZdZdZdZ dZ!dS) TestTimeDeltac *|j}t}|||ddddddd||d|d||dd|d||ddd|d||d|d||d|d ||d |d ||d |d ||d|d ||d|d ||d|d||d|d ||d |d ||d |d||d|d||d|ddS)Nr)weeksdaysrrjr millisecondsrr&rTrrrSrXr/r<rirUg$I$I?gUUUUUU?g?gMbP?)r0r)r1rtds r#rzTestTimeDelta.test_constructors    2244!!1a!"444 5 5 5 22a55""!*** 22a88RR]]]### 22aA;;***+++ 22A;;; ### 221:::rr|||$$$ 22A;;;2''' 22a===""R...))) 22a===""$///000 221   rrt444555 22E???BBAJJJ''' 226???BBQKKK((( 22F   RR]]]+++ 22f   rr!}}}--- 22e   bba000111 225 ! ! !221#5#5#566666r%c |j}t}|d}|dd}|ddd}|||z|z|ddd|||z |dd||||dd|| |d|| |d|| |dd|| |dd d |t|||t| |||dd |||ddd |||d z|d||d zd |z||d zd |z||d z|dd|d |z|dd||d z|dd||d z|ddd|d |z|ddd||d z|ddd||dz| ||dz| |z ||dz| | z||dz|dzdz||dzd|zdz||dz|dd|d|z|dd||dz|d||d z|dd||dz|ddd||d z|dd||dz|ddd||dz |d||dz |dd||dz |d||d z |dd||dz |ddd||d z |dd||dz |ddd|d}|d|zdzd|z|d|zdzd|z|dd|zzd|z|dd|zzd|z|d|zdzd|z|d |zdzd|z||d!d"z|d#||d!d$z|d%|d|zdz d|z|d|zdz d|z|d|zd&z d|z|d |zd&z d|z|d|zdz d|z|d|zdz d|z|d|zd'z d|z|d|zd'z d|zt d(d D]'}|||zdz |zt |dz (t d(d D]'}|||zdz |zt |dz (||d!d)z |d%||d*d d+|d*d d,z |ddd||d*dd|d*ddz |ddddS)-NrXrrXrYr]iDQrZr QX>Qir'FiX'rWr/r&i@i6i@?xrrUrYrVrTr r翶~Ϛ?@g6+1?iS g@grSg`""K?-?ɚ;r(>B)r0r__rsub__absrangeround)r1rr[abcusis r#test_computationszTestTimeDelta.test_computations sC    BqEE Bq"II Bq!TNN 1Q3q5""QD//""" 1Q31l##$$$ 1::a==""Q --... A2rr"vv A2rr!uu  A2rr"l##$$$ A2rr"k6**+++ 3q661  3r77A 22a>>1 22aJ  ### 1R4B 1R4A 1R4A 1R4As 2a4As 1R4As 1R4Aq%!!! 2a4Aq%!!! 1R4Aq%!!! 1R4!  1R4!A 1R4!QB 1e9qtRi    1e9r!tRi    1T622a88 4622a88 1a4A 1b5""Q(( 1d7BBq!QKK    1b5""Q//""" 1g:rr!Q **+++ 1S5""R&& 1S5""Q** 1Q31 1R4Aq 1T622aA;; 1R4Ax!!! 1W9bbAy))***RQ    AbDC<2 AbDC<2 3!B$<2 3!B$<2 BrES="R%    BrES="R%    22a===8 #RRV%<%<%<=== 22a===9 $bbf&=&=&=>>> AbDA:qt AbDA:qt BrES="R%    BrES="R%    AbDB;2 AbDB;2 AbDD="R%    AbDD="R%   sB ) )A B"Q|U1Q3ZZ ( ( ( (sB + +A B"R"}eAbDkk * * * * 22a===M *BBF,C,C,CDDD 22i ' '""Yv*F*F F 2aA;;    22iA  Iq!!4!4 4 2aA;;     r%cbtddD]~|tfd|tfd|tfd|tfdd|tfd|tfd |tfd |tfd |tfd dS) Nrfr&?czSr4rrnrrsr#rEz.d 1r%cz Sr4rrxsr#rEz.eryr%czSr4rrxsr#rEz.fryr%cz Sr4rrxsr#rEz.gryr%rczSr4rrnzerosr#rEz.ls TQYr%czSr4rr~sr#rEz.ms Q$Yr%cz Sr4rr~sr#rEz.ns QXr%cdz S)Nrrnsr#rEz.os QWr%cdz S)Nrrrsr#rEz.ps QVr%)rrrZeroDivisionError)r1rnrrrs @@@r#test_disallowed_computationsz*TestTimeDelta.test_disallowed_computations_sM bMM 6 6A   i 5 5 5   i 5 5 5   i 5 5 5   i 5 5 5 5 )%6%6%6%6%6777 +->->->->->??? +-=-=-=-=-=>>> +____=== )^^^^44444r%ctd}|t|jt|t|jtdS)Nrf)rrr__mul__NAN __truediv__)r1rns r#test_disallowed_specialz%TestTimeDelta.test_disallowed_specialrsG bMM *ai555 *amS99999r%cd\}}}t|||}||j|||j|||j|dS)N)r&rXrr0rTrr)r1rTrrqr[s r#test_basic_attributesz#TestTimeDelta.test_basic_attributesxsm$gr tWb ) ) $''' W--- "-----r%ctd}||ddD]:}t|}|||;dD]K}t|}|||tdz LdS) NmrVg8~A)g ˟ $@g ˟ $rfrg.Ar)r rWirr&)rr0 total_seconds)r1r[rmss r#test_total_secondsz TestTimeDelta.test_total_secondss C  ))++Z888N @ @M=111B   R--// ? ? ? ?! L LB+++B   R--//i6J6J6J1J K K K K L Lr%c|tdddddd}td }|||dS) NdrZ8rTrgArTrSrrjrrr&r)rr0r1t1t2s r# test_carrieszTestTimeDelta.test_carriessU C)!!$9 ;;; A & & & R     r%ctdddddd}t}|t|t||td z }|td z }||||t|t||d i}d ||<|t|d |||d dS)NrrZrrTriz rrXrW1rVr&rY)rr0hashlen)r1rrds r#test_hash_equalityz TestTimeDelta.test_hash_equalitys C)!!$9 ;;; [[ b488,,, ia     iS!!!! R    b488,,, G" Q### 2"""""r%cd}t|}tD]G\}}}|||}||}|||HdS)N)r"8)rrrrr0r1rrrrr"rrs r# test_picklingzTestTimeDelta.test_picklingsn$)7 , , %GYMM$..Eooe,,G   T7 + + + + , ,r%ctdddtddd}||||k||k||k||k||kdD]8}t|}||k||k||k||k||k||k||k||k||k||k||k||k:tD]c|kd|kd|kd|kd|t fd|t fd|t fd |t fd |t fd |t fd |t fd |t fdedS)NrYrUr[)rUrUrU)rYr[r[)rYrUrVFTckSr4rbadargrsr#rEz,TestTimeDelta.test_compare.. vr%ckSr4rrsr#rEz,TestTimeDelta.test_compare.. fr%ckSr4rrsr#rEz,TestTimeDelta.test_compare..rr%ckSr4rrsr#rEz,TestTimeDelta.test_compare..rr%ckSr4rrsr#rEz,TestTimeDelta.test_compare.. 2r%ckSr4rrsr#rEz,TestTimeDelta.test_compare.. "r%ckSr4rrsr#rEz,TestTimeDelta.test_compare..rr%ckSr4rrsr#rEz,TestTimeDelta.test_compare..rr%)rr0rr OTHERSTUFFrrr1rrrrs @@r# test_comparezTestTimeDelta.test_compares| q!Q   q!Q   R    b!!! b!!! r""" b!!! b!!!3 ' 'DD!B OOBG $ $ $ OOBG $ $ $ OOB"H % % % OOB"H % % % OOB"H % % % OOB"H % % %   R2X & & &   R2X & & &   R"W % % %   R"W % % %   R2X & & &   R2X & & & & ? ?F   R6\5 1 1 1   R6\4 0 0 0   Vr\5 1 1 1   Vr\4 0 0 0   i)=)=)=)=)= > > >   i)<)<)<)<)< = = =   i)<)<)<)<)< = = =   i)=)=)=)=)= > > >   i)=)=)=)=)= > > >   i)<)<)<)<)< = = =   i)<)<)<)<)< = = =   i)=)=)=)=)= > > > > ? ?r%c t}|j}|t|dd|t|dd|t|dd|t|dd|t|d d d d |t|ddd d|t|ddd dd|t|dd|t|dd|t|ddd d dddS)Nr&z1 day, 0:00:00r z-1 day, 0:00:00rYz2 days, 0:00:00rWz-2 days, 0:00:00r:rr'z12:58:59rUr[z2:03:04irr)rSrrjrz-210 days, 23:12:34rZz0:00:00.001000rz0:00:00.000003rhr(rTrrjrrz999999999 days, 23:59:59.999999)rr0r)r1r[rs r#rzTestTimeDelta.test_strs    3rr!uu::'((( 3rr"vv;;)*** 3rr!uu::())) 3rr"vv;;*+++ 3rrB333 4 4jAAA 3rr1a000 1 19=== 3rr2r2>>> ? ?  " " " 3rrq!!! " "$4555 3rrq!!! " "$4555 3rryB &((( ) ) , . . . . .r%c d|jjz}|t|dd|z|t|ddd|z|t|dddd |z|t|d d |z|t|d |z|t|dd|z|t|ddd|z|t|ddd|zdS)N datetime.r&z %s(days=1)r'rYz%s(days=10, seconds=2)rSz,%s(days=-10, seconds=2, microseconds=400000)rXrz%s(seconds=60)z%s(0)rrz%s(microseconds=100))rTrz%s(days=1, microseconds=100))rrz%s(seconds=1, microseconds=100)r=rKr0rr1rFs r#rzTestTimeDelta.test_reprsT]33 dmmA..//%, . . . dmmB22331D8 : : : dmmCF;;<<G$N P P P dmmBm7788)D0 2 2 2 dmmoo.. 4 ) ) ) dmmm==>>/$6 8 8 8 dmmmEEFF7$> @ @ @ dmmACmHHII:TA C C C C Cr%ctdddddtdtdd tdd d fD]}t|}||d |dd}t |}|||t|j|j|j}|||dS)Nrhrrr(r6erVr&rTrrYrUrTrrr ) rrrrDrr0rTrr)r1r[std2s r#test_roundtripzTestTimeDelta.test_roundtrips)2r%'f>>>*---*a888!QQ??? A & &BRA OOALL55 6 6 6!""Aq''C   R % % %BGRZAAC   R % % % % & &r%cT|tjt|tjt|tjt|tjtjk|tjtd|tjtddd|tjtddddS)Nrrhr]g~.Arr&)rrrr resolutionrr0r7s r#test_resolution_infoz"TestTimeDelta.test_resolution_infos imY777 imY777 i2I>>>  5666  *(=(=>>>  )Y(N(NOOO -yAq/A/ABBBBBr%ctj}tj|z}||z}|t|j||t|j| tj|z }||z }|t|j||t|j| |tdtd}|t|jd|t|jd|t|j d|t|j d|t|j ddS)Nctj Sr4)rrrr%r#rEz-TestTimeDelta.test_overflow..)s )-r%r&ʚ;geAg#B ;g|=gr{>) rrrr OverflowError__sub____add__rrr)r1tinyr[days r# test_overflowzTestTimeDelta.test_overflowsM# ]T ! d  -T::: -dU;;; ]T ! d  -T::: -dU;;; -)?)?@@@ll -e<<< -c::: -%@@@ -%@@@ -%@@@@@r%ctd}|t|jt|t|jt dSNr&)rrrrINF)r1rs r#_test_overflow_specialz$TestTimeDelta._test_overflow_special2sIll -c::: -sd;;;;;r%czt}|j}||d|d||d|d||d|d||d|d||d|d ||d |d ||d |d ||d|d||d|d||d|d||d|d||d|dd}|dz}||d|z |d||d|z |d||d|z d|z |d ||d|z |d||d|z |d||d|z d|z |d ||d d |d!z||d |jzd |jz|jzdS)"Ng-C6:?rZrg-C6:gMb@?rgMb@ga2U0*C?r&ga2U0*Cr g~jtX?rYg~jtXrWgƠ>rgƠ?i|tAr/g?rVg?rrTrgٿgɿrcrv)rr0r)r1r[r us_per_hour us_per_days r#test_microsecond_roundingz'TestTimeDelta.test_microsecond_rounding8s    228 $ $ $bbee,,, 229 % % %rr!uu--- 228 $ $ $bba&8&8&8999 229 % % %rrr':':':;;; 228 $ $ $bba&8&8&8999 229 % % %rrr':':':;;; 228 $ $ $bba&8&8&8999 229 % % %rrr':':':;;; 22i ""!"4"4"4555 22j ! ! !222#6#6#6777 22f   rrt444555 22g    6 6 6777  2%  222j= ! ! !22a55))) 22B{N # # #RRUU+++ 222j=; 7 7 79K9K9KLLL 223z> " " "BBqEE*** 22C O $ $ $bbee,,, 223z>[ 9 9 9222;N;N;NOOO 223   RRS%9%9%9!9::: 223    .BM0A2=0PQQQQQr%cvtd}||j|j|jfddS)Nr r)r r]r(r)r1r[s r#test_massive_normalizationz(TestTimeDelta.test_massive_normalizationYsF B ' ' ' "'2:r?0 2 2 2 2 2r%cb|td|tdd|tddd|td|tddS)Nr&rr)rrrr7s r# test_boolzTestTimeDelta.test_bool^s  ! %%%  !Q(((  !Q**+++  q111222 1&&&&&r%cGfddtd}|t|||ddd}|t|||d ||z}|t|t|}|t|||j|j||j|j||j|j|t|t|||ddS) Nc0eZdZefdZdZdS)0TestTimeDelta.test_subclass_timedelta..Tc<|j|j|jSr4r)r[Ts r#from_tdz8TestTimeDelta.test_subclass_timedelta..T.from_tdhsq"*bo>>>r%c`|jdz|jdz z|jdz z}t|S)Nr/g @r)rTrrrm)r1sums r#as_hoursz9TestTimeDelta.test_subclass_timedelta..T.as_hoursls:y2~|f,-(612Szz!r%N)rKrbrc staticmethodrr)rsr#rrgsG  ? ? ? ?\ ? " " " " "r%rr&rVr/r iri) rr5rr0rrrTrrr)r1rrt3t4rs @r#test_subclass_timedeltaz%TestTimeDelta.test_subclass_timedeltaes " " " " " " " " " "QAYYY d2hh""" +++ QB & & & d2hh""" ,,, "W d2hh *** YYr]] d2hh""" "'*** RZ000 "/::: R#b''*** +++++r%c Gddt}|ddd}td}dd|ddd fd d |ddd fd d |dddfg}|D]k\}}}||5|||}||||||dddn #1swxYwYldS)NceZdZdS)6TestTimeDelta.test_subclass_date..DateSubclassNrKrbrcrr%r# DateSubclassr Dr%rr&rVrVaddc ||zSr4rrrs r#rEz2TestTimeDelta.test_subclass_date.. Qr%r]raddc ||zSr4rrs r#rEz2TestTimeDelta.test_subclass_date.. !a%r%subc ||z Sr4rrs r#rEz2TestTimeDelta.test_subclass_date..rr%r[)rrr3r0r) r1rd1r[testsrFfuncexpectedacts r#test_subclass_datez TestTimeDelta.test_subclass_datess     4   \$1 % % A   && T1a(@(@ A ''dAq)A)A B && T1a(@(@ A  %* 9 9 D$d## 9 9d2rll  h///%%c<888 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s9CC C c Gddt}|ddddd}tdd}d d |ddd d fd d|ddd d fdd|ddddfg}|D]k\}}}||5|||}||||||dddn #1swxYwYldS)NceZdZdS)>TestTimeDelta.test_subclass_datetime..DateTimeSubclassNrrr%r#DateTimeSubclassrrr%rrr&rVr)rTrjrc ||zSr4rrs r#rEz6TestTimeDelta.test_subclass_datetime..rr%r] rc ||zSr4rrs r#rEz6TestTimeDelta.test_subclass_datetime..rr%rc ||z Sr4rrs r#rEz6TestTimeDelta.test_subclass_datetime..rr%r[)rrr3r0r) r1rrr[rrFrr r s r#test_subclass_datetimez$TestTimeDelta.test_subclass_datetimes     x    dAq"b 1 1 Ar * * *&&(8(8q!R(H(H I '')9)9$1b)I)I J &&(8(8q!R(H(H I  %* = = D$d## = =d2rll  h///%%c+;<<< = = = = = = = = = = = = = = = = =s9C  C C ctddd}td}|||z d|||zdtdd }td }|||z d |||zdtd }|tt|||tt ||dS)Nr&r/r'rgó@irYrrjrrig@r)rr0rrr r )r1rsecondminutezerotds r# test_divisionzTestTimeDelta.test_divisions Ar2 6 6 61%%% VV,,, fd+++ a , , ,1%%% VS))) fa(((1 +Wa@@@ +Xq&AAAAAr%ctdd}td}||z}||tdtdd}||z}||tdtd}|tt|||t t|d dS NrYrrr&rirrWrr')rr0rrr r)r1rrrrs r#test_remainderzTestTimeDelta.test_remainders a , , ,1%%% J Ib111222 b" - - - K Ib1112221 +S!V<<< )S!R00000r%cDtdd}td}t||\}}||d||tdtdd}t||\}}||d||tdtd}|tt|||t t|d dSr)rdivmodr0rrr)r1rrqrrs r# test_divmodzTestTimeDelta.test_divmods a , , ,1%%%a  1 A Ib111222 b" - - -a  1 B Ib1112221 +VQ??? )VQ33333r%cd}|t5t|ddzz dddn #1swxYwY|t5t|ddzzdddn #1swxYwYdD]}|t5t||z dddn #1swxYwY|t5t||zdddn #1swxYwYdS)NcBGfddt}|S)NceZdZfdZdS)FTestTimeDelta.test_issue31293..get_bad_float..BadFloatcSr4r)r1 bad_ratios r#as_integer_ratiozWTestTimeDelta.test_issue31293..get_bad_float..BadFloat.as_integer_ratios $$r%N)rKrbrcr+)r*sr#BadFloatr(s.%%%%%%%r%r,)float)r*r,s` r# get_bad_floatz4TestTimeDelta.test_issue31293..get_bad_floatsE % % % % % % %5 % % %8:: r%r&rY)rrr&rYrU)rrrr)r1r.r*s r#test_issue31293zTestTimeDelta.test_issue31293s?      y ) ) 3 3 KK--T 22 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3   y ) ) 3 3 KK--T 22 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 31 7 7I"":.. 7 7 mmI6666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7"":.. 7 7 mmI6666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sGAA A -BBBC''C+ .C+ D33D7 :D7 cGfddt}GfddGfddtdD]G|5 t|d  n#t$rYnwxYw t|d  n#t$rYnwxYw t|d  n#ttf$rYnwxYw td |d zn#ttf$rYnwxYw |d td zn#t$rYnwxYw td |d zn#t$rYnwxYwdddn #1swxYwYIdS) Nc8eZdZfdZfdZfdZfdZdS)-TestTimeDelta.test_issue31752..BadIntcSr4rr1otherProds r#rz5TestTimeDelta.test_issue31752..BadInt.__mul__tvv r%cSr4rr5s r#__rmul__z6TestTimeDelta.test_issue31752..BadInt.__rmul__r8r%cSr4rr5s r# __floordiv__z:TestTimeDelta.test_issue31752..BadInt.__floordiv__r8r%cSr4rr5s r# __rfloordiv__z;TestTimeDelta.test_issue31752..BadInt.__rfloordiv__r8r%N)rKrbrcrr:r<r>)r7sr#BadIntr3sy                      r%r?c$eZdZfdZfdZdS)+TestTimeDelta.test_issue31752..ProdcSr4rr1r6Sums r#rz3TestTimeDelta.test_issue31752..Prod.__add__suu r%cSr4rrCs r#__radd__z4TestTimeDelta.test_issue31752..Prod.__radd__rEr%N)rKrbrcrrG)rDsr#r7rAsG            r%r7ceZdZfdZdS)*TestTimeDelta.test_issue31752..SumcSr4r)r1r6 divmodresults r# __divmod__z5TestTimeDelta.test_issue31752..Sum.__divmod__s ##r%N)rKrbrcrLrKsr#rDrIs. $ $ $ $ $ $ $r%rD)Nr)rr&rY)rr rMr&rrrW)rlr3rrr)r1r?r7rDrKs @@@r#test_issue31752zTestTimeDelta.test_issue31752s       S               $ $ $ $ $ $ $# $ $ $;  L<88  66!9955555 DFF1II..... DFF1II.....!:.DaLL66!99,,,!:.DF1II ! ,,, DaLLFF1II--- D1                 sE;A43E;4 B>E;BE;BE; B,)E;+B,,E;0C  E; CE;CE;"C>=E;>DE;DE;D21E;2 D?<E;>D??E;EE; E,)E;+E,,E;;E? E? N)"rKrbrcrr=rrsrr requires_IEEE_754rrrrrrrrrrrrrrrrrr rrr r$r0rNrr%r#rQrQsH7772QQQf555& ::: ... L L L!!!###(,,,&?&?&?P...*CCC&&&&$CCCAAA, <<< RRRB222 ''',,,>999&===& B B B& 1 1 1444"777(11111r%rQceZdZdZdS) TestDateOnlyctddd}tddddd}t|j}||td||z}||||z||z}||||z||z }||||z | }t|j}||td||z}||||z||z}||||z||z }||||z dS) Nr&rYrUr[rVrrW)rrrTr0)r1ryr,rTdt2s r#test_delta_non_days_ignoredz(TestDateOnly.test_delta_non_days_ignored,sg $1  q1a'(***$$ y||,,,5j b4i(((bj b4i(((5j b4i((($$ y}}---5j b4i(((bj b4i(((5j b4i(((((r%N)rKrbrcrUrr%r#rQrQ(s#)))))r%rQceZdZdZdS) SubclassDater&NrKrbrcsub_varrr%r#rWrWIGGGr%rWceZdZeZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#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,S)-TestDatec|ddd}||jd||jd||jddS)NrUr&)r=r0yearmonthrrxs r#rzTestDate.test_basic_attributesRse ]]4A & & $''' 1%%% #####r%c|ddd|jfD]}t|}||d|dd}t |}|||||j|j|j }|||dS)Nr&rYrUrr) r=todayrrrDrr0r_r`rr1ryrrTs r#rzTestDate.test_roundtripXs==Aq))=&&((* & &BRA OOALL55 6 6 6!""Aq''C   R % % %--26::C   R % % % % & &r%c dD]\}}}}||||}||||j|}|||t |drl||jd||jd||jd||jdtttdzdD]}||dd}|}|j|}||||dkrx|j|dz }||dz dd}||||||dz gd}d D]\}} ||dd}ttdd |D]\} } | d kr| r| dz } td| dzD]t} ||| | }||||||j||dz }udS) N))r&r&r&r&)r&rrr)rYr&r&n)irri hourrr&rXrr) rrrrrrrrrrr))rST)r^FrrY) r=r0 toordinal fromordinalrrfrr microsecondrlrrzip) r1ymrnfromordr_d2dimisleapr`maxdayrs r#test_ordinal_conversionsz!TestDate.test_ordinal_conversionsfs3 9 9JAq!Q  aA&&A   Q . . .m//22G   Q ( ( (w'' 9  q111  333  333  !4a888'719a00 6 6D dAq))A A**1--B   Q # # #axxM--ac22]]462r22  B'''  1555?>>7  LD& dAq))3355A!$U1b\\3!7!7   vA::&:aKF F1H--C dE377A$$Q[[]]A666$$Q (A(A!(D(DEEEFAA    r%c|jj|jjj}|||tfdtdz}||dz|||jdz|jj |jjj}|||tfdtdz }||dz |||jdz dS)Nc4dz Srrirnaordsr#rEz0TestDate.test_extreme_ordinals..ammD1H.E.Er%r&rVc4dzSrrwrxsr#rEz0TestDate.test_extreme_ordinals..rzr%) r=rr_r`rrhrir0rrrr)r1rornrys @@r#test_extreme_ordinalszTestDate.test_extreme_ordinalss M  MM!&!'15 1 1{{}} MM$   A *&E&E&E&E&EFFF q!!! ! q111 DM55dQh??@@@ M  MM!&!'15 1 1{{}} MM$   A *&E&E&E&E&EFFF q!!! ! q111 DM55dQh??@@@@@r%c8|tdd|tdd|t|jtdz dd|t|jtdzdd|ddd|ddd|t|jddd|t|jddd|ddd|ddd|d dd|t|jddd |t|jd dd|t|jd dd|t|jd dd|t|jddd|t|jddddS)Nr&rSrrrrY` r4lr)r=rrrrr7s r#test_bad_constructor_argumentsz'TestDate.test_bad_constructor_argumentss gq!$$$ gq!$$$ *dmWQY1EEE *dmWQY1EEE dAq!!! dB""" *dmT1a@@@ *dmT2qAAA dAr""" dAr""" dAr""" *dmT1bAAA *dmT1bAAA *dmT1bAAA *dmT1bAAA *dmT1a@@@ *dmT1bAAAAAr%cf|ddd}|ddd}||||t|t||di}d||<|t|d|||d|||d|ddd}|ddd}||||t|t||di}d||<|t|d|||d|||ddS)NrSrrr&rYrr=r0rrr1redics r#rzTestDate.test_hash_equalitys MM$B ' ' MM$B ' ' A a$q''***!fA S1%%% Q### Q### MM$Q ' ' MM$Q ' ' A a$q''***!fA S1%%% Q### Q#####r%c  |ddd|ddd}|ddd}|z }||jdtt dddz||jd ||jd tdtd }|dd d|z|dd d |z|dd d |z |dd d| z|dd d||z|dd d ||z |ddd |d|zz|dd d|d|zz |dd d ||zz ||zz ||z z | |z z  ||zz | |zz  ||z z ||z z |||z z dD]~|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfddS)Nr^r&rrrYAr[rrXrUrr4ruczSr4rrxsr#rEz,TestDate.test_computations..ryr%cz Sr4rrxsr#rEz,TestDate.test_computations..ryr%czSr4rrxsr#rEz,TestDate.test_computations..ryr%cz Sr4rrxsr#rEz,TestDate.test_computations..ryr%cz Sr4rrnrsr#rEz,TestDate.test_computations.. S1Wr%czSr4rrsr#rEz,TestDate.test_computations..rr%czSr4rrsr#rEz,TestDate.test_computations.. QWr%czSr4rrsr#rEz,TestDate.test_computations.. SAXr%czSr4rrsr#rEz,TestDate.test_computations..  Q#Xr%czSr4rrsr#rEz,TestDate.test_computations..  QUr%czSr4rrsr#rEz,TestDate.test_computations..  Q!Vr%czSr4rrsr#rEz,TestDate.test_computations.. rr% r=r0rTrrlrrrrr)r1rorpdiffweekrnrrrs @@@r#rszTestDate.test_computationss MM$2 & & MM$2 & & MM$q # #s FStT11E1E-F-F$FGGG q))) *A...ll|| MM$1 % % S$--a";";<<< q$--a";";<<< S$--a";";<<< #4==q!#<#<=== T4==q!#<#<=== T4==q"#=#=>>> RWdmmD!Q&?&?@@@ RWdmmD!Q&?&?@@@ !d(a... !c'Q,,, !d(a$/// !c'Q--- a$h$/// a#g--- a$h... a#g,,, a#g,,, 6 6A   i 5 5 5   i 5 5 5   i 5 5 5   i 5 5 5 5 )_____555 )_____555 )_____555 )%5%5%5%5%5666 )%5%5%5%5%5666 )]]]]333 )^^^^444 )]]]]33333r%c|jj}|tdtdfD]}|jj|z}||z}|t |j||t |j| |jj|z }||z }|t |j||t |j| dS)Nr&rY) r=rrrrrrrr)r1rr,rys r#rzTestDate.test_overflows}'IaLL)A,,7 A AE"U*B %KB   mRZ ? ? ?   mRZ% @ @ @"U*B %KB   mRZ ? ? ?   mRZ% @ @ @ @ A Ar%c "ddl}d\}}}|j|||ddddddf }|j|}||j|||j|||j|dS)Nr)irrr )rmktimer= fromtimestampr0r_r`r)r1rr_r`rtsrs r#test_fromtimestampzTestDate.test_fromtimestamps 'eS T[$sAq!Q2> ? ? M ' ' + + &&& %((( $$$$$r%c\dD](}|t|jj|)dSN)gZbtgZbtirrr=rr1insanes r#test_insane_fromtimestampz"TestDate.test_insane_fromtimestamp(F $ & &F   mT]-H$ & & & & & &r%cBddl}tdD]\}|j}|j}|j|}||krn|jd]||kr(|||tddSdS)NrrUg?rcr)r,)rrlr=rbrsleepassertAlmostEqualr)r1rrrbr todayagains r# test_todayzTestDate.test_today1s 1XX  EM''))EB44R88J "" DJsOOOO J    " ":u)23)?)?)? # A A A A A  r%c :tdD] }||ddd|z|||ddd|z|dz||ddd|z|||ddd|z|dz dS)NrXr^rUr[r&rrY)rlr0r=weekday isoweekday)r1rrs r# test_weekdayzTestDate.test_weekdayNsq L LA   T]]4AaC88@@BBA F F F   T]]4AaC88CCEEqs K K K   T]]4AaC88@@BBA F F F   T]]4AaC88CCEEqs K K K K  L Lr%cngd}g}|D]a\}}|j|}tdD]B}|t|z}|dd|d|zfz}|||fCb|D]\} } || d5|| | dddn #1swxYwY|| d5| } || j| j| j f| dddn #1swxYwYdS)N)))rr)rrr&))rrr~rr&r&))rr&rV)rrYr&))rr)rrr&))rrrg)r5r&))rr&r[)rr&r&rXrrYtuple)r comparisonfields) r=rlrappendr3r0 isocalendarr_rr) r1 week_mondays test_casescal_dateiso_date base_daterrnew_datenew_isorexp_isors r#test_isocalendarzTestDate.test_isocalendarWs    ". 7 7 Hh% x0I1XX 7 7$y||3"1Q3-8A;?*<<!!8W"56666 7 % G GJAwg66 ; ;  '::: ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;h77 G GMMOO  !&!&!)!>C C =D))D- 0D- c$|ddd}tj|}tj|}|t |t||ddS)zTest that the result of datetime.isocalendar() can be pickled. The result of a round trip should be a plain tuple. r&)rr&rYN)r=r rrrr0rr)r1rpress r#test_isocalendar_picklingz"TestDate.test_isocalendar_picklingusu MM$1 % % L ) )l1oo cE*** l+++++r%c(d}ttt|}g}t dD]}|d|zdd}|d|zdd}||dd|dd|ddkr|||||dS) NaK 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 rSrri@r&r) sortedmaprlsplitrlr=r0rr)r1ISO_LONG_YEARS_TABLEiso_long_yearsLrrrrs r#test_iso_long_yearszTestDate.test_iso_long_yearss 2 C)=)C)C)E)E F FGG s  A d1fb"--AtAvr2..B   Q]]__QRR0"..2B2B1222F G G G}}q!R''  N+++++r%c|ddd}||ddS)NrYrUz 0002-03-02)r=r0 isoformatr1rs r#test_isoformatzTestDate.test_isoformats; MM!Q " "  55555r%c|ddd}||ddS)Nr^rUrYzSat Mar 2 00:00:00 2002)r=r0ctimers r# test_ctimezTestDate.test_ctimes< MM$1 % % $>?????r%cb|ddd}||dd||dd||dd|t|j|t|jdd |t|jd ||d d ||d ddD](} ||#t $rY%wxYw |dn#t $rYnwxYw|ddS)NrUrYm:%m d:%d y:%yzm:03 d:02 y:05rxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxonetworf%m03 '%z' '%Z''' '')z%e%z%#u%y%mz%f)r=r0strftimerrrUnicodeEncodeError)r1rfs r# test_strftimezTestDate.test_strftimes MM$1 % % $4557GHHH B,,, H--x888 )QZ000 )QZ>>> )QZ444 D))4000 K00':::#  A  1       JJ| $ $ $ $!    D  4s$ E## E0/E04F FFc|ddd} tjdn%#t$r|dYnwxYw||dtjd|||dtjd|dS)NrrUrYrz'time module does not support trailing %zm:%m d:%d y:%y %zm:03 d:02 y:05 %)r=_timerrrLr0 timetuplers r#test_strftime_trailing_percentz'TestDate.test_strftime_trailing_percents MM$1 % % E N3     E E E MMC D D D D D E C%.akkmm*L*LMMM  JJ) * * N-q{{}} = =     s.AAc|ddd}||dt||t d5|ddddn #1swxYwYGdd|j}|ddd}||ddGd d |j}|ddd}||dt|d D]}|||||||||||||d dS) Nrr'rmust be str, not int{ceZdZdZdS)TestDate.test_format..AcdSNArr7s r#__str__z'TestDate.test_format..A.__str__sr%NrKrbrcrrr%r#rr#     r%rceZdZdZdS)TestDate.test_format..BcdSNBrr1 format_specs r#rz(TestDate.test_format..B.strftimerr%NrKrbrcrrr%r#rrrr%rrzm:%m d:%d y:%y H:%H M:%M S:%S%z %Zr=r0 __format__rassertRaisesRegexrrr1ryrrnrrofmts r# test_formatzTestDate.test_formats# ]]4B ' ' r**CGG444  # #I/E F F   MM#                            AdArNN b))3///          AdArNN b))3r77333 5 5C   R]]3//S1A1A B B B   Q\\#.. C0@0@ A A A   Q\\#.. 4 4 4 4  5 5s)B  BBc|t|jtrt}nt}||jj|||jj|||jjt| |jj|jjkdSr4) rr=rrrrrrrr)r1expected_classs r#rzTestDate.test_resolution_infos dmX . . "%NN!N dm/@@@ dm/@@@ dm6 BBB  )DM,==>>>>>r%cz|jj|jjz }|jdzdz|jzdz|jz}t dd|}|||||jj|z|jj||jj|z |jjdS)Nr/@Br)r=rrrTrrrr0)r1bigrn justasbigs r#test_extreme_timedeltazTestDate.test_extreme_timedelta sm$-"33 Xb[  +W 4s7G GaA&&  i((( *S0$-2CDDD *S0$-2CDDDDDr%c 6tdD]}|ddd|z}|}||ddd|zddd|d|zdf |ddd|z}|}||ddd|zdddd|zdzd|zdf |ddd|z}|}||ddd|zdddd|zdzd |zdf ||jd||jd||jd|z||jd||jd||j d||j d|zdz||j d |z||j d dS) NrXrr&rYrr rrU=) rlr=rr0tm_yeartm_montm_mdaytm_hourtm_mintm_sectm_wdaytm_ydaytm_isdst)r1rrrrs r#test_timetuplezTestDate.test_timetuples#q - -A dAqs++A A   Qq!A#q!Q1Q3 C D D D dAqs++A A   Qq!A#q!Q1aAr J K K K dAqs++A A   Qq!A#q!Q1aAr J K K K   QY - - -   QXq ) ) )   QY! , , ,   QY * * *   QXq ) ) )   QXq ) ) )   QY1a 0 0 0   QY1 - - -   QZ , , , ,- - -r%c2d}|j|}tD]G\}}}|||}||}|||H|||ddS)Nr]rXrrYr=rrrr0 __reduce__ __reduce_ex__rs r#rzTestDate.test_pickling0st}d#)7 , , %GYMM$..Eooe,,G   T7 + + + + **D,>,>q,A,ABBBBBr%cgd}d}|j|}|D]/}tD]%}||d}|||&0dS)N)s'cdatetime date (S'\x07\xdf\x0b\x1b' tR.scdatetime date (U tR.scdatetime date U R.)rlatin1encodingr= pickle_loadsr0r1rrr datarrs r#test_compat_unpicklezTestDate.test_compat_unpickle9s     4=$' 4 4D% 4 4%x888  (3333 4 4 4r%c|ddd|ddd}||||k||k||k||k||kdD]9}|j|}||k||k||k||k||k||k||k||k||k||k||k||k;tD]D|kd|kd|kd|kd|t fd|t fd|t fd |t fd |t fd |t fd |t fd FdS)NrYrUr[rFTckSr4rrsr#rEz'TestDate.test_compare..err%ckSr4rrsr#rEz'TestDate.test_compare..frr%ckSr4rrsr#rEz'TestDate.test_compare..grr%ckSr4rrsr#rEz'TestDate.test_compare..hrr%ckSr4rrsr#rEz'TestDate.test_compare..irr%ckSr4rrsr#rEz'TestDate.test_compare..jrr%ckSr4rrsr#rEz'TestDate.test_compare..krr%)r=r0rrrrrrs @@r#rzTestDate.test_compareFse ]]1a # # ]]1a # # R    b!!! b!!! r""" b!!! b!!!3 ' 'D%B OOBG $ $ $ OOBG $ $ $ OOB"H % % % OOB"H % % % OOB"H % % % OOB"H % % %   R2X & & &   R2X & & &   R"W % % %   R"W % % %   R2X & & &   R2X & & & & ? ?F   R6\5 1 1 1   R6\4 0 0 0   Vr\5 1 1 1   Vr\4 0 0 0   i)<)<)<)<)< = = =   i)<)<)<)<)< = = =   i)=)=)=)=)= > > >   i)=)=)=)=)= > > >   i)<)<)<)<)< = = =   i)<)<)<)<)< = = =   i)=)=)=)=)= > > > > ? ?r%c|ddd|dkd|dkd|dkd|dkd|tfd|tfdGd d }||kd|kd|kd|kd|tfd |tfd dS) NrSr[rVr&FTcdkSrroursr#rEz-TestDate.test_mixed_compare..ws S1Wr%cdkSrrrAsr#rEz-TestDate.test_mixed_compare..xs QWr%ceZdZdS).TestDate.test_mixed_compare..SomeClassNrrr%r# SomeClassrE|rr%rFckSr4rrBtheirsr#rEz-TestDate.test_mixed_compare..s S5[r%ckSr4rrHsr#rEz-TestDate.test_mixed_compare..s US[r%)r=r0rr)r1rFrBrIs @@r#test_mixed_comparezTestDate.test_mixed_comparemsmmD!Q'' 5))) c5))) 4((( c4((( )____555 )____555          u--- #u--- t,,, #t,,, )%8%8%8%8%8999 )%8%8%8%8%899999r%c||jj||jjdSr4)rr=rrr7s r#rzTestDate.test_bools6  )***  )*****r%c>dD]}||dd}|dd|zkrd||dd|ztjr,||dd|zdS)N)r&rr`crirYr&z%Yz%04d%dz%4Y)r=rr0r has_strftime_extensions)r1rlrs r#test_strftime_y2kzTestDate.test_strftime_y2ks6 D DA aA&&A zz$6A:--  D!1!14!8<<<2D$$QZZ%6%6 CCC D Dr%cd|j}gd}||}|||d}dD]C\}}|dd}|||<||}|jd i||i} ||| |dz }D|ddd}|t|jd dS) Nr/r)r_rYr`rUrr[r&rSrYr~rr_rr=r0rrr r1clsrbaserrrFnewvalnewargsr gots r# test_replacezTestDate.test_replacesmyysDz t||~~... )  LD&111gGGAJsG}H$,00$00C   Xs + + + FAAs4B *dl>>>>>r%cGdd|j}|ddd}|t|d|dS)NceZdZdS)4TestDate.test_subclass_replace..DateSubclassNrrr%r#rrbrr%rr&irWr=r5rr)r1rrys r#test_subclass_replacezTestDate.test_subclass_replacess     4=   \$1 % % d2::4:0011<@@@@@r%cGfddj}d}j|}||iddi}|j||jd|jd|||d|j|jzdz dS)Nc$eZdZdZfdZdZdS)&TestDate.test_subclass_date..Crfc|}|d}jj|g|Ri|}||_|SNrr popr=rrrZrkwstemprresultr1s r#rz.TestDate.test_subclass_date..C.__new__Qxxzz))..sBTBBBTBB$  r%c&||jz|jzSr4)r_r`r1starts r#newmethz.TestDate.test_subclass_date..C.newmethsty(4:55r%NrKrbrc theAnswerrrur7sr#CrhsBI      6 6 6 6 6r%rxrr[rdrrXrfrZ) r=r0rJrwrrhrur_r`r1rxrrrTs` r#r zTestDate.test_subclass_dates 6 6 6 6 6 6 6 6 6 6dmT"a&'1&& *** +++ A&&& #--//::: R#(SY*>*BCCCCCr%c|Gfddj}d}d}d}||}|||jdt j|t d}d|ffd |ffd |ffg}|D]\}} ||fD]} t| | 5t| |} | | } | || || jddddn #1swxYwYdS) NceZdZfdZdS)CTestDate.test_subclass_alternate_constructors..DateSubclasscBjj|g|Ri|}d|_|SNrXr=rrrZrkwargsrpr1s r#rzKTestDate.test_subclass_alternate_constructors..DateSubclass.__new__3..sDTDDDVDD   r%NrKrbrcrr7sr#rr}.       r%rryi( z 2003-04-14rXrrir fromisoformat base_obj_type constr_name) r=rr0rrcombiner timestampr3rgetattr) r1rrd_ord d_isoformatbase_drrr constr_argsbase_objconstrrys ` r#$test_subclass_alternate_constructorsz-TestDate.test_subclass_alternate_constructorss       4=   " t$ fl333 q))) fd1gg . . 8 8 : :UH % re $ {n - )3 2 2 $K)62 2 2\\X.9";; 2 2$X{;;F-B))"l;;;$$R000$$RXq111 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2sAD//D3 6D3 c d}t|}tD]o\}}}|||}||}||||t |tpdS)Nr()rWrrrr0rrkrs r#test_pickling_subclass_datez$TestDate.test_pickling_subclass_datesT")7 ? ? %GYMM$..Eooe,,G   T7 + + + OOJw == > > > >  ? ?r%c dd}t|jts |dd}dD]9}|t|j|dd|z|ddz:t|jtrg|td5|t dgt|zddddn #1swxYwYtdd D];}||ddt |gz|ddzabb)I K K K K dmX . . ='' 3KLL = = eQC#d))O44e<<< = = = = = = = = = = = = = = =a  C CH MM$rr(UH:%6%66abbA B B B B  C Cs5CC Cc4gd}|D]}|j|}|}||5|j|}|||dddn #1swxYwYdS)N)r&r&r&)rYrYrdrr&r&)rSrYr~rrr)rr[rUirVr)dt_strr=rr3rr0)r1 base_datesdt_tupleryrdt_rts r#test_fromisoformatzTestDate.test_fromisoformat s   # , ,H)B\\^^FV,, , , 33BLLNNCC  U+++ , , , , , , , , , , , , , , , , ,sAB  B B cd|dddfd|dddfd|dddfd|d d d fd |dddfd |dddfd|dddfd|d d d fd|dd dfd|dd dfd|dddfd|dddfd|dd dfd|dd dfd|dd d fd|dd d fd|dd dfd|dd dfd|d ddfd!|d ddfd"|d#d d fd$|d#d d fd%|d&ddfd'|d(d d)fd*|d(d d)fd+|d,ddfg}|D]c\}}||-5|j|}|||dddn #1swxYwYddS).N00010101r&20000101rS20250102rY99991231r.rrz 0001-01-01z 2000-01-01 2025-01-02z 9999-12-312025W01rz2025-W012025W014z 2025-W01-42026W01r~z2026-W012026W013z 2026-W01-32022W52rz2022-W522022W527z 2022-W52-72015W534r-z 2015-W53-4z 2015-W53-52020W531rgz 2020-W53-1z 2020-W53-6 input_str)r=r3rr0r1examplesrr actuals r# test_fromisoformat_date_examplesz)TestDate.test_fromisoformat_date_examples4s. q!Q// 0 tQ22 3 tQ22 3 tR44 5 4==Aq11 2 4==q!44 5 4==q!44 5 4==r266 7  dB33 4 tR44 5 tQ22 3 4==q!44 5  dB33 4 tR44 5 tR44 5 4==r266 7  dB33 4 tR44 5 tQ22 3 4==q!44 5 tR44 5 4==r266 7 4==q!44 5 tR44 5 4==r266 7 4==q!44 55 :$, 3 3 Ix 22 3 344Y??  222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s1K  K K cGdd|j}|ddd}||}|||dS)NceZdZdS):TestDate.test_fromisoformat_subclass..DateSubclassNrrr%r#rrXrr%rrrrd)r=rrr)r1rryrs r#test_fromisoformat_subclassz$TestDate.test_fromisoformat_subclassWsz     4=   \$B ' '**2<<>>:: e\22222r%cgd}|D]N}|t5|j|dddn #1swxYwYOdS)N) rrz 009-03-04 123456789z 200a-12-04z 2009-1a-04z 2009-12-0az 2009-01-32z 2009-02-29z 2019-W53-1z 2020-W54-1u20090228)rrr=rr1bad_strsbad_strs r#test_fromisoformat_failsz!TestDate.test_fromisoformat_failsas      5 5G"":.. 5 5 ++G444 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5sA  A A cddtjdg}|D]N}|t5|j|dddn #1swxYwYOdS)Ns 2009-03-01z 2009-03-01ioStringIOrrr=rr1 bad_typesbad_types r#"test_fromisoformat_fails_typeerrorz+TestDate.test_fromisoformat_fails_typeerrorvs"D"+l*C*CD ! 6 6H""9-- 6 6 ++H555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6AA! $A! c4ddddddddd d d d d tddftddfg}|D]s}||5|j|}|}|jj|}|||dddn #1swxYwYtdS)N)rr[rU)rr&rY)irr)rr&rY)rrrr)rrr)rSr&r&)rSrrr)rrrr)r.rrr&rr) datecomps)rrr3r=rfromisocalendarr0)r1datesrdobjisocal d_roundtrips r#test_fromisocalendarzTestDate.test_fromisocalendar}s              aO b"  $ 4 4I 22 4 4$t}i0))++;dm;VD   {333  4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sAB  B B cgd}|D]q}||5|t5|jj|dddn #1swxYwYdddn #1swxYwYrdS)N) )rrr&)rr r&)r6r&)rr&r)rr&r )rr&)rrr&)rar&r&)rr&r&)ir&r&)r&r&)rrr&)rr&rr)r3rrr=r)r1isocalsrs r#!test_fromisocalendar_value_errorsz*TestDate.test_fromisocalendar_value_errorss     ; ;FV,, ; ;&&z22;;1DM16::;;;;;;;;;;;;;;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s4A-A A-A A-A A--A1 4A1 cttdg}g}d}tdD]L}|D]G}t|}|||||<|t |HM|D]q}||5|t5|j j |dddn #1swxYwYdddn #1swxYwYrdS)NcdSr4r)xs r#rEz;TestDate.test_fromisocalendar_type_errors..sdr%)rr&r&rUr) rr-rllistrrr3rrr=r)r1 err_txformersrr[rrtxformererr_valrs r# test_fromisocalendar_type_errorsz)TestDate.test_fromisocalendar_type_errorss   N q / /A) / /t**%Xgaj11 uW~~.... /  ; ;FV,, ; ;&&y11;;1DM16::;;;;;;;;;;;;;;; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s6 C&C6 CC C C CC C N)0rKrbrcrr=rrrtr|rrrsrrrrrrrrrrrrrrrr&rr6rrKrrRr_rer rrrrrrrrrrrrr%r#r\r\LsH$$$ & & &---^AAA2BBB,$$$2040404d A A A % % %&&&AAA:LLLGGG< , , ,$,$,$,L666@@@%%%N   555: ? ? ?EEE---2CCC 4 4 4%?%?%?N:::4+++ D D D???*AAADDD4*2*2*2X???CCC4,,,(!3!3!3F333555*666444<;;;,;;;;;r%r\ceZdZdZdS)SubclassDatetimer&NrXrr%r#rrrZr%rcNeZdZeZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZejddZdZejddZdZdZdZ dZ!dZ"e#j$e%j&dkd d!Z'e#j$e%j&dkd d"Z(d#Z)d$Z*d%Z+d&Z,d'Z-d(Z.d)Z/d*Z0ejd+d,Z1d-Z2d.Z3d/Z4d0Z5d1Z6d2Z7d3Z8d4Z9d5Z:d6Z;d7Zd:S); TestDateTimec|ddddd}||jd||jd||jd||jd||jd||jd||jddS)Nr^rUr&rr r=r0r_r`rrfrrrjrxs r#rz"TestDateTime.test_basic_attributess ]]4Ar1 - - $''' 1%%% ### "%%% A&&& A&&& +++++r%c |ddddddd}||jd||jd||jd||jd||jd||jd||jddS)Nr^rUr&rr@rrxs r#test_basic_attributes_nonzeroz*TestDateTime.test_basic_attributes_nonzeros]]4Ar2r4 8 8 $''' 1%%% ### "%%% B''' B''' .....r%c |ddddddd|jfD]}t|}||d|d d}t |}|||||j|j|j |j |j |j |j }|||dS) Nr&rYrUr[rVr]rXrr)r=rrrrDrr0r_r`rrfrrrjrcs r#rzTestDateTime.test_roundtrips==Aq!Q155=$$&&( & &BRA OOALL55 6 6 6!""Aq''C   R % % %--26 "BI "00C   R % % % % & &r%c r |ddddddd}||d||dd||d d ||d d ||d d||dd||dd||dd||dd||dd||dd||d dd|t|jd|t|jd |t |d |dddddddt j}||dd|ddddddd}||dd |dddddd}||dd||dd||dd!|ddd}||d"||dd"||d d#|t |d#ttd$%d&}|ddd|}||d'dS)(Nr&rYrUr[rVrz0001-02-03T04:05:01.000123r z0001-02-03 04:05:01.000123z0001-02-0304:05:01.000123ru0001-02-0304:05:01.000123rtimespecz 0001-02-03T04rjz0001-02-03T04:05rz0001-02-03T04:05:01rUz0001-02-03T04:05:01.000rauto)seprz0001-02-03 04:05fooL@rz0001-02-03T04:05:01.999+00:00z0001-02-03T04:05:01.999z0001-02-03T04:05:01.000000z0002-03-02T00:00:00z0002-03-02 00:00:00rXXXz0002-03-02T00:00:00+00:00:16) r=r0rrrrrr6rerrs r#rzTestDateTime.test_isoformats. MM!Q1aC 0 0 +GHHH S))+GHHH S))+GHHH V,,.MNNN X..: < < < g66HHH i88:LMMM i88:OPPP n==?XYYY n==?[\\\ f557STTT yAACUVVV *akEBBB *akHEEE Q!=>>> MM!Q1aF8.4]   " 5  h  3 3 4    r%rr&%z2016-04-01T12:37:09rtzirrr6r=rr3r) r1 tzoffsetstzinfosdt_baseexp_baseexp_tzrryexps r#test_isoformat_timezonez$TestDateTime.test_isoformat_timezone%s ia((( ) ia((( ) ia444 5 RDDD E  1aV\ ] ] ] ^    x| $ x ! -- .    )     --aBA66(" - -KFC,,BV#C#&& - -||~~,,,,, - - - - - - - - - - - - - - - - -s.DD D c |ddddddd}||dt||t d 5|ddddn #1swxYwYGd d |j}|ddddddd}||dd Gd d |j}|ddddddd}||dt|dD]}|||||||||||||d dS)Nrrr'r[rVr&rrrceZdZdZdS)#TestDateTime.test_format..AcdSrrr7s r#rz+TestDateTime.test_format..A.__str__Lrr%Nrrr%r#rr"Krr%rceZdZdZdS)#TestDateTime.test_format..BcdSrrrs r#rz,TestDateTime.test_format..B.strftimeSrr%Nr rr%r#rr%Rrr%rr r rs r#rzTestDateTime.test_formatCs? ]]4B1a 5 5 r**CGG444  # #I/E F F   MM#                            AdAr1aC ( ( b))3///          AdAr1aC ( ( b))3r77333 5 5C   R]]3//S1A1A B B B   Q\\#.. C0@0@ A A A   Q\\#.. 4 4 4 4  5 5s-BBBc vddl}|ddddddd}||d|ddd dddd}|||j|j|dS) Nrr^rUrYrVrzSat Mar 2 18:03:05 2002r)rr=r0rrr)r1rrs r#test_more_ctimezTestDateTime.test_more_ctime`s MM$1b!Q 4 4 $>??? MM$2r1a 5 5 JDJ{t{1;;==/I/I$J$JKKKKKr%c |dddddd}|dddddd}|dddddd}||||||k|tddd d d d }t d }||z}|||z ||||kdS) Nr^rUr&rrr'rrrrrir)r=r0rrr)r1rrTdt3rqs r#test_tz_independent_comparingz*TestDateTime.test_tz_independent_comparingpsmmD!Q1a00mmD!QAq11mmD!Q1a00 c""" c """mmGRRR@@ A & & &Bh sB''' c """""r%c Gddt}|ddddddd|dd}|t|jddS) NceZdZdZdS)DTestDateTime.test_strftime_with_bad_tzname_replace..MyTzInfoc>Gddt}|dS)NceZdZdZdS)ZTestDateTime.test_strftime_with_bad_tzname_replace..MyTzInfo.tzname..MyStrcdSr4r)r1rs r#rzbTestDateTime.test_strftime_with_bad_tzname_replace..MyTzInfo.tzname..MyStr.replaces#tr%N)rKrbrcrrr%r#MyStrr2s#$$$$$r%r4rF)r)r1ryr4s r#r}zKTestDateTime.test_strftime_with_bad_tzname_replace..MyTzInfo.tznames<$$$$$C$$$uV}}$r%N)rKrbrcr}rr%r#MyTzInfor/s# % % % % %r%r5rrUrYrrF%Z)rer=rrr)r1r5rs r#%test_strftime_with_bad_tzname_replacez2TestDateTime.test_strftime_with_bad_tzname_replacesy % % % % %{ % % % MM$1aAq((1f2E2E F F )QZ66666r%c  |tdd|tdd|t|jtdz dd|t|jtdzdd|ddd|ddd|t|jddd|t|jddd|ddd|ddd|d dd|t|jddd |t|jd dd|t|jd dd|t|jd dd|t|jddd|t|jddd|dddd|dddd|t|jdddd|t|jdddd|ddddd|ddddd|t|jddddd|t|jddddd|dddddd|dddddd|t|jdddddd|t|jdddddd|ddddddd|ddddddd|t|jddddddd |t|jddddddd |t|jdddd|t|jdddd|t |jddddddddd dS)Nr&rSrrrrYr~rrrrrrrrrr r/rrXr(rfold)r=rrrrrr7s r#rz+TestDateTime.test_bad_constructor_argumentssf gq!$$$ gq!$$$ *dmWQY1EEE *dmWQY1EEE dAq!!! dB""" *dmT1a@@@ *dmT2qAAA dAr""" dAr""" dAr""" *dmT1bAAA *dmT1bAAA *dmT1bAAA *dmT1bAAA *dmT1a@@@ *dmT1bAAA dAr1%%% dAr2&&& *dmT1b"EEE *dmT1b"EEE dAr2q))) dAr2r*** *dmT1b"bIII *dmT1b"bIII dAr2r1--- dAr2r2... *dmT1b"b"MMM *dmT1b"b"MMM dAr2r2q111 dAr2r2v666 *dm2r2r2 7 7 7 *dm2r2r! # # # *dm2B  0 0 0 *dm2A  / / / )T]2r2r1dA ? ? ? ? ?r%c~|dddddd}|dddddd}||||t|t||di}d||<|t|d|||d|||d|d ddd d d}|d ddd d d}||||t|t||di}d||<|t|d|||d|||ddS) NrSrrrrr&rYrrrVrrs r#rzTestDateTime.test_hash_equalitys MM$BB 3 3 MM$BB 3 3 A a$q''***!fA S1%%% Q### Q### MM$QQ 3 3 MM$QQ 3 3 A a$q''***!fA S1%%% Q### Q#####r%c |ddd|ddd}|z }||jdtt dddz||jd||jd|ddd d d tddd }tdd }tdtd}||z|ddd dd ||z|ddd dd |d|zz|ddddd ||z |ddd dd || z|ddd dd ||z | z|d|zz |ddddd |z|dddd d |z |dddd d ||z|dddd d ||z |dd dd d |d|zz|dddd d |d|zz |dddd d ||zz ||zz ||zz |||zz |||z z | |z z  ||z z | ||z z | ||zz | |zz  ||zz | ||zz | ||z z ||z z ||z z |||z z |||z|z|zz|ddddd dd ||z|z|zz|zz|z|z||z|z|zz |dd ddddd||z|z|zz |z z |z |z dD]~|tfd|tfd|tfd |tfd!|tfd"|tfd#|tfd$|tfd%|tfd&|tfd'|tfd(|tfd)dS)*Nr^r&rrrr[rrUrYr<r]rYrrXr(r'rr<rrrrrrrrVrr^ruczSr4rrxsr#rEz0TestDateTime.test_computations.. ryr%cz Sr4rrxsr#rEz0TestDateTime.test_computations.. ryr%czSr4rrxsr#rEz0TestDateTime.test_computations.. ryr%cz Sr4rrxsr#rEz0TestDateTime.test_computations.. ryr%cz Sr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%czSr4rrsr#rEz0TestDateTime.test_computations.. rr%r) r1rormillisecrfrrnrrrs @@@r#rszTestDateTime.test_computationss MM$2 & & MM$2 & &s FStT11E1E-F-F$FGGG q))) *A... MM$1b! , ,Q4((D!!ll|| T4==q!R#C#CDDD 4==q!R#C#CDDD RWdmmD!Q1&E&EFFF T4==q!R#C#CDDD $DMM$1b!$D$DEEE T1u9--- RWdmmD!QA&F&FGGG S$--aB"B"BCCC S$--aB"B"BCCC T4==q!R#C#CDDD T4==q"b!#D#DEEE RWdmmD!QA&F&FGGG RWdmmD!QA&F&FGGG !d(a... !c'Q,,, !d(a... !h,!+X666 !d(a$/// !c'Q--- !d(a$/// !h,!+hY777 a$h$/// a#g--- a$h$/// a(l+hY777 a$h... a#g,,, a$h... a(l+X666 dSj4/(:;tQB1dCC E E E dSj4/(:;H+t3x? A A A dSj4/(:;tQB2vFF H H H dSj4/(:;H+t3x? A A A 6 6A   i 5 5 5   i 5 5 5   i 5 5 5   i 5 5 5 5 )_____555 )_____555 )_____555 )%5%5%5%5%5666 )%5%5%5%5%5666 )]]]]333 )^^^^444 )]]]]33333r%c2d}|j|}tD]G\}}}|||}||}|||H|||ddS)Nr]rXrr<rr&rYr)rs r#rzTestDateTime.test_pickling s)t}d#)7 , , %GYMM$..Eooe,,G   T7 + + + + **D,>,>q,A,ABBBBBr%c n|ddddddd}ttjdzD]|}tj||}tj|}||jd||jd||j d}dS) NrrYrXr0rir&) r=rlr HIGHEST_PROTOCOLrrr0r_r`r)r1rnr"rros r#test_more_picklingzTestDateTime.test_more_pickling& s MM$1b"b& 9 962Q677 ' 'E Q&&A QA   QVT * * *   QWa ( ( (   QUA & & & &  ' 'r%c d}t|}tD]o\}}}|||}||}||||t |tpdS)NrL)rrrrr0rrkrs r#test_pickling_subclass_datetimez,TestDateTime.test_pickling_subclass_datetime/ s)&)7 C C %GYMM$..Eooe,,G   T7 + + + OOJw0@AA B B B B  C Cr%cgd}d}|j|}|D]/}tD]%}||d}|||&0dS)N)s@cdatetime datetime (S'\x07\xdf\x0b\x1b\x14;\x01\x00\x10\x00' tR.s#cdatetime datetime (U  ;tR.s$cdatetime datetime U  ;R.)r-rr.r<rr&rMr/r0r2r4s r#r6z!TestDateTime.test_compat_unpickle8 s    . 4=$' 4 4D% 4 4%x888  (3333 4 4 4r%c:gd}|j|}|j|}||||||k|||k|||k|||k|||kt t |D]Q}|dd}||dz||<|j|}|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||kSdS)N)rSrr~r<rrrir&)r=r0rrrlr)r1rrrrrr]s r#test_more_comparezTestDateTime.test_more_compareJ s211 T]D ! T]D ! R    b!!! b!!! r""" b!!! b!!!s4yy!! ' 'A111gGa1GAJ(B OOBG $ $ $ OOBG $ $ $ OOB"H % % % OOB"H % % % OOB"H % % % OOB"H % % %   R2X & & &   R2X & & &   R"W % % %   R"W % % %   R2X & & &   R2X & & & & ' 'r%c||j|j||j|j||j|j||j|j||j |j ||j |j dSr4) r0rr_rr`rrr rfr!rr"r)r1r r^s r#verify_field_equalityz"TestDateTime.verify_field_equalityk s )38444 #)444 )37333 )38444 #*555 #*55555r%cddl}|j}|j|}|j|}|||dSNr)r localtimer=rrXr1rrr r^s r#rzTestDateTime.test_fromtimestamps sZ TY[[!4>"%%m))"-- ""8S11111r%cddl}|j}|j|}|j|}|||dSrZ)rgmtimer=utcfromtimestamprXr\s r#test_utcfromtimestampz"TestDateTime.test_utcfromtimestamp{ sX TY[[4;r??m,,R00 ""8S11111r%EST+05EDT,M3.2.0,M11.1.0c f|ddd}||d|ddddddd}||d|ddd dd }|d }||j||t d z ||j||t d z|dd ddd }||j|||ddd|d ddfD]U} |}||j||F#t $rYRwxYwdS)NrOr&g@rYrUr[6@rcrrr9ri'r)r=r0rrrrr)r1rt0rrs r#test_timestamp_naivez!TestDateTime.test_timestamp_naive s MM$1 % % 000 MM$1aAq 1 1 ; = = =]]4B2 . . ZZQZ   44R\\^^DDia0000 2 2 2 44R\\^^DDia0000 2 2 2 MM$Aq" - - 44Q[[]]CCQGGG--!A&& d2b(A(AB D DA DKKMM  !gưrr(g:0yEg1E2gHzri#gHz>g1E2>g<"2?gP?r&rr)r=rr_r0rrjOSError)r1ftsrr minus_oners r#rz&TestDateTime.test_microsecond_rounding sM/M24% 2% 2C3q66D   T[! , , ,   T-q 1 1 1#d))C 8CJJ   !12666  !6???CJJ  D)))CJJ  I...CJJ  D)))CLL  2...  7777    "D A   Q % % %D A   Q $ $ $JA   QXq ) ) )   Q]F 3 3 3IA   QXq ) ) )   Q]A . . .F A   QXq ) ) )   Q]D 1 1 1 1K% 2% 2s) E EEc|d5|jjtj}|}||ddddn #1swxYwY|d5|jjtjd}|}||dddddS#1swxYwYdS)Nz minimum UTCrlw#o9z maximum UTCrrrjg MB) r3r=rrrr6rr0r)r1min_dtmin_tsmax_dtmax_tss r#test_timestamp_limitsz"TestDateTime.test_timestamp_limits sv \\- ( ( 3 3]&..hl.CCF%%''F   V\ 2 2 2  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3\\- ( ( 5 5]&..hl;</>>F%%''F   V^ 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s%AA77A;>A;AC::C>C>c  |jdn,#ttf$r|dYnwxYw|jjt dz}|}|jj d}|jjt dz t d d d  z}d ||fd ||ffD]f\}}}| |||5|j|}| ||dddn #1swxYwYgd|t dd z fd|t d z fd|t d zfd|t d zfg} | D]\}}| ||5| ttf5|j|dddn #1swxYwYdddn #1swxYwYdS)NTest not valid on this platformr&rVrrjrrrrr'minimummaximumrr Too small by a littlerrToo small by a lotrToo big by a littleToo big by a lotr)r=rrirrLrrrrrrr3r0rr) r1rnrorprq test_namerr rrs r#test_fromtimestamp_limitsz&TestDateTime.test_fromtimestamp_limits s` = M ' ' 3 3 3 3' = = = MM; < < < < < = "YA%6%6%66!!##"**q*99=$yr':':'::EEGG"b"===KKMMNFF+FF+*  3 3 %YHiBBB 3 344R88  222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3%fyar/J/J/J/X/X/Z/Z&Z [ !6I3,?,?,?,M,M,O,O#O P "FYA->->->-L-L-N-N$N O )*=*=*=*K*K*M*M!M N  ( 4 4MIriB// 4 4&& M'BCC44M//333444444444444444 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4sW&AA1EE E "I8:I! I8!I% %I8(I% )I88I< ?I< c |jdn,#ttf$r|dYnwxYw|jjtj}| }|jj dtj}| }d||dfd||dffD]\}}}| |||5 |j|}n@#ttf$r,} |t| Yd} ~ nd} ~ wwxYw| ||dddn #1swxYwYd |d z fd |td z fd|d zfd|td zfg} | D]\}}| ||5|t"tf5|j|dddn #1swxYwYdddn #1swxYwYdS)Nrtrurrrjrrwrxryrzr&r{rrVr|r}r~)r=r_rirrLrrrr6rrr3rr0rrrr) r1rnrorprqrrr rexcrs r#test_utcfromtimestamp_limitsz)TestDateTime.test_utcfromtimestamp_limits sl = M * *: 6 6 6 6' = = = MM; < < < < < ="**(,*??!!##"**q*NN!!##FFNN$N$?$?@FFNN$N$?$?@* 3 3 %YHiBBB 3 3,!];;B??FF/,,,MM#c((++++++++,  222  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3%fqj 1 !6I3,?,?,?,M,M,O,O#O P "FQJ / )*=*=*=*K*K*M*M!M N  ( 7 7MIriB// 7 7&& M'BCC77M222666777777777777777 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s&AAFD32F3E0"E+&F+E00FF F "I9;I" I9"I& &I9)I& *I99I= I= c\dD](}|t|jj|)dSrrrs r#rz&TestDateTime.test_insane_fromtimestamp6 rr%c\dD](}|t|jj|)dSr)rrr=r_rs r#test_insane_utcfromtimestampz)TestDateTime.test_insane_utcfromtimestamp? sF $ & &F   mT]-K$ & & & & & &r%win32z*Windows doesn't accept negative timestampsc:|jddS)N)r=rr7s r#!test_negative_float_fromtimestampz.TestDateTime.test_negative_float_fromtimestampH s  ##E*****r%c |jd}|||ddddddddS) Nrirrrrri~)r=r_r0)r1rs r#$test_negative_float_utcfromtimestampz1TestDateTime.test_negative_float_utcfromtimestampN sK M * *5 1 1 DMM$BBFKKLLLLLr%cNddl}td}tdD]Z}|j}|j|j}t ||z |krn[|t ||z |dS)Nrr&rrU)rrrlr=utcnowr_rkassertLessEqual)r1r tolerancerfrom_nowfrom_timestamps r# test_utcnowzTestDateTime.test_utcnowS s a((( 1XX  E}++--H!];;IDIKKHHN>H,--::; S(!:;;YGGGGGr%ctd}d}tj|j||}|j||}||||t ||j|t ||jgd}|D]\}}|||5tj|j||}|j||}|||dddn #1swxYwY|jj}||dddtz||ddd tz||d dtdd d  ddtj tj dffD]\}}|dkrd} | } nd} |} t| dzd\} } d| | | |} || d}||t||| |d\} }|| |}||dt zdtzz|| d|||| ||ddjd|t(5|dddddn #1swxYwY|t(5|dddddn #1swxYwY|t(5|ddddddS#1swxYwYdS)Nz2004-12-01 13:02:47.197z%Y-%m-%d %H:%M:%S.%f))u2004-12-0113:02:47.197u%Y-%m-%d%H:%M:%S.%f)u200412-01 13:02:47.197u%Y%m-%d %H:%M:%S.%f)u2004-12-01 13:0247.197u%Y-%m-%d %H:%M%S.%f)stringformatz+0002%zrYz-0002rWz-00:02:01.000003r&rU)rjrr)rr)rGMTrrrrXz{}{:02d}{:02d} {}r r)z +1234 UTCr rrrr6z-2400z-000z) _strptime_strptime_datetimer=strptimer0r5rr3rzMINUTErrrr}r"rrrrrr)r1rrr r^inputsr tzsecondsr}rrrrjdtstrryrs r# test_strptimezTestDateTime.test_strptimea s*'/ vvNNm$$VV44 3''' d8nndm444 d3ii///    % 0 0NFFVF;; 0 0$7 v8>@@m,,VV<<  3///  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 =) '400::</5<?!C"E 2 2 Iv1}}$*##GRK44NE7'..tUGVLLE%))B   R\\^^Yy-I-I-I J J J   RYY[[& 1 1 1 1) s XeS ! ! dR&[)@AAA e,,, S))5111 %..5t<<<   z * *CCHHWd,C,C,CCCCCCCCCCCCCCCC   z * *BBHHVT,B,B,BBBBBBBBBBBBBBBB   z * *??HHS$,?,?,???????????????????sIA DD #D  N00N47N4 O..O25O2 P--P14P1c |jj}|t5|dd}dddn #1swxYwY|dddddd}|dddddd}|dddd d d }|ddd d d d }d d d|fd dd|fddd|fddd|fddd|fddd|fddd|fddd|fddd|fd dd!|fg }|D]a\}} } } d"|z}||| | | #5|| | }||| |$dddn #1swxYwYbdS)%Nz01/02/3 04:05:06z%d/%m/%y %H:%M:%SrrYr&r[rVr]rrPz 1/02/03 4:5:6rz 01/2/03 4:5:6z%Hz01/02/03 4:05:06z%Mz01/02/03 04:5:06z%Sz01/02/03 04:05:6z%jz2/03 04am:05:06z%j/%y %I%p:%M:%Sz%Iz02/03 4am:05:06z%wz6/04/03z%w/%U/%yz%Wz6/4/2003z%u/%W/%Yz%Vz%u/%V/%Gztest single digit )reasonrrtarget)msg)r=rrrr3r0) r1rnewdaterrTr+dt4rrrrrs r#test_strptime_single_digitz'TestDateTime.test_strptime_single_digit sj=)   z * * H Hh13FGGG H H H H H H H H H H H H H H HmmD!Q1a00mmD!Q1a00mmD!Q1a00mmD!RAq11 ?$7 = ?$7 = %':C @ %':C @ %':C @ $&8 = $&8 = 9j# . :z3 / :z3 /  /5 > > *FFFF)F2FV%+%+%+-- > >#(6622  &f ===  > > > > > > > > > > > > > > > > >s# AAA%D??E E c|dddddd}||d|||j|j|j|j|j|j| | t|jdd z dzd f |}||j |j||j |j||j|j||j|j||j|j||j|j||j| ||j| t|jdd z dz||jd dS) Nrrrr]r!) rrrr]rrr[rer r&r )r=r0rr_r`rrfrrrrhrrrrr r!r"r#r$r%)r1rtts r#test_more_timetuplez TestDateTime.test_more_timetuple s MM$B2r 2 2 (MNNN &!'15&!(AH))++++--$qvq!*<*<*F*F*H*HH1L     [[]] QV,,, AG,,, QU+++ QV,,, AH--- AH--- QYY[[111 Q[[]]%)!&!Q%7%7%A%A%C%C&DFG&H I I I b)))))r%c |ddddddd}||dd d D]j\\}}}tt d ||  }|| }||dd|zk |ddS#t $rYdSwxYw)Nrrrr]rr/z%m %d %y %f %S %M %H %jz12 31 04 000047 33 22 06 366)))rrz 33.000123))rr33rY)rrrrrz-0200u%y%m %H%M)r=r0rrrrr)r1rrrqrrs r#test_more_strftimezTestDateTime.test_more_strftime s MM$B2r2 6 6 $=>>$B D D DF < >>>>r%EDT4c|j}tdd}|t t dd}||||t|j|||t|j|||t ddz}||||||| |Gd d t}|}|t|j||||||Gd d t}|}|t|j|Gddt} | } || } |t5| ddddS#1swxYwYdS)N,0044r\rEDTrr[rrceZdZdZdZdS)+TestDateTime.test_astimezone..BoguscdSr4rrxs r#rzz5TestDateTime.test_astimezone..Bogus.utcoffset1 DDr%c tdSrZrrxs r#rz/TestDateTime.test_astimezone..Bogus.dst2 s ill2r%NrKrbrcrzrrr%r#Bogusr0 s" 0 0 0 2 2 2 2 2r%rceZdZdZdZdS)/TestDateTime.test_astimezone..AlsoBogusc tdSrZrrxs r#rzz9TestDateTime.test_astimezone..AlsoBogus.utcoffset8 s IaLL%8r%cdSr4rrxs r#rz3TestDateTime.test_astimezone..AlsoBogus.dst9 ddr%Nrrr%r# AlsoBogusr7 s" 8 8 8 * * * * *r%rceZdZdZdZdS),TestDateTime.test_astimezone..BrokencdSrrrxs r#rzz6TestDateTime.test_astimezone..Broken.utcoffset> sAAr%cdSrrrxs r#rz0TestDateTime.test_astimezone..Broken.dst? aar%Nrrr%r#Brokenr= s" - - - ' ' ' ' 'r%r) r=rrerrrr0 astimezonerrrr) r1ryrdt_utcdt_frbogralsobogrbroken dt_brokens r#test_astimezonezTestDateTime.test_astimezone$ s ]    F # #8IB,?,?,?#G#GHH &111 )R]Aq999 )R]B777zzz##ia&D&D&DD q))4000 !,,d333 3 3 3 3 3F 3 3 3egg *bmS999 3//::1==tDDD + + + + + + + +)++ *bmW=== ( ( ( ( (V ( ( (JJfJ--   y ) ) # #  " " " # # # # # # # # # # # # # # # # # #sI**I.1I.cGfddj}d}j|}||iddi}|j||jd|jd|||d|j|jz|j zdz dS)Nc$eZdZdZfdZdZdS).TestDateTime.test_subclass_datetime..Crfc|}|d}jj|g|Ri|}||_|Srjrkrms r#rz6TestDateTime.test_subclass_datetime..C.__new__J rqr%c6||jz|jz|jzSr4)r_r`rrss r#ruz6TestDateTime.test_subclass_datetime..C.newmethQ sty(4:5 CCr%Nrvr7sr#rxrG sGI      D D D D Dr%rx)rr[rdrr)rrXrfrZ) r=r0rJrwrrhrur_r`rrzs` r#rz#TestDateTime.test_subclass_datetimeE s) D D D D D D D D D D'dmT"a&'1&& *** +++ A&&& #--//::: R#(SY*>*-*+578+9 : : : : :r%c Gfddj}d}d}d}||}|||jd|}d|f|fd|t jf|t jfd|f|fd |f|fd |d f|fd t|d dt|ddf|fg}|D]\}} } ||fD]} t| |5t| |} | | } | || | | jddddn #1swxYwYdS)NceZdZfdZdS)TTestDateTime.test_subclass_alternate_constructors_datetime..DateTimeSubclasscBjj|g|Ri|}d|_|Srrrs r#rz\TestDateTime.test_subclass_alternate_constructors_datetime..DateTimeSubclass.__new__c rr%Nrr7sr#rrb rr%r)rr[rdrrrgz2003-04-14T12:30:15.123456gh͏TMArXrr_rrz%Y-%m-%dT%H:%M:%S.%frrrUr) r=rr0rrrr6rrrr3rr)r1rrrutc_tsrrrrrr r constructorrys` r#-test_subclass_alternate_constructors_datetimez:TestDateTime.test_subclass_alternate_constructors_datetime` s>       t}   12 "!!4( f&6777 q)))    reV , r8<0%00>> @ &F 3 {nf 5 +'=> G tAaCy)4abb?;V D  3= 2 2 .Kh-v6 2 2\\X.9";; 2 2")(K"@"@K$k2B))".>???$$R222$$RXq111 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2sAE**E. 1E. c Gfddj}ddifddifdddtjifdddttd d ifg}|D]|\}}}|5t ||}|d i|}|||jd dddn #1swxYwY}dS) NceZdZfdZdS)8TestDateTime.test_subclass_now..DateTimeSubclasscBjj|g|Ri|}d|_|Srrrs r#rz@TestDateTime.test_subclass_now..DateTimeSubclass.__new__ rr%Nrr7sr#rr rr%rrrnow_utcr now_fixedr rrrXr) r=rr6rr3rrr0r)r1rrrF meth_namerrrys` r#test_subclass_nowzTestDateTime.test_subclass_now si       t}   E2  x $ hl3 4 %$1D1D1De(L(L!M N  (2 . . #D)Vd## . . !19==V%%f%%%%b*:;;;  1---  . . . . . . . . . . . . . . . . .s0A CC C c gd}gdddg}dtjttdttdg  fd|D}|D]{}|D]v}|| }| 5j|}||dddn #1swxYwYw|dS) N)rrrr)rrrr)rrrih)rrrG)rrrrrrr rrYc Hg|]}D]}D]}jg||Rd|iSr)r=)r! date_tuple time_tupler base_timesr1rs r#r$z. st###!+##!##t}BjB:BBBcBB#####r%rr)rr6rrr3r=rr0) r1r separatorsdtsryrrrrrs ` @@r#test_fromisoformat_datetimez(TestDateTime.test_fromisoformat_datetime su      3Z IB///00IA...//1######!+###  0 0B! 0 0  --\\\..00 M77>>E$$R///000000000000000 0 0 0s1CC C c |ddddddd}tdtdtd d tdd d tddddg}|d|Dz }dtjttdg}|d|Dz }|D]}||}|}||5|j|}||ks J| dddn #1swxYwYdS)NrrrrpQrVrrYr]r.rrr'r[rrgr)cg|]}d|zSr rr!r[s r#r$z. 222"b2g222r%rc,g|]}t|Srrrs r#r$z. 555RHRLL555r%rtstrr=rrr6rrr3r)r1base_dtrrrryrrs r#test_fromisoformat_timezonez(TestDateTime.test_fromisoformat_timezone s--b"b"b&AA A     2 2 2 Ar * * * BB 7 7 7 Aq!& I I I   22 2222 IA...//1 5595555 * *C,,BLLNNE5)) * * 33E::U{{{E{{{{ * * * * * * * * * * * * * * *  * *s;+D33D7 :D7 c 6gd}|D]}|ddddddd}|| }|| 5|j|}|||dddn #1swxYwYdS) N) rr€uʁuᛇu時u🐍rrr&rrrriurrrr1rrryrrs r#test_fromisoformat_separatorsz*TestDateTime.test_fromisoformat_separators s    , ,CtQBB??BLLSL))EE** , , 33E::  U+++ , , , , , , , , , , , , , , ,  , ,s1B  B B c2ddg}|D]}|ddddd}||}|| 5|j|}|||dddn #1swxYwYdS) Nrrrr&rrrrrrrs r#test_fromisoformat_ambiguousz)TestDateTime.test_fromisoformat_ambiguous s3Z  , ,CtQB33BLLSL))EE** , , 33E::  U+++ , , , , , , , , , , , , , , ,  , ,s1B  B B c vddg}dtjttdttdttddg}gd }t|D]\}}|D]}|D]}|d krd |dd zz}|d d|fz}|j|d d |zd|i} | |} || 5|j| } || | dddn #1swxYwYdS)N)rrr[rr<rrg)rrr[rr<rrr rrYr]r.rrrjrrUrrUrYrr[rrr rr6r enumerater=rr3rr0) r1datetime_basesr timespecsiprrrnew_microsecondsryrrs r#test_fromisoformat_timespecsz)TestDateTime.test_fromisoformat_timespecs s , ')IB///00IA...//IAr:::;;= 555  ** 4 4FB 4 4 . 4 4H^+++/8A;$3F+G(#+AaC=4D3F#F&!QV*)=KsKKBLL"L55EE2244 $ ; ;E B B((U333444444444444444 4 4 4 4.1D+ +D/ 2D/ ctj}ttdd}ttdd}ttdd}gd|d dd d d fd |d dd d d fd|d dd d dfd|d dd d dfd|d dd d ddfd|d dd d ddfd|d dd d dddfd|d dd d dddfd|d dd d dddfd|d dd d dddfd|d dd d dddfd|d dd d dddfd|d dd d dddfd|d dd d dddfd|d dd!d d"d#d$fd%|d dd!d d"d#d&fd'|d dd d dddfd(|d dd d d fd)|d dd d d fd*|d dd d dfd+|d dd d ddfd,|d dd d ddfd-|d dd d dddfd.|d dd d dddfd/|d dd d dddfd0|d dd d dddfd1|d dd d dddfd2|d dd d dddfd3|d dd d dddfd4|d dd d dddfd5|d6dd fd7|d6d8d9d:d fd;|dd?d fd@|d d8dAd?d fdB|dCd8dDd d fdE|d dd d d fdF|dCd8dDd8d fdG|d dd d8d fdH|d dd d8dIdAfdJ|d d8dAd?dKfdL|d d8dAd?dKfdM|dz  tQ1a!@!@ Az  dAq!Q ? ? @ z #DMM$1aA$F$F G z !$--aAq!"D"D E z % ]]4Aq!Q 7 7 9z % ]]4Aq!Q 7 7 9z ' ]]4Aq!Q 7 7 9z * ]]4Aq!Q 7 7 9z * ]]4Aq!Q 7 7 9z "( ]]4Aq!Q 7 7 9#z &( ]]4Aq!Q 7 7 9'z *+ ]]4Aq!Q 7 7 9+z .( ]]4B2r6 : : t}}T1aA>> ??z @!$--aAq!"D"D EAz B dAq!Q B B CCz D# ]]4Aq!Q 7 7 9Ez H# ]]4Aq!Q 7 7 9Iz L% ]]4Aq!Q 7 7 9Mz P% ]]4Aq!Q 7 7 9Qz T( ]]4Aq!Q 7 7 9Uz X& ]]4Aq!Q 7 7 9Yz \& ]]4Aq!Q 7 7 9]z `' ]]4Aq!Q 7 7 9az d dAq11 2ez f4==r2r1== >gz hDMM$1b!<< =iz j4==r2r1== >kz lDMM$BA>> ?mz n4==r2q!<< =oz pDMM$1a;; sz tDMM$1b!<< =uz v dAq"b" E E Fwz x dBB C C Dyz z dBB C C D{z | dAq"b" E E F}z ~ dAq"b" E E Fz @ dAq"b" E E FAz B dAq!Q B B CCz D dAq!Q B B CEz F#DMM$1aA$F$F GGz H!$--aAq!"D"D EIz J#DMM$1aA$F$F GKz L* ]]4Aq!Q 7 7 9Mz P#DMM$1b"b$I$I JQz R* ]]4Ar2r5 9 9 ;Sz V#DMM$BB$G$G HWz X*4==r2r2+N+N OYz Z# ]]4Ar2r 2 2 4[z ^* ]]4Ar2r6 : : <_z b ]]4RAc] : : ">@@ Awz |( ]]4Aq!Q"*92+>+>+>"?"?AA B}z B( ]]4Aq!Qs] ; ; =Cz F& ]]4Aq!Q"*91+=+=+=">">@@ AGz L& ]]4Aq!Q"*92+>+>+>"?"?AA BMz R0 ]]4Aq!Qs] C C ESz V/ ]]4Aq!Qs] C C EWz Z0 ]]4Aq!Qs] C C E[z ^/ ]]4Aq!Qs] C C E_z b0 ]]4RBs] ; ; =cz f/ ]]4RBs] ; ; =gz j/ ]]4Aq!Qs] C C Ekz n0 ]]4Aq!Q"*9R+@+@+@"A"ACC Doz x$, 3 3 Ix 22 3 344Y??  222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s1gg g c gd}|D]|}||5|t5|j|dddn #1swxYwYdddn #1swxYwY}dS)N)rrz 2009.04-19T03z 2009-04.19T03z 2009-04-19T0az2009-04-19T03:1a:45z2009-04-19T03:15:4az2009-04-19T03;15:45z2009-04-19T03:15;45z2009-04-19T03:15:4500:00z 2009-04-19T03:15:45.123456+24:30z 2009-04-19T03:15:45.123456-24:30u2009-04-10ᛇᛇᛇᛇᛇ12:15u2009-0410T12:15u2009-04-10T1215z 2009-04-19T1z2009-04-19T12:3z2009-04-19T12:30:4z2009-04-19T12:z2009-04-19T12:30:z2009-04-19T12:30:45.z2009-04-19T12:30:45.123456+z2009-04-19T12:30:45.123456-z!2009-04-19T12:30:45.123456-05:00az2009-04-19T12:30:45.123-05:00az2009-04-19T12:30:45-05:00arr3rrr=rrs r#!test_fromisoformat_fails_datetimez.TestDateTime.test_fromisoformat_fails_datetime s   :  9 9Gg.. 9 9&&z2299M//888999999999999999 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 94A8A! A8!A% %A8(A% )A88A< ?A< cd}|ttjt |5|j|ddddS#1swxYwYdS)Nu2018-01-0301:0113)rrreescaperr=r)r1rs r#"test_fromisoformat_fails_surrogatez/TestDateTime.test_fromisoformat_fails_surrogate s*  # #J $u++0F0F G G / / M ' ' . . . / / / / / / / / / / / / / / / / / /sA%%A),A)cd}|j|}||jtjdS)Nz2014-04-19T13:21:13+00:00)r=rr5rrr6)r1rrys r#test_fromisoformat_utcz#TestDateTime.test_fromisoformat_utc s:, ] ( ( 0 0 bi.....r%c0Gdd|j}|ddddddd ttd d  }||}||||||dS) NceZdZdS)BTestDateTime.test_fromisoformat_subclass..DateTimeSubclassNrrr%r#rr? rr%rrrrdrrrir'rr)r=rrrrr0r)r1rryrs r#rz(TestDateTime.test_fromisoformat_subclass s     t}    dBAr2v%-ib".M.M.M%N%NPPP!..r||~~>> U### e%566666r%N)?rKrbrcrr=rrrrrrr)r,r7rrrsrrQrSr6rVrXrr`r run_with_tzrergrrrrrrrunittestskipIfrIplatformrrrrrrrrrr_rrrrrr rrrr1r5r:r<rrr%r#rrsH,,, / / /&&& *H*H*HX---<555:LLL ###$ 7 7 73?3?3?j$$$.B4B4B4HCCC'''CCC444$'''B666222222W344DD54D6 ; ; ;W""&2&2#"&2P555&%4%4%4N%7%7%7N&&&&&&X_S\W,.Z[[++\[+ X_S\W,.Z[[MM\[M H H H9@9@9@v > > >D***, ;;; ' ' 'D???2W  ##! #@:::6/2/2/2b...0!0!0!0F***2,,," , , ,4444D3D3D3L"9"9"9H////// 7 7 7 7 7r%rcDeZdZeZejddZdS)TestSubclassDateTimeznot appropriate for subclassescdSr4rr7s r#rz#TestSubclassDateTime.test_roundtrip s r%N)rKrbrcrr=rAskiprrr%r#rErE s@HX]344  54   r%rEceZdZdZdS) SubclassTimer&NrXrr%r#rIrI rZr%rIceZdZeZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdS)TestTimec |dd}||jd||jd||jd||jddS)Nrrr=r0rfrrrjrs r#rzTestTime.test_basic_attributes s{ MM"a  $$$ 1%%% 1%%% *****r%c|dddd}||jd||jd||jd||jddS)NrrrrMrs r#rz&TestTime.test_basic_attributes_nonzero s MM"b"d + + $$$ 2&&& 2&&& -----r%c|dddd}t|}||d|dd}t |}|||||j|j|j|j }|||dS)Nr&rYrUr[rr) r=rrrDrr0rfrrrj)r1rrrs r#rzTestTime.test_roundtrip s MM!Q1 % % GG  [11222 abbE !WW B]]1618QX=** Br%cgd}|j||j|}||||k||k||k||k||kt t |D]Q}|dd}||dz||<|j|}||k||k||k||k||k||k||k||k||k||k||k||kSt D]c|kd|kd|kd|kd|tfd|tfd|tfd|tfd|tfd |tfd |tfd |tfd edS) Nr&rYrUr[r&FTckSr4rrsr#rEz)TestTime.test_comparing../ rr%ckSr4rrsr#rEz)TestTime.test_comparing..0 rr%ckSr4rrsr#rEz)TestTime.test_comparing..1 rr%ckSr4rrsr#rEz)TestTime.test_comparing..2 rr%ckSr4rrsr#rEz)TestTime.test_comparing..3 rr%ckSr4rrsr#rEz)TestTime.test_comparing..4 rr%ckSr4rrsr#rEz)TestTime.test_comparing..5 rr%ckSr4rrsr#rEz)TestTime.test_comparing..6 rr%) r=r0rrrlrrrr)r1rrrrr]rrs @@r#test_comparingzTestTime.test_comparing s|| T]D ! T]D ! R    b!!! b!!! r""" b!!! b!!!s4yy!! ' 'A111gGa1GAJ(B OOBG $ $ $ OOBG $ $ $ OOB"H % % % OOB"H % % % OOB"H % % % OOB"H % % %   R2X & & &   R2X & & &   R"W % % %   R"W % % %   R2X & & &   R2X & & & & ? ?F   R6\5 1 1 1   R6\4 0 0 0   Vr\5 1 1 1   Vr\4 0 0 0   i)=)=)=)=)= > > >   i)<)<)<)<)< = = =   i)<)<)<)<)< = = =   i)=)=)=)=)= > > >   i)=)=)=)=)= > > >   i)<)<)<)<)< = = =   i)<)<)<)<)< = = =   i)=)=)=)=)= > > > > ? ?r%c|dd|dd|t|jdd|t|jdd|dd|dd|t|jdd|t|jdd|ddd|ddd|t|jddd|t|jddd|dddd|dddd|t|jdddd|t|jdddddS) Nrrr r/rrXr(r)r=rrr7s r#rz'TestTime.test_bad_constructor_arguments8 s a b! *dmR;;; *dmR;;; b! b" *dmR<<< *dmR<<< b"a    b"b!!! *dmRR@@@ *dmRR@@@ b"b!$$$ b"b&))) *dmRRDDD *dmRRIIIIIr%cf|ddd}|ddd}||||t|t||di}d||<|t|d|||d|||d|ddd}|ddd}||||t|t||di}d||<|t|d|||d|||ddS)Nrrr<r&rYrrVrrs r#rzTestTime.test_hash_equalityN s MM"b" % % MM"b" % % A a$q''***!fA S1%%% Q### Q### MM!a $ $ MM!a $ $ A a$q''***!fA S1%%% Q### Q#####r%c |dddd}||d||t||}||d||t||d}||d||t||d }||d ||t||d }||d ||t||d }||d||t||d}||d||t||d}||d||t||dddd}||dd||dd||dd||dd ||d!d"||d#d"|t |jd$|t |jd%|dddd&}||dd'|dddd(}||dd)||d!d*||d#ddS)+Nr[rVr&rz04:05:01.00012300:00:00rvz00:00:00.000001r'z00:00:00.000010rz00:00:00.000100rYz00:00:00.001000raz00:00:00.010000順z00:00:00.100000rrrrg)rfrrrjrr12rjz12:34rz12:34:56rUz 12:34:56.123rz12:34:56.123456rmonkeyrrz 12:34:56.999rz 12:34:56.000z12:34:56.000000)r=r0rrrrrs r#rzTestTime.test_isoformate s MM!Q3 ' ' (9::: A/// MMOO  333 A/// MMaM ( ( (9::: A/// MMbM ) ) (9::: A/// MMcM * * (9::: A/// MMdM + + (9::: A/// MMeM , , (9::: A/// MMfM - - (9::: A/// MMr"RVM L L g66=== i88'BBB i88*EEE n==~NNN n==?PQQQ f557HIII *akHEEE *akHEEE MMr"RVM L L n==~NNN MMr"RQM G G n==~NNN n==?PQQQ f55zBBBBBr%c Bdtdfdtdfdtdd fd td d d fdtddddfg}ddtjfdttdfg}|d|Dz }|d dd}d}|D]i\}}||}||z}||5||ksJ dddn #1swxYwYjdS)NrrVrrrYrr]r.rr rrrr'r r[rrgr)r r rcRg|]$\}}dD]\}}||zt||zf%Srrrs r#r$z4TestTime.test_isoformat_timezone.. rr%rz12:37:09rrr) r1rrt_baserrrrrs r#rz TestTime.test_isoformat_timezone s ia((( ) ia((( ) ia444 5 RDDD E  1aV\ ] ] ] ^    x| $ x ! -- .    )     r2q))" , ,KFCc**AV#C#&& , ,{{}}+++++ , , , , , , , , , , , , , , , , ,s+DD D cv|d}|t|jddS)Nr&rrU)r)r=rrrrs r# test_1653736zTestTime.test_1653736 s8 MMM # # )Q[a88888r%c(|dddd}||dd||dd |d dS#t$rYdSwxYw) Nr&rYrUr[z %H %M %S %fz01 02 03 000004rru%H%M)r=r0rrrs r#rzTestTime.test_strftime s MM!Q1 % % M224EFFF K00':::  JJ| $ $ $ $ $!    DD s,B BBc|dddd}||dt||t d5|ddddn #1swxYwYGdd |j}|dddd}||dd Gd d |j}|dddd}||dt|d D]}|||||||||||||d dS) Nr&rYrUr[rrrceZdZdZdS)TestTime.test_format..AcdSrrr7s r#rz'TestTime.test_format..A.__str__ rr%Nrrr%r#rrk rr%rceZdZdZdS)TestTime.test_format..BcdSrrrs r#rz(TestTime.test_format..B.strftime rr%Nr rr%r#rrn rr%r)z%H %M %Sr )r1rrrnrrors r#rzTestTime.test_format s# MM!Q1 % % b))3q66222  # #I/E F F   LL                            AaAqMM b))3///          AaAqMM b))3q66222 5 5C   Q\\#.. 3 @ @ @   Q\\#.. 3 @ @ @   Q\\#.. 4 4 4 4  5 5s*B  BBc @|t|ddddd|t|ddddd|t|d ddd d |t|d ddd d |t|ddd d ddS)Nr&rYrUr[z01:02:03.000004r'rz10:02:03.004000rrz00:02:03.400000rz12:02:03rrz23:15:00)r0rr=r7s r#rzTestTime.test_str s T]]1aA66779JKKK T]]2q!T::;;=NOOO T]]1aF;;<<>OPPP T]]2q!Q7788*EEE T]]2r1a8899:FFFFFr%c |d|jjz}|t|ddddd|z|t|ddddd |z|t|d ddd d |z|t|d ddd d|z|t|ddd d d|zdS)Nrr&rYrUr[z%s(1, 2, 3, 4)r'rz%s(10, 2, 3, 4000)rrz%s(0, 2, 3, 400000)rz %s(12, 2, 3)rrz %s(23, 15)rrs r#rzTestTime.test_repr sGT]33 dmmAq!Q7788)D0 2 2 2 dmmB1d;;<<-4 6 6 6 dmmAq!V<<==.5 7 7 7 dmmB1a8899'$. 0 0 0 dmmBAq99::%, . . . . .r%c>||jj|j||jj|j||jjt ||jj|jjkdSr4)rr=rrrrrr7s r#rzTestTime.test_resolution_info s~ dm/??? dm/??? dm6 BBB  )DM,==>>>>>r%c2d}|j|}tD]G\}}}|||}||}|||H|||ddS)Nr<rrrMrYr)rs r#rzTestTime.test_pickling s t}d#)7 , , %GYMM$..Eooe,,G   T7 + + + + **D,>,>q,A,ABBBBBr%c d}t|}tD]o\}}}|||}||}||||t |tpdS)Nrt)rIrrrr0rrkrs r#test_pickling_subclass_timez$TestTime.test_pickling_subclass_times T")7 ? ? %GYMM$..Eooe,,G   T7 + + + OOJw == > > > >  ? ?r%c gd}t|D]n\}\}}||5|j|}tD]%}||d}|||& dddn #1swxYwYodS)N))s,cdatetime time (S'\x14;\x10\x00\x10\x00' tR.rt)scdatetime time (U;tR.rt)scdatetime time U;R.rt)s,cdatetime time (S'\x14;\x19\x00\x10\x00' tR.r<rrrM)scdatetime time (U;tR.rx)scdatetime time U;R.rx)rrr/r0)rr3r=r3r0)r1rrrr5rr rrs r#r6zTestTime.test_compat_unpickles     )// 8 8OA|d"" 8 8(4=$/)88E#eD8<<A; c|j}||d||dd||ddd||dddd||d||dS)Nr&r)r=r)r1rZs r#rzTestTime.test_bool%sm A Aq """ Aq! %%% Aq!Q((( A r%c,|j}gd}||}|||d}dD]C\}}|dd}|||<||}|jd i||i} ||| |dz }D|d}|t|jd|t|jd|t|jd |t|jd dS)NrQr)rrrrr&r/rfr rrrfrrvrrXrYs r#r_zTestTime.test_replace/s=m||sDz t||~~... 1  LD&111gGGAJsG}H$,00$00C   Xs + + + FAAs1vv *dl<<< *dl2>>> *dl3??? *dlHHHHHr%cGdd|j}|dd}|t|d|dS)NceZdZdS)4TestTime.test_subclass_replace..TimeSubclassNrrr%r# TimeSubclassrIrr%rrrr'r{rd)r1rrs r#rezTestTime.test_subclass_replaceHsq     4=    R$$ d5==b=1122LAAAAAr%cGfddj}d}j|}||iddi}|j||jd|jd|||d|j|jzdz dS)Nc$eZdZdZfdZdZdS)&TestTime.test_subclass_time..Crfc|}|d}jj|g|Ri|}||_|Srjrkrms r#rz.TestTime.test_subclass_time..C.__new__Trqr%c&||jz|jzSr4rfrrss r#ruz.TestTime.test_subclass_time..C.newmeth[ty(4;66r%Nrvr7sr#rxrQBI      7 7 7 7 7r%rx)r[rVr]rrXrfrZ) r=r0rJrwrrrurfrrzs` r#test_subclass_timezTestTime.test_subclass_timeOs 7 7 7 7 7 7 7 7 7 7dmT"a&'1&& *** +++ A&&& #--//::: R#(SZ*?!*CDDDDDr%c ^d}ddtddfD].}|t|j||ddz/|td5|t dgt |zdddddS#1swxYwYdS) Nz2:59.0r9r/ÿr&rr)chrrrr=rrr)r1r[ hour_bytes r#rz!TestTime.test_backdoor_resistanceisc3r77F2 ? ?I   i)2T!""X)= ? ? ? ? # #I/G H H 9 9 MM%c$ii00% 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s 5B""B&)B&N)rKrbrcrr=rrrrZrrrrrgrrrrrrrvr6rr_rerrrr%r#rKrK szH+++...    )?)?)?VJJJ,$$$.2C2C2Ch,,,<999   5556GGG . . .??? CCC???888,III2BBBEEE499999r%rKc,eZdZdZdZdZdZdZdS) TZInfoBasec|j}Gddt}|ddd|}|turdpd}|||t |turd pd }||||||dS) NceZdZdZdZeZdS)7TZInfoBase.test_argument_passing..introspectivec|rdpdS)Nrealnonerrxs r#r}z>TZInfoBase.test_argument_passing..introspective.tzname|sBM6,CV%Cr%c*t|rdpdS)Nrfrirrxs r#rzzATZInfoBase.test_argument_passing..introspective.utcoffset}s 29"+;<<<.NiceTrycdSr4rr7s r#rsz.NiceTry.__init__r%cdSr4rrxs r#rzz=TZInfoBase.test_bad_tzinfo_classes..NiceTry.utcoffsetrr%NrKrbrcrsrzrr%r#NiceTryr" $ $ $ ) ) ) ) )r%rceZdZdZdZdS)5TZInfoBase.test_bad_tzinfo_classes..BetterTrycdSr4rr7s r#rsz>TZInfoBase.test_bad_tzinfo_classes..BetterTry.__init__rr%cdSr4rrxs r#rzz?TZInfoBase.test_bad_tzinfo_classes..BetterTry.utcoffsetrr%Nrrr%r# BetterTryrrr%r)r=rrobjectrr5)r1rZrrrors r#test_bad_tzinfo_classesz"TZInfoBase.test_bad_tzinfo_classessm )S!Q"=== * * * * *f * * * )S!Q'BBB * * * * * * * * IKK C1a " " " ah"""""r%c 6Gddt}|j}dD]\}}|tur|ddd||}n/|tur|dddddd||}n Jd |rt |}t |d \}}d |d krd pd||fz} t |tr|}|t|d| z| tt|dS)NceZdZdZdZdS)6TZInfoBase.test_utc_offset_out_of_bounds..Edgyc0t||_dSrhrrq)r1rqs r#rsz?TZInfoBase.test_utc_offset_out_of_bounds..Edgy.__init__s'777 r%c|jSr4)rqrxs r#rzz@TZInfoBase.test_utc_offset_out_of_bounds..Edgy.utcoffsets {"r%Nrrr%r#Edgyrs2 8 8 8 # # # # #r%r))`F)aT)T)rbFr&rYrUrr]r impossiblerXz %c%02d:%02drrz01:02:03) rr=rrrkr"rktimetzr0rrr) r1rrZrqlegitraofsrrmtags r#test_utc_offset_out_of_boundsz(TZInfoBase.test_utc_offset_out_of_boundssb # # # # #6 # # # m- 6 6MFEd{{C1aV 555C1aAqf>>>&,&&q 66{{dB''1#vz'9c'@S!Q&GGa**# A  Qc)9::::!!*c15555% 6 6r%c |j}Gddt}|ddd|dddd|ddd|fD]w}||||||xGddt}|ddd|}||td||td ||d Gd d t}|ddd|}|t|j|t|j|t|jGd dt}|ddd|}|t|j|t|jGddt}|ddd|}||td||tddS)Nc eZdZdZdZdZdS)*TZInfoBase.test_tzinfo_classes..C1cdSr4rrxs r#rzz4TZInfoBase.test_tzinfo_classes..C1.utcoffsetrr%cdSr4rrxs r#rz.TZInfoBase.test_tzinfo_classes..C1.dstrr%cdSr4rrxs r#r}z1TZInfoBase.test_tzinfo_classes..C1.tznamesr%NrKrbrcrzrr}rr%r#C1rs+ 0 0 0 * * * - - - - -r%rr&rc eZdZdZdZdZdS)*TZInfoBase.test_tzinfo_classes..C3c"tdS)Nrrirrxs r#rzz4TZInfoBase.test_tzinfo_classes..C3.utcoffsetsIe,D,D,D%Dr%c"tdS)Nrrirrxs r#rz.TZInfoBase.test_tzinfo_classes..C3.dstsi&=&=&==r%cdSNanamerrxs r#r}z1TZInfoBase.test_tzinfo_classes..C3.tznamesr%Nrrr%r#C3rs+ D D D = = = 0 0 0 0 0r%rrrirrc eZdZdZdZdZdS)*TZInfoBase.test_tzinfo_classes..C4cdSrrrxs r#rzz4TZInfoBase.test_tzinfo_classes..C4.utcoffsetsGGr%cdSrrrxs r#rz.TZInfoBase.test_tzinfo_classes..C4.dstrr%cdSrZrrxs r#r}z1TZInfoBase.test_tzinfo_classes..C4.tznamesr%Nrrr%r#C4rs+ 3 3 3 ' ' ' * * * * *r%rceZdZdZdZdS)*TZInfoBase.test_tzinfo_classes..C6c"tdS)Nirrrxs r#rzz4TZInfoBase.test_tzinfo_classes..C6.utcoffsetsIC,@,@,@%@r%c"tdS)Nr/rrrxs r#rz.TZInfoBase.test_tzinfo_classes..C6.dstsib&9&9&99r%Nrrr%r#C6rs" @ @ @ 9 9 9 9 9r%rceZdZdZdZdS)*TZInfoBase.test_tzinfo_classes..C7c"tdS)Nrrrrxs r#rzz4TZInfoBase.test_tzinfo_classes..C7.utcoffsetsI2,F,F,F%Fr%c"tdS)Nrrrxs r#rz.TZInfoBase.test_tzinfo_classes..C7.dstsiS&A&A&AAr%Nrrr%r#C7rs" F F F A A A A Ar%rrrr) r=rrrzrr}r0rrrr)r1rZrrrrrrs r#test_tzinfo_classeszTZInfoBase.test_tzinfo_classessPm . . . . . . . .#aA,,#aAd+++#aAbbdd+++- * *A   akkmm , , ,   aeegg & & &   ahhjj ) ) ) ) 1 1 1 1 1 1 1 1 C1a % % %  %(@(@(@AAA )D"9"9"9::: W--- + + + + + + + + C1a % % % )Q[111 )QU+++ )QX... : : : : : : : : C1a % % % *ak222 *ae,,, B B B B B B B B C1a % % %  r(B(B(BCCC )"="="=>>>>>r%cf|j}Gddt}|ddd|}|d}|d}|d }|||fD]k}|||fD]c}ttt t ttfD]:} | ||} | |j |j } | | | ;dl|tur|d| }|d| }|d | }|||fD]`}|||fD]V}||k||kz } ||us||ur ||us||urd } n||cxur|urnnd } n||urd } n||usJd } | | | W_dSdS)NceZdZdZdS)=TZInfoBase.test_aware_compare..OperandDependentOffsetcb|jdkrt|jStdSNr'rirrrrs r#rzzGTZInfoBase.test_aware_compare..OperandDependentOffset.utcoffset38b==$QX6666%R0000r%Nrrr%r#OperandDependentOffsetr# 1 1 1 1 1r%rrrr'rrUr|rrrrr r&) r=rrrrrrrr rr0r) r1rZrr[d0rrprrlopr^r s r#test_aware_comparezTZInfoBase.test_aware_comparesZm 1 1 1 1 1V 1 1 1s1a$:$:$<$<=== \\\ # # \\\ # # \\\ $ $R 4 4ARZ 4 4b"b"b044B"Q((C!r!(AH55H$$S(33334 4 d??Q/E/E/G/GHHBQ/E/E/G/GHHBR0F0F0H0HIIBRZ 4 4R 4 4Aq5QU+CR177bAGG#$a2#$b#% Bwwww#$$$S(3333 4 ? 4 4r%N)rKrbrcrrrrrrr%r#rrvs`...$### 6668.?.?.?`-4-4-4-4-4r%rcxeZdZeZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdS) TestTimeTZc:|}||jd||jd||jd||jd||jdSrZ)r=r0rfrrrjrrrs r# test_emptyzTestTimeTZ.test_emptys MMOO ### 1%%% 1%%% *** !(#####r%c tddd}tddd}tddd }td d | }td d | }tdd | }td td| ||j|||j|||j|| j| j|||t d||t d||t d| |t|jd|| d|| d|| d| |t|j d|| t d|| t d|| t d | |t|j d|t|t||t|t||t|t||||||||||| |t fd|t fd|t|d|t|d|t|d|t d|t d||d||d||d| d| dd}|t||dz|t||dz|t||dz|t |dz|t |d z||d!d"||d#d$||d#d%td&d'}td(d)| }||d*d+Gd,d-t} td.d d/| } || d0d1|t| jd2d3|jjvr*d4| _|t(| jd2dSdS)5Nrrr&rrrWrXMETrUrXrrrr(rvrrizno argsckSr4rrt5sr#rEz'TestTimeTZ.test_zones..LrFr%ckSr4rrsr#rEz'TestTimeTZ.test_zones..MrFr%z07:47:00-05:00z12:47:00+00:00z13:47:00+01:00z00:00:00.000040z00:00:00.000040+00:00z datetime.timez(7, 47, tzinfo=est)z(12, 47, tzinfo=utc)z(13, 47, tzinfo=met)z (0, 0, 0, 40)z(0, 0, 0, 40, tzinfo=utc)z%H:%M:%S %%Z=%Z %%z=%zz07:47:00 %Z=EST %z=-0500z%H:%M:%S %Z %zz12:47:00 UTC +0000z13:47:00 MET +0100rz %z %Z %%z%%Zrrz%H:%M %%Z='%Z' %%z='%z'z"23:59 %Z='%z %Z %%z%%Z' %z='-2359'ceZdZdZdZdS)(TestTimeTZ.test_zones..Badtznamerfc|jSr4rrxs r#r}z/TestTimeTZ.test_zones..Badtzname.tznameos.r%N)rKrbrcrr}rr%r# BadtznamermsB 0 0 0 0 0r%rrYr[z%H:%M:%Sz02:03:04r6rRr)rerr0rrrzrrrr}rrrrrrrrJrKrr) r1estr6metrrrryuckrrrrs @@r# test_zoneszTestTimeTZ.test_zones"s[$q))!UB''"eQ'' 1b % % % "b % % % "b % % % b ! ! ! b - - - C((( C((( C((( ")$$$ C((( 4)@)@)@AAA 1)=)=)=>>> 2)>)>)>??? ",,..))) )R\9=== e,,, e,,, e,,, "))++&&& )RY ::: 9Q#7#7#7888 9R#8#8#8999 9Q#7#7#7888 "&&((### )RVY777 b488,,, b488,,, b488,,, R    R    R    B### )_____555 )_____555 R"2333 R"2333 R"2333 R"3444 R"9::: )9::: )9::: )9::: ):;;; )@AAA  b1'<#<=== b1'=#=>>> b1'=#=>>> b1#6777 b1'B#BCCC %=>>%? A A A %5668LMMM %5668LMMM5.11 "b & & & %>??%I K K K 1 1 1 1 1 1 1 1 Aq - - - J//<<< )QZ666 dn- - -#IL   j!*d ; ; ; ; ; . -r%c |ddddtdd}|ddddtdd}|t|t||d d d d td d}|d dd d tdd}|t|t|dS)Nrr&rYrUrrrirrr]rirOi)r=rer0rrs r#test_hash_edge_caseszTestTimeTZ.test_hash_edge_casesys ]]1aAk$.C.C] D D ]]1aAk$.C.C] D D b488,,, ]]2r1c+eR2H2H] I I ]]2r1c+eR2H2H] I I b488,,,,,r%cd}|j|}tD]G\}}}|||}||}|||H|||dtdd}|ddd|}tD]\}}}|||}||}|||||j t|| td || d|||ddS) NrtrYrrrVr]rXrri) r=rrrr0r*r+rrrrzrr} r1rrrrr"rrtinfos r#rzTestTimeTZ.test_picklings t}d#)7 , , %GYMM$..Eooe,,G   T7 + + + + **D,>,>q,A,ABBB%T844}}Q1U}33)7 9 9 %GYMM$..Eooe,,G   T7 + + +  ! !'.2F G G G   W..00)D2I2I2I J J J   W^^--x 8 8 8 8 **D,>,>q,A,ABBBBBr%c gd}tdd}|dddd|}|D]}tD]}||d }|||t |||jt||td || ddS) N)scdatetime time (S'\x05\x06\x07\x01\xe2@' ctest.datetimetester PicklableFixedOffset (tR(dS'_FixedOffset__offset' cdatetime timedelta (I-1 I68400 I0 tRsS'_FixedOffset__dstoffset' NsS'_FixedOffset__name' S'cookie' sbtR.scdatetime time (U@ctest.datetimetester PicklableFixedOffset )R}(U_FixedOffset__offsetcdatetime timedelta (JJ0 KtRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.scdatetime time U@ctest.datetimetester PicklableFixedOffset )R}(U_FixedOffset__offsetcdatetime timedelta JJ0 KRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubR.rrrVr]rXrgrr/r0ri) rr=r3r0rrrrzrr})r1rrr r5rrs r#r6zTestTimeTZ.test_compat_unpickles   .%T844==Aq&=?? = =D% = =%x888  (DJJ???%%gn6JKKK  !2!2!4!4i6M6M6MNNN  !1!18<<<<  = = =r%c|j}|dtdd}|||dtdd}|||dtdd}|||ddtd d}||dS) NrrrrrVi,rrr)r=rer)r1rZrs r#test_more_boolzTestTimeTZ.test_more_boolsm C+dB// 0 0 0  C+dB// 0 0 0  C+c2.. / / /  CB{:r:: ; ; ; r%c2|j}tdd}ttdd}dddd |g}||}|||d }d d d dd|ffD]C\}}|dd} || |<|| } |jdi||i} || | |dz }D||d|d} || j|| | |} ||| ||j| j|d}| t|jd| t|jd| t|jd| t|jddS)Nr+1008ri-200r&rYrUr[rrrrrrrr/r{r r|rfrrvr r=rerr0rr}rrr5rrr1rZz100zm200rr[rrrFr\r]r r^base2base3s r#r_zTestTimeTZ.test_replaces)m3''Id333V<<1aD!sDz t||~~... (**/&. 0  LD& 111gGGAJsG}H$,00$00C   Xs + + + FAA /// D )) %,''' %,,..))) T ** u%%% dk5<000s1vv *dl<<< *dl2>>> *dl3??? *dlHHHHHr%c|ddd}|ddd}||||d}||||tdd}||||tdd}|||Gddt }|}||}||}||td ||td |||||}|||kdS) Nr&rYrUrrrceZdZdZdZdS)-TestTimeTZ.test_mixed_compare..Variesc0td|_dSNrrirr7s r#rsz6TestTimeTZ.test_mixed_compare..Varies.__init__'333 r%cL|xjtdz c_|jSNr&rirqrrs r#rzz7TestTimeTZ.test_mixed_compare..Varies.utcoffset% y3333 {"r%Nrrr%r#Variesr2 4 4 4 # # # # #r%rrrir/) r=r0rrerrrzrrr1rrrvs r#rKzTestTimeTZ.test_mixed_compares ]]1a # # ]]1a # # R   ZZtZ $ $ R   ZZ{444Z 5 5 R   ZZ{1b11Z 2 2 B### # # # # #V # # # FHH ZZqZ ! ! ZZqZ ! ! 2)>)>)>??? 2)>)>)>??? R   ZZvvxxZ ( ( R     r%c  ddg}d}d}d}d}|ttj||||z }dtjtt dtt d d g}|D]}|D]}|j|d |i} | } || 5|j | } | | | dddn #1swxYwYdS)Nr)rrrr()rrr<)rVr)r[r)rir!rYrr]r.rrr ) r itertoolsproductrr6rr=rr3rr0) r1 time_exampleshhmmssusecrttuprrr t_rts r#rzTestTimeTZ.test_fromisoformatsk     "i/BDAABBB IA...//IAr:::;;=" . .D . .!DM4444{{}}\\t\,,..=66t<C; c ||dddd}tdtdtdd tdd d tdd ddg}|d|Dz }dtjttdg}|d|Dz }|D]}||}|}||5|j|}||ks J| dddn #1swxYwYdS)NrrrrrVrrYr]r.rrr'r[rrgr)cg|]}d|zSrrrs r#r$z:TestTimeTZ.test_fromisoformat_timezone..4rr%rc,g|]}t|Srrrs r#r$z:TestTimeTZ.test_fromisoformat_timezone..9rr%rr r )r1 base_timerrrrr r's r#r z&TestTimeTZ.test_fromisoformat_timezone*sMM"b"f55  A     2 2 2 Ar * * * BB 7 7 7 Aq!& I I I   22 2222 IA...//1 5595555 ' 'C!!!--A;;==D4(( ' '}22488Dyyy$yyyy ' ' ' ' ' ' ' ' ' ' ' ' ' ' '  ' 's8+D00D4 7D4 c vddg}dtjttdttdttddg}gd }t|D]\}}|D]}|D]}|d krd |d d zz}|d d |fz}|j|d d|zd|i} | |} || 5|j| } || | dddn #1swxYwYdS)N)rr<rrg)rr<rrr rrYr]r.rrrUrYr rr&rrr r) r1 time_basesrrrrrt_tuplerrr r's r#rz'TestTimeTZ.test_fromisoformat_timespecsCs   IB///00IA...//IAr:::;;= 555  ** 2 2FB 2 2) 2 2G^+++/72;$3F+G(")!B$-3C2E"E% 1r6 (;ISIIA;;;33D40022#}::4@@((D111222222222222222 2 2 2 2rcgd}|D]?\}}|j|}|j|}|||@dS)N))z 12:30:45.1)rrrr_)z 12:30:45.12)rrri)z 12:30:45.123)rrrix)z 12:30:45.1234)rrri)z12:30:45.12345)rrri:)z12:30:45.123456rrrrg)z12:30:45.1234567r0)z12:30:45.12345678r0)r=rr0)r1strstime_str time_compsr rs r#test_fromisoformat_fractionsz'TestTimeTZ.test_fromisoformat_fractions^so    %) / / Hj$t}j1H]00::F   VX . . . .  / /r%c gd|ddfd|ddfd|ddfd|ddfd|ddfd|ddfd|ddfd |ddfd |ddfd |ddfd |d dfd|d dfd|d dfd|d dfd|d dfd|d dfd|d dfd|d dfd|d dfd|d dfd|ddfd|ddfd|dddfd|dddfd|ddddfd|ddddfd |dddd!fd"|dddd!fd#|dddd$fd%|dddd$fd&|ddtj'fd(|d dtj'fd)|d dtj'fd*|ddttd+,'fd-|ddttd+d./'fd0|d dttd1,'fd2|d dttd1,'fd3|ddttdddd$4 'f}|D]c\}}||55|j|}|||dddn #1swxYwYddS)6N0000rz00:00000000r^z000000.0z 00:00:00.0z 000000.000z 00:00:00.000z 000000.000000z00:00:00.0000001200rz12:00120000z12:00:00z120000.0z 12:00:00.0z 120000.000z 12:00:00.000z 120000.000000z12:00:00.0000002359rrz23:59235959z23:59:59z235959.9i z 23:59:59.9z 235959.999r^z 23:59:59.999z 235959.999999r(z23:59:59.999999z 00:00:00Zrz 12:00:00+0000z12:00:00+00:00z 00:00:00+05rVrz00:00:00+05:30rrz12:00:00-05:00r z 12:00:00-0500z00:00:00,000-23:59:59.999999r)r)r=rr6rr3rr0rs r# test_fromisoformat_time_examplesz+TestTimeTZ.test_fromisoformat_time_examplesps, T]]1a(( ), dmmAq)) *, t}}Q** +, q!,, - , q!,, - , 4==A.. / , 4==A.. /, T]]1a00 1, dmmAq11 2,  a 3 3 4, T]]2q)) *, dmmB** +, t}}R++ ,, r1-- ., r1-- ., 4==Q// 0!, "4==Q// 0#, $T]]2q11 2%, &dmmB22 3', ( b! 4 4 5), *T]]2r** ++, ,dmmB++ ,-, .t}}RR00 1/, 0r2r22 31, 2r2r6:: ;3, 44==RV<< =5, 64==RV<< =7, 8T]]2r2v>> ?9, :dmmBB?? @;, < b"b& A A B=, >$--1X\-BB C?, @dmmB(,mGG HA, Bt}}R8<}HH IC, D ]]1a1C1C1C(D(D] E E GE, H ]]1aB1O1O1O(P(P] Q Q SI, L ]]2q)"2E2E2E)F)F] G G IM, P ]]2q)"2E2E2E)F)F] G G IQ, T, ]]1a)"bZ\kq2r2r2r1r(s(s] t t vU, \$, 3 3 Ix 22 3 344Y??  222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s81R55R9 <R9 c gd}|D]|}||5|t5|j|dddn #1swxYwYdddn #1swxYwY}dS)N)ru1200z12:z12:30:z 12:30:15.1z12:3z12:30:1z1a:30:45.334034z12:a0:45.334034z12:30:a5.334034z12:30:45.123456+24:30z12:30:45.123456-24:30u 12:30:4512:30:45.123456az12:30:45.123456789au12:30:45․123456z 12:30:45az 12:30:45.123ar?z12:30:45.123456-z12:30:45.123456+z12:30:45.123456+12:00:30ar3r4rs r#rz#TestTimeTZ.test_fromisoformat_failss   4  9 9Gg.. 9 9&&z2299M//888999999999999999 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9r6cddtjdg}|D]N}|t5|j|dddn #1swxYwYOdS)Ns12:30:45z12:30:45rrs r#rz-TestTimeTZ.test_fromisoformat_fails_typeerrors $ J(?(?@ ! 6 6H""9-- 6 6 ++H555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6rcGdd|j}|ddddtj}||}||||||dS)NceZdZdS).TimeSubclassNrrr%r#rrCrr%rrrdrir)r=rr6rrr0r)r1rtsctsc_rts r#rz&TestTimeTZ.test_fromisoformat_subclasss     4=   l2r2vhlCCC++CMMOO<< f%%% fl33333r%c Gfddj}ddddtddd f}j|}||id d i}|j||jd |jd |||d |j|j zd z dS)Nc$eZdZdZfdZdZdS)*TestTimeTZ.test_subclass_timetz..Crfc|}|d}jj|g|Ri|}||_|Srjrkrms r#rz2TestTimeTZ.test_subclass_timetz..C.__new__rqr%c&||jz|jzSr4rrss r#ruz2TestTimeTZ.test_subclass_timetz..C.newmethrr%Nrvr7sr#rxrHrr%rxr[rVr]rrr&rrXrfrZ) r=rer0rJrwrrzrurfrrzs` r#test_subclass_timetzzTestTimeTZ.test_subclass_timetzs 7 7 7 7 7 7 7 7 7 7!Q[ua888dmT"a&'1&& *** +++ A&&& #--//::: R#(SZ*?!*CDDDDDr%N)rKrbrcrr=rrrrr6rr_rKrr rr4r<rrrrLrr%r#rrs+H$$$U<U<U.NaivecdSr4rrxs r#rzz>TestDateTimeTZ.test_even_more_compare..Naive.utcoffset4rr%Nrrr%r#NaiverT3s 0 0 0 0 0r%rVrVr]rXceZdZdZdS)4TestDateTimeTZ.test_even_more_compare..Bogusc"tdS)Nrbrirrxs r#rzz>TestDateTimeTZ.test_even_more_compare..Bogus.utcoffset@s ....r%Nrrr%r#rrX?s# / / / / /r%rckSr4r)rrsr#rEz7TestDateTimeTZ.test_even_more_compare..Ds bBhr%) r=rerrr0rrrrrr)r1rVrrrs @@r#test_even_more_comparez%TestDateTimeTZ.test_even_more_compares% ]]1a;tR+@+@] A A ]]7BBB"-eR"8"8:: R    b!!! R    R    R   ]]1b"b"[B5G5G] H H ]]1aAr+i2L2L] M M R   ]]1b"b"[B5G5G] H H R   ]]1b"b"[B5G5G] H H R   ]]1b"b"[B5G5G"#%% R   ]]1b"b"[B5G5G'(** R   ]  B### R     y ) )   GG                1 1 1 1 1F 1 1 1 ]]1a5577] 3 3 B### R   ]]1a # # R    / / / / /F / / /]]1a5577] 3 3 ]]1a;q"+=+=] > > *&6&6&6&6&677777sJ((J,/J,c d}|j|}tD]G\}}}|||}||}|||H|||dtdd}|j|id|i}|dddtddd }tD]\}}}|||}||}|||| |j t|| td || d|||ddS) NrLrYrrrr&rrrri)r=rrrr0r*r+rrerrrzrr}rs r#rzTestDateTimeTZ.test_picklingFs)t}d#)7 , , %GYMM$..Eooe,,G   T7 + + + + **D,>,>q,A,ABBB%T844t}d8x&788--1a Ar10E0E-FF)7 9 9 %GYMM$..Eooe,,G   T7 + + +  ! !'.2F G G G   W..00)D2I2I2I J J J   W^^--x 8 8 8 8 **D,>,>q,A,ABBBBBr%cgd}d}tdd}|j|id|i}|D]}tD]}||d}|||||jt||td||ddS) N)scdatetime datetime (S'\x07\xdf\x0b\x1b\x14;\x01\x01\xe2@' ctest.datetimetester PicklableFixedOffset (tR(dS'_FixedOffset__offset' cdatetime timedelta (I-1 I68400 I0 tRsS'_FixedOffset__dstoffset' NsS'_FixedOffset__name' S'cookie' sbtR.scdatetime datetime (U  ;@ctest.datetimetester PicklableFixedOffset )R}(U_FixedOffset__offsetcdatetime timedelta (JJ0 KtRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubtR.scdatetime datetime U  ;@ctest.datetimetester PicklableFixedOffset )R}(U_FixedOffset__offsetcdatetime timedelta JJ0 KRU_FixedOffset__dstoffsetNU_FixedOffset__nameUcookieubR.)r-rr.r<rr&rgrrrr/r0ri) rr=r3r0rrrzrr})r1rrrr r5rrs r#r6z#TestDateTimeTZ.test_compat_unpickle]s   2/$T844 4=$<8U*;<< = =D% = =%x888  (333%%gn6JKKK  !2!2!4!4i6M6M6MNNN  !1!18<<<<  = = =r%c |dddtdd}t||tdddddd td d}t||d d d td d}|t t|dS) Nr&rrrrrrrr(rrVr)r=rerrrrrs r#test_extreme_hashesz"TestDateTimeTZ.test_extreme_hashess MM!Q+dB*?*?M @ @ Q MM'2r2r2v!,UB!7!7  9 9 Q MM!Q+eR*@*@M A A *dA.....r%ctdd}tdd}tdd}tddd d d | }tddd d d | }tddd dd | }||j|||j|||j|||t d||t d||t d||d||d||d|t|t||t|t||t|t|||||||||||t|d|t|d|t|dd}|t||dz|t||dz|t||dzdS)NrrrrrXrr^rUrrXrrrrriz2002-03-19 07:47:00-05:00z2002-03-19 12:47:00+00:00z2002-03-19 13:47:00+01:00zdatetime.datetime(2002, 3, 19, z7, 47, tzinfo=est)z12, 47, tzinfo=utc)z13, 47, tzinfo=met)) rerr0rrzrr}rrr)r1rr6rrrrrs r#rzTestDateTimeTZ.test_zoness $&&!U##"e$$ dArAr# 6 6 6 dAr2r# 6 6 6 dAr2r# 6 6 6 C((( C((( C((( 4)@)@)@AAA 1)=)=)=>>> 2)>)>)>??? e,,, e,,, e,,, b488,,, b488,,, b488,,, R    R    R    R"=>>> R"=>>> R"=>>> - b1';#;<<< b1'<#<=== b1'<#<=====r%c tdd}tddd}tdddd| }tj||}||tddddddd| dS NrXrr^rUr[r(rrr)rerrrrr0)r1rrrrys r#rzTestDateTimeTZ.test_combines"e$$ q!   "b!T# . . .  a $ $ XdAq"b!T/2444 5 5 5 5 5r%c tdd}|ddddddd| }||tddd||t dddd||t dddd| dSrb)rer=r0rrr)r1rrys r#rzTestDateTimeTZ.test_extracts"e$$ ]]4Ar2q$s] C C Dq!$4$4555 DRD$9$9::: d2r1d3&G&G&GHHHHHr%c z |jtdd}|}|j||j||  || tfd| tfd| tfd| tfd| tfd| z td | z td td d d   z|j| z}||j|| | z }||j|| || t fd| z ttjddd}||j|z }z z }| |||d d d tdd}|t"d dddddtdd} | |z } | | |jj|jjz tdzt)t*d} t)t*d} || | | z | |jj|jjz dS)Niz west 5:30rcz Sr4rrnowawaresr#rEz9TestDateTimeTZ.test_tz_aware_arithmetic.. S8^r%cz Sr4rrfsr#rEz9TestDateTimeTZ.test_tz_aware_arithmetic.. X^r%czSr4rrfsr#rEz9TestDateTimeTZ.test_tz_aware_arithmetic..rhr%czSr4rrfsr#rEz9TestDateTimeTZ.test_tz_aware_arithmetic..rjr%czSr4r)rgsr#rEz9TestDateTimeTZ.test_tz_aware_arithmetic..s X-@r%rr&ri.)rSrjrcz Sr4r)r, nowawareplussr#rEz9TestDateTimeTZ.test_tz_aware_arithmetic..s U\-Ar%rrbrandomtimezonerrrrrr(ri> rirr)r=rrerrrrr5rr0rrrrr randrangerzrrrrr)r1tz55 timeaware nowawareplus2rtzrr^r rrmaxdifftzatzbr,rrgros @@@@r#test_tz_aware_arithmeticz'TestDateTimeTZ.test_tz_aware_arithmeticsm!!4--HHJJ&&d&33 =((Y?? hot,,, **I666 )%;%;%;%;%;<<< )%;%;%;%;%;<<< )%;%;%;%;%;<<< )%;%;%;%;%;<<< )%@%@%@%@AAA sIaLL111 H,ill;;;2DAAA%'  hot,,,(  m*D111 }555e# dk4((( 4((( )%A%A%A%A%ABBB 0%888&*5$779IJJ#++3+77  l)3///%  ))++h.@.@.B.BBUJ h'''mmAq!Ke,D,DmEEmmGRRR#.ue#<#<>>) $-"3dm6G"G"+F";";";#< = = =tS!!tS!! 3 ''#++S+*A*AA  1DM4E EFFFFFr%c(|jj}|}tdd}||}||}||j|j||td|t|d|t|d|t|||t|||tdd d}ttd d d dttd d d fD]}tdD]}tj|} || j|tj |} | |} t!| | z tdkrn|ddS)Nrf42rrirrrrr6rrrweirdtzrUrrz0utcnow(), now(tz), or astimezone() may be broken)r=rrer5rr0rzrrrrrlrrrrrkfail) r1methr[off42anotheragainr6r}rrrnow2s r#test_tzinfo_nowzTestDateTimeTZ.test_tzinfo_nows} tvvB%%$u++ gnel333 **,,i.C.C.CDDD )T2... )T"555 )T777 )T5%888 !UA&&#IB$C$C$CYPQRR R!@!@!@)LLO N NGq N Nl7++ cj'222!**22#2>>((11sTz??Yr%:%:%:::E;  LMMM N Nr%ctddl}|jj}|j}||}tdd}|||}|||}||j|j||td| t||d| t||d| t|||| t||||| t|d }tj |} td d } t| d d} | | z} tj|| } || | ddS)Nrrfr{rrirrr|ri'rr)rr=rrer5rr0rzrrrrr_r)r1rrrr[rrrr utcdatetimerzrr r^s r#test_tzinfo_fromtimestampz(TestDateTimeTZ.test_tzinfo_fromtimestamp#s }* TY[[tBxxB%%$r5//RE""" gnel333 **,,i.C.C.CDDD )T2r222 )T2b999 )T2U;;; )T2ue<<< )T*** / :: C444 D! , ,*$Y33 3;;d;#;#;<<<<.DSTc^t|trt|}||_dSrhrkrlrdstvaluer1rs r#rsz:TestDateTimeTZ.test_tzinfo_timetuple..DST.__init__`/h,,;(:::H ( r%c|jSr4rrxs r#rz5TestDateTimeTZ.test_tzinfo_timetuple..DST.dstd }$r%NrKrbrcrsrrr%r#DSTr_s2 ) ) ) % % % % %r%r))r&)rr&)rr)Nr r&r'r<rrrrrrrrbr)rr=rr0rrrr r!r"r#r$r%rrr)r1rrZrflagrrs r#test_tzinfo_timetuplez$TestDateTimeTZ.test_tzinfo_timetuple\s % % % % %& % % %mC / /NHdAq!RRCCMMBBBA A   Q * * *   Q ) ) )   Q * * *   R + + +   R * * *   R * * *   Q * * *   Q * * *   T1: . . . . )SSAqS%B%B%B%LMMM Qq33t99555??AAJANNN Qq33u::666@@BBKQOOO *cc!AaD &B&B&B&LMMM *cc!AaE &C&C&C&MNNNNNr%c Gddt |j}|t|ddd djG fdd }dD]}|dd d d d d d|d|}|}||j|j||j |j ||j |j |d|j |d|j||j|j|||j||t)dddz dz|j|d|j|dd d d d d d}|}||dd|dd|d|jGdd }|dd d d d d d|}|}||dd|dd|d|jGdd }|dd d d d d d|}|t0|j|ddddddd}t2jt2jt2jfD]}||} || dd| t2jdd|t>ddddd|d} |t@| j|tBddd d!dd"|d#} |t@| j|jt3tD} |t@| j|jt3tD } |t@| jdS)$NceZdZddZdZdS)-TestDateTimeTZ.test_utctimetuple..DSTrc^t|trt|}||_dSrhrrs r#rsz6TestDateTimeTZ.test_utctimetuple..DST.__init__rr%c|jSr4rrxs r#rz1TestDateTimeTZ.test_utctimetuple..DST.dstrr%N)rrrr%r#rrs7 ) ) ) ) % % % % %r%rr&rrc"eZdZdfd ZdZdS).TestDateTimeTZ.test_utctimetuple..UOFSNc^||t||_dSrh)rsruofs)r1rdofsrs r#rsz7TestDateTimeTZ.test_utctimetuple..UOFS.__init__s- T4(((%d333 r%c|jSr4)rrxs r#rzz8TestDateTimeTZ.test_utctimetuple..UOFS.utcoffsets y r%r4r)rsr#UOFSrsB 4 4 4 4 4 4 ! ! ! ! !r%r)rrrNrYrUr'r<rrirrr ceZdZdZdS).TestDateTimeTZ.test_utctimetuple..NOFScdSr4rrxs r#rzz8TestDateTimeTZ.test_utctimetuple..NOFS.utcoffsetstr%Nrrr%r#NOFSrs#     r%rceZdZdZdS).TestDateTimeTZ.test_utctimetuple..BOFScdS)Nrrrxs r#rzz8TestDateTimeTZ.test_utctimetuple..BOFS.utcoffsetsur%Nrrr%r#BOFSrs#     r%rrrdrri+rrrrrrr(r)#rr=rrrz utctimetupler0r_rr`rrrr r!rr"rr#rhrr$r%rrrrr6rrrrrrr) r1rZrrrrrrrdtzrhugers @r#test_utctimetuplez TestDateTimeTZ.test_utctimetuples8 % % % % %& % % %m -#aAcc!ff555? A A A ! ! ! ! ! ! !3 ! ! !) , ,HAq!RRDDh4G4GHHHA  A   QVQY / / /   QWah / / /   QUAI . . .   R + + +   R * * *   QXqx 0 0 0   QYY[[!) 4 4 4   Q[[]]T!Q]]-D-D-F-FFJY ( ( (   Q + + + + C1aRR ( ( NN   3B3ss!3444 AJ'''     3    C1aRR 7 7 7 NN   3B3ss!3444 AJ'''     3    C1aRR 7 7 7 )Q^444 Cb"b"b& 1 1<x|< L LB))2)&&C   S--//4 ^^HL99CCEEcrcJ L L L L s7Aq!Q44::>>> -):;;;s7BBBttE{{KKK -):;;;whv&6&677 -):;;;whw&7&788 -):;;;;;r%c tdd}tdd}tdd}tdd}|j}d}d||||fD]%}d D]}|d d d d dd||} d|rdpdz} |dur| pd} | | z} | } || |dz| z|| | d|| d|dz| z|| d|dz| z|t | |dz| z 'dS)Nrr z+03:40iz-03:51rz 0001-02-03)riyr&rYrUr[rVrrz04:05:59z.987001rkuሴr)rer=r}rr0r)r1rplusminusunknownrZdatestrofsrqrtimestrofsstrtailstrisos r#test_tzinfo_isoformatz$TestDateTimeTZ.test_tzinfo_isoformats1h''3))D(++dB''mtUG3 B BC B BC1aAr2c:::$(8y(>B?D7QXXZZ=2!F*kkmm  gmg&=>>>  akk#&6&6777  S!1!17S=73JKKK  X!6!6(8JW8TUUU  Q3)@AAAA B B Br%c v|j}tdd}ttdd}dddd d d d |g}||}|||d }dddddddd|ffD]C\}}|dd} || |<|| } |jdi||i} || | |dz }D||d|d} || j|| | |} ||| ||j| j|ddd}| t|jddS)Nrrrrir r&rYrUr[rVr]rXrrTrUrVrrrrrrrSr~rrWrr r s r#r_zTestDateTimeTZ.test_replacesm3''Id333V<<1aAq!T*sDz t||~~... ()'(**/&.0  LD&111gGGAJsG}H$,00$00C   Xs + + + FAA /// D )) %,''' %,,..))) T ** u%%% dk5<000s4B *dl>>>>>r%ctdd}tdd}ttd d}|j|}||j||t|j|||j}||j|| | | | | | ||}||j|| | td|| z }|| |z }| | }| | | | | | | ||||j|j| ||dS) NNoner44rVrm300rr r)rerr=rr5rrrrr0rrrzrr)r1fnonef44mfm5hryrr^r s r#test_more_astimezonez#TestDateTimeTZ.test_more_astimezone s2D&))2t$$IA....77 ]  $  ' ' bi&&& *bmU;;; MM") $ $ ah%%% 27799--- 27799---mmD!! cj$''' )"*=*=*=>>> &DNN2&&&##4#00 X]]__555 X]]__555 x'8'8999 cj(/222 h'''''r%rc|jtj}||d||||dSr4)r=rrr6r0rrxs r#test_astimezone_default_utcz*TestDateTimeTZ.test_astimezone_default_utc)s_ ]  x| , , t,,b111 "-----r%rac|dddddtj}|}|||||dd|dddd dtj}|}|||||dd dS) Nrcrr[r]rrr z -0500 ESTrVz -0400 EDT)r=rr6rr0r)r1ryrs r#test_astimezone_default_easternz.TestDateTimeTZ.test_astimezone_default_eastern1s ]]4Q2hl] C C  U### 00+>>> ]]4Q2hl] C C  U### 00+>>>>>r%ctddddtj}|}|}||j|jdS)Nr-rr&rVr)rrr6rr0r)r1rrrs r#!test_astimezone_default_near_foldz0TestDateTimeTZ.test_astimezone_default_near_fold<sX T2q!HL 9 9 9 LLNN LLNN 18,,,,,r%c |j}Gddt}|ddddddd | }|d }|d }|d }|||fD]B}|||fD]:}||z } t|j|jz } || | ;C|ddddddd }|d |}|d|}|d|}|||fD]}|||fD]}||z } ||us||ur||us||urtd} nG||cxur|urnntd} n+||urtd } n||usJtd } || | dS)NceZdZdZdS)BTestDateTimeTZ.test_aware_subtract..OperandDependentOffsetcb|jdkrt|jStdSrrrs r#rzzLTestDateTimeTZ.test_aware_subtract..OperandDependentOffset.utcoffsetJrr%Nrrr%r#rrIrr%rrrr'rrrrdrrUr|rirrirO)r=rrrrr0) r1rZrr[rrrprrlr^r s r#test_aware_subtractz"TestDateTimeTZ.test_aware_subtractDscm 1 1 1 1 1V 1 1 1s1aRR4J4J4L4LMMM \\\ # # \\\ # # \\\ $ $R 0 0ARZ 0 0!e$QX-@AAA  h//// 0s1aRR,, \\+A+A+C+C\ D D \\+A+A+C+C\ D D \\,B,B,D,D\ E ER 0 0ARZ 0 0!eGGqBwwQ"WWR(||HH!\\\\r\\\\\(||HH"WW(;;;HH7777(;;;H  h//// 0 0 0r%c tddddddd}tddddddd}||||d}||||tdd }||||td d }|||Gd d t }|}||}||}||td ||td|||||}|||kdS)Nr&rYrUr[rVr]rXrrrceZdZdZdZdS)1TestDateTimeTZ.test_mixed_compare..Variesc0td|_dSrrr7s r#rsz:TestDateTimeTZ.test_mixed_compare..Varies.__init__}rr%cL|xjtdz c_|jSrrrs r#rzz;TestDateTimeTZ.test_mixed_compare..Varies.utcoffsetrr%Nrrr%r#rr|rr%rrrir/) rr0rrerrrzrrrs r#rKz!TestDateTimeTZ.test_mixed_compareps aAq!Q * * aAq!Q * * R   ZZtZ $ $ R   ZZ{444Z 5 5 R   ZZ{1b11Z 2 2 B### # # # # #V # # # FHH ZZqZ ! ! ZZqZ ! ! 2)>)>)>??? 2)>)>)>??? R   ZZvvxxZ ( ( R     r%c Gfddj}ddddddd td d d f}j|}||id di}|j||jd|jd|||d|j|j zdz dS)Nc$eZdZdZfdZdZdS)2TestDateTimeTZ.test_subclass_datetimetz..Crfc|}|d}jj|g|Ri|}||_|Srjrkrms r#rz:TestDateTimeTZ.test_subclass_datetimetz..C.__new__rqr%c&||jz|jzSr4)rfr_rss r#ruz:TestDateTimeTZ.test_subclass_datetimetz..C.newmethsty(4944r%Nrvr7sr#rxrsBI      5 5 5 5 5r%rxr^rrr[rVr]rKrrr&rrXrfrZ) r=rer0rJrwrrzrurfr_rzs` r#test_subclass_datetimetzz'TestDateTimeTZ.test_subclass_datetimetzs% 5 5 5 5 5 5 5 5 5 5RQ1c;tUA+F+FFdmT"a&'1&& *** +++ A&&& #--//::: R#(SX*=*ABBBBBr%N)rKrbrcrr=rPr[rr6r_rrrryrrrrrrrr_rr r@rrrrrKrrr%r#rNrNsH * * *C8C8C8JCCC.#=#=#=J / / />>><555III?G?G?GB#N#N#NJ!=!=!=F999 = = ="O"O"OHN<N<N<`BBB*%?%?%?N(((:W.. .W344??54?W344--54-*0*0*0X!!!<CCCCCr%rNc\d|z }|r|t|z }|S)Nr])rr)ry days_to_gos r#first_sunday_on_or_afterrs3RZZ\\!J$ i ### Ir%rirrVr[rYrc,eZdZdZdZdZdZdZdS) USTimeZonecZt||_||_||_||_dSNrr stdoffsetreprnamestdnamedstnamer1rrrrs r#rszUSTimeZone.__init__-"///    r%c|jSr4rr7s r#rvzUSTimeZone.__repr__r{r%cH||r|jS|jSr4rrrrxs r#r}zUSTimeZone.tzname$ 88B<< < < r%c<|j||zSr4rrrxs r#rzzUSTimeZone.utcoffset~ ,,r%c||jtS|j|usJtt|j}|dkr|jdkr |jdksJtt|j}|dkr|jdkr |jdksJ||dcxkr|kr nntStSNrWr]r[rXr'rr) rrrDSTSTARTrr_rr`rDSTENDrr1ryrtends r#rzUSTimeZone.dsts :*KyD    ))9)9rw)9)G)GHH}}!## q(8(8UY!^^^K'v~~27~'C'CDD{{}}!!ci2oo#'R---G BJJdJ++ 1 1 1 1c 1 1 1 1 1KKr%NrKrbrcrsrvr}rzrrr%r#rrs_    ---r%rr rrrr^CentralCSTCDTrZMountainMSTMDTiPacificPSTPDTri0UTCfakecteZdZeddddZeddddZeZdZd Zd Z d Z d Z d Z dZ dS)TestTimezoneConversionsr^r[rXrYr'r.r&cz||t||||||}||}||kr|jdkr||tz|||t |||||n||||tz}||} ||kr|jdkru|| |d|tz }||} || |ddS|| |z tdS)NrYrr&r{)r0rrrrrfrr) r1ryrr6dstondstoffasutcthere_and_back nexthour_utc nexthour_tzs r# checkinsidez#TestTimezoneConversions.checkinsides 4((( r**B/// c""))"-- 7799 $ $A   ^d2B 7 7 7   ^//114 8 8 8   ^66s;;]]3// 1 1 1 1   R 0 0 0t| "--b11 7799 % %"'Q,,   ["**!**<*< = = = D L&11"55K   ["**!**<*< = = = = =   [2-t 4 4 4 4 4r%c2||t||||||}||}|||dSr4)r0rrr)r1ryrr6r rs r# checkoutsidez$TestTimezoneConversions.checkoutside+s 4((( r**B/// c""))"-- ^,,,,,r%c |j|}|j|}tdtt tdtdfD]|}||||||||z||z fD]}||||||||||||z ||zfD]}||||}dS)NrrrWr&rir)r rr rDAYrrr)r1rr6r r r,duringoutsides r#convert_between_tz_and_utcz2TestTimezoneConversions.convert_between_tz_and_utc6s. """"-- $$B$//b)))***Q/// 1 4 4E   UBUF ; ; ;%-%7 A A  S%@@@@   fb# . . . 5=&5.8 4 4!!'2s3333 4 4 4r%c|tt|tt|tt|tt|tt|ttdSr4)rrutc_realrutc_faker7s r# test_easyz!TestTimezoneConversions.test_easyLs ''::: ''::: ''::: ''::: ''999 ''99999r%c z|jtdz }tddd}||}|jd}|t d}||||jd t }|jd }|t d}|||ttfD] }t tfD]}|j td z }|| dz}|| dz} | |} d D]} |j | } dD]m} | | }| | } | |}||d|n| tz } dS)Nr[riz-0900rrrUr{r]rfrr&rY)rr&r&rYrrrr|) r rrerrrr0rrrr rzr)r1fourbackninewestr r^sixutcr6rfirst_std_hourr  asutcbasetzhour expectedbaserastzs r# test_trickyz#TestTimezoneConversions.test_trickydsD:  2 2 22ugq11##8#44:%%1%--!!'**22$2?? 3'''##8#<<:%%1%--((000== 3'''X% & &Cw& & &!%yq/A/A/A!A",,t"4"44&t)<)<<"MMM55 *&&F#';#6#6F#6#C#CL"+NN#/#7#7v#7#F#F ) 1 1 1 @ @$//33((T)B)BHMMMM%II& & & &r%cGddt}|jt}||Gdd|}|t|j|Gdd|}|dd d t}|t|j|dS) NceZdZdZdZdS)2TestTimezoneConversions.test_bogus_dst..okctSr4rrxs r#rzz.ok.utcoffsetsD[r%ctSr4r-rxs r#rz6TestTimezoneConversions.test_bogus_dst..ok.dstsd{r%Nrrr%r#okr+s" 0 0 0 * * * * *r%r/rceZdZdZdS)5TestTimezoneConversions.test_bogus_dst..notokcdSr4rrxs r#rz9TestTimezoneConversions.test_bogus_dst..notok.dstrr%NrKrbrcrrr%r#notokr1s * * * * *r%r4ceZdZdZdS).tricky_notokc0|jdkrdSdtzS)NrSr')r_rrxs r#rz@TestTimezoneConversions.test_bogus_dst..tricky_notok.dsts7d??4d7Nr%Nr3rr%r# tricky_notokr6s# # # # # #r%r8rr&)rr=rrrrrr)r1r/rr4r8rys r#test_bogus_dstz&TestTimezoneConversions.test_bogus_dsts, + + + + + + + +m!!))):: rrtt + + + + +B + + + *cneegg>>>  # # # # #2 # # # ]]4A & & . .h . ? ? *bm\\^^DDDDDr%c |ttjt jt}|ttj||t}t|}| |j t|ttj|||ttjtj Gddt}|dddd}|jdt }||}d D]}|| }|d kr|td z}t|} | || ||jz}||} | || |t|} | || |t$z }|t$z }|jdt }||}dD]}|| }t|} | || ||jz}||} | || |t|} | || |t$z }|t$z }dS)NrceZdZdZdS).FauxUSTimeZonec||jzSr4)rrxs r#rzDTestTimezoneConversions.test_fromutc..FauxUSTimeZone.fromutcsDN**r%NrKrbrcrrr%r#FauxUSTimeZoner<s# + + + + +r%r?r FEasternFESTFEDTr[r)rrr&rUr[rVr{rr&rV)rr&r&rYrUr[)rrrrrrrrrr0rrrbrr rrrrr ) r1renowr?r@rtfstartwallr r^s r#rz$TestTimezoneConversions.test_fromutcs) )W_555o''x'88 *gos;;;kkk))s## g... )W_c3??? )W_djllCCC + + + + +Z + + +#N2zFFCC ""'"::h//%  D}}$}//HrzzI1----//%((C   Xs + + + 22H""6**C   Xs + + +...11<. W{-Br%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306.. [7-Br%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306.. W -Cr%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306.. [G-Cr%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306..rMr%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306..rOr%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306..rQr%ckSr4rrJsr#rEz+Oddballs.test_bug_1028306..rSr%Tr&r<)rFr)rrbrrrrrrrr0__eq__rrrWr_r`r)r1 different_day as_differentdate_sc datetime_scrKrLs @@r#test_bug_1028306zOddballs.test_bug_1028306s*,,&w77  ;.///  w./// K/000 /000 )%B%B%B%B%BCCC )%B%B%B%B%BCCC )%C%C%C%C%CDDD )%C%C%C%C%CDDD )%B%B%B%B%BCCC )%B%B%B%B%BCCC )%C%C%C%C%CDDD )%C%C%C%C%CDDD  44d;;; qB.2 "** *>>   55u===w|W]GKHH '*** '***'{'79J'.{Aq!==  k222 k22222r%c Ltjttjt t tt fD];}|t5d|_ dddn #1swxYwY22                    sBB B c Gdd}Gddt}d|dtjdtjd|d|dd fD]}|tt |dddddd |tt d|ddddd |tt dd|dddd |tt ddd|ddd |tt dddd|dd |tt ddddd|d |tt dddddd| dS) NceZdZdZdZdS)-Oddballs.test_check_arg_types..Numberc||_dSr4value)r1rfs r#rsz6Oddballs.test_check_arg_types..Number.__init__%s " r%c|jSr4rer7s r#__int__z5Oddballs.test_check_arg_types..Number.__int__'s z!r%N)rKrbrcrsrhrr%r#Numberrc$s2 # # # " " " " "r%riceZdZdS),Oddballs.test_check_arg_types..FloatNrrr%r#Floatrk*rr%rlg$@g%@r'z10.910)r-decimalDecimalrrr)r1rirlxxs r#test_check_arg_typeszOddballs.test_check_arg_types#s " " " " " " " "      E   t?2&&(?(?6"::vvd|| O OB   i2r2r2r2 N N N   i2r2r2r2 N N N   i2r2r2r2 N N N   i2r2r2r2 N N N   i2r2r2r2 N N N   i2r2r2r2 N N N   i2r2r2r2 N N N N O Or%N)rKrbrcr]r`rqrr%r#rGrGsG#3#3#3JOOOOOr%rGceZdZdZdS)tzinfo2cxt|tstd|j|urt d|d}|d}|||t||kr!||z}|}||kr|S||fD]U}||z}||kr|cS|d}||kr|cSVt d)*datetime in UTC -> datetime in local time.&fromutc() requires a datetime argumentdt.tzinfo is not selfrr9r&NzNo suitable local time found)rkrrrrrrzr)r1ryoff0off1ldtoffs r#rztzinfo2.fromutcAsJ"h'' FDEE E 9D 455 5zzqz!!++--zzqz!!++-- <4<26688+;  4<<t)C==??Dt|| $<  Cs(C}}#%% ++1+%%C}}#%% &7888r%Nr>rr%r#rsrs?s#99999r%rsc,eZdZdZdZdZdZdZdS) USTimeZone2cZt||_||_||_||_dSrrrs r#rszUSTimeZone2.__init__crr%c|jSr4rr7s r#rvzUSTimeZone2.__repr__ir{r%cH||r|jS|jSr4rrxs r#r}zUSTimeZone2.tznamelrr%c<|j||zSr4rrxs r#rzzUSTimeZone2.utcoffsetrrr%c||jtS|j|usJtt|j}|dkr|jdkr |jdksJtt|j}|dkr|jdkr |jdksJ|d}|tz|cxkr|kr nntS||cxkr|tzkrnn|j rtntS||cxkr|tzkrnn|j rtntStSr) rrrrrr_rr`rrrr:rs r#rzUSTimeZone2.dstusx :*KyD    ))9)9rw)9)G)GHH}}!## q(8(8UY!^^^K'v~~27~'C'CDD{{}}!!ci2oo#'R---GZZtZ $ $ 4<2 # # # # # # # # #K B # # # #t # # # # #7,44 , b ' ' ' '54< ' ' ' ' '7,44 ,Kr%Nrrr%r#r}r}as_    ---r%r}Eastern2Central2 Mountain2Pacific2c2eZdZdZdZdZdZdZdZdS)Europe_Vilnius_1941cRtdddd|tdddd|gS)Nr]rrrrrr7s r# _utc_foldzEurope_Vilnius_1941._utc_folds8q"b666q"b6668 8r%cRtdddd|tdddd|gS)Nrr]rrr/rrr7s r# _loc_foldzEurope_Vilnius_1941._loc_folds8q"b666q"a5557 7r%c|\}}||kr dtzS||kr|jrdndtzSdtzS)NrUrYrrr:r1ry fold_start fold_stops r#rzzEurope_Vilnius_1941.utcoffsetP $ 0 0 I ??t8O >>'AAa4/ /4xr%c|\}}||kr dtzS||kr|jrdndtzSdtzS)Nrr&rrs r#rzEurope_Vilnius_1941.dstrr%cj|\}}||krdS||kr d|jSdS)NMSK)rCESTr)rr:rs r#r}zEurope_Vilnius_1941.tznames? $ 0 0 I ??5 >>"27+ +vr%c|jdksJ|j|usJ|jdkrt|\}}||kr |dt zzS||kr!|dt zzdS|dt zzS)NrrrUrYr&r9)r:rr_rrrrrs r#rzEurope_Vilnius_1941.fromutcsw!||||yD    7d??% % $ 0 0 I ??D= >>TM***22 2AH}r%N) rKrbrcrrrzrr}rrr%r#rrsn888777     r%rcneZdZdZdZdZdZdZdZdZ e j dd Z e j d d Z d Ze j dd Ze j d dZe j ddZdZdZdZdZdZdZdZdZdZdS)TestLocalTimeDisambiguationc t}tddddddtj}||}||dd||jd || tdddd tj}||}||dd ||jd | | tdddd tj}||}||dd||jd | | dS)Nrr]rr<rrz%c %Z%zz!Mon Jun 23 23:59:59 1941 MSK+0300rrz"Mon Jun 23 23:00:00 1941 CEST+0200r&rz"Tue Jun 24 00:00:00 1941 CEST+0200) rrrr6rr0rr:rrr)r1Vilniusgdtrzs r#test_vilnius_1941_fromutcz5TestLocalTimeDisambiguation.test_vilnius_1941_fromutcs%''tQBBx|DDDnnW%% i00< > > > 1%%% ###tQBx|<<<nnW%% i00= ? ? ? 1%%%  """tQBx|<<<nnW%% i00= ? ? ? 1%%%  """""r%c t}tdddddd|}|tj}||ddtdddddd|}|tj}||dd tdddddd|d }|tj}||dd tddd d|}|tj}||dddS)Nrr]rrrrz%c %ZzMon Jun 23 19:59:59 1941 UTCzMon Jun 23 20:59:59 1941 UTCr&)rr:zMon Jun 23 21:59:59 1941 UTCr/rzMon Jun 23 22:00:00 1941 UTC)rrrrr6r0r)r1rrzrs r#test_vilnius_1941_toutcz3TestLocalTimeDisambiguation.test_vilnius_1941_toutcs{%''tQBBw???nnX\** g..7 9 9 9tQBBw???nnX\** g..7 9 9 9tQBBwQGGGnnX\** g..7 9 9 9tQAg666nnX\** g..7 9 9 9 9 9r%c Htdd}tdddd}||jd||jd|t 5tddddddddddS#1swxYwYdSNrr&r9)rrr0r:rrr1rrys r#test_constructorsz-TestLocalTimeDisambiguation.test_constructorss OOO aAA & & & ### !$$$   y ) ) & & Aq!T1 % % % & & & & & & & & & & & & & & & & & &s5BBBctdddd}|}||jd|}||jddS)Nr&r9)rrr0r:r)r1ryrs r# test_memberz'TestLocalTimeDisambiguation.test_membersh aAA & & & GGII ### IIKK #####r%c @td}tddd}||djd||djd||djd||djd|dt }|dt }||djd||djd|t5|ddddn #1swxYwY|t5|ddddn #1swxYwY|t5|ddddddddn #1swxYwY|t5|ddddddddd ddddS#1swxYwYdS)Nrr&r9)r:rrrY) rrr0rr:rrrrrs r#r_z(TestLocalTimeDisambiguation.test_replacesK GG aA   **/333 ++0!444 **/333 ++0!444 II1WI - - ZZQwZ / / $//4a888 4005q999   z * *   II1I                     z * *   JJAJ                    y ) ) ( ( IIaAtQ ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( (   y ) ) 5 5 JJq!Q1aD! 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5sH F00F47F4G88G<?G<II I(JJJctd}tddd}|||d|||ddSr)rrr0rrs r#rz+TestLocalTimeDisambiguation.test_comparison.sl GG aA   AII1I--... RZZQZ//00000r%cVtd}tddd}|t|t|d|t|t|ddSr)rrr0rrrs r# test_hashz%TestLocalTimeDisambiguation.test_hash4s GG aA   a$qyyay'8'8"9"9::: b4  (:(:#;#;<<<<Australia/Lord_Howe timezone is not supported on this platformiUrr&)rr[rrLrrr0r:)r1tmrrdrs r#test_fromtimestamp_lord_howez8TestLocalTimeDisambiguation.test_fromtimestamp_lord_howeBs _U # # >&" % % 4 4 MMZ [ [ [   #A & &  #AH - - R    !$$$ !$$$$$r%c`|tjdjddSrZ)r0rrr:r7s r#%test_fromtimestamp_low_fold_detectionzATestLocalTimeDisambiguation.test_fromtimestamp_low_fold_detectionRs. /227;;;;;r%ctddddd}|d}||dz|dS)NrrrYr&rr9r)rrr0r)r1rrs r#test_timestampz*TestLocalTimeDisambiguation.test_timestampWsftRAr**kkqk!! 4/ * * * * *r%ctjd}tjd|dkr|dt ddddd }|d }|d }||d z|dS) Nrrrrr-r[rVr&rrr9r)rr[rrLrrrr0)r1rrs0s1s r#test_timestamp_lord_howez4TestLocalTimeDisambiguation.test_timestamp_lord_howe^s _U # # >&" % % 4 4 MMZ [ [ [ T1aB ' ' YYAY   ( ( * * YYAY   ( ( * * dB'''''r%ctddddd}|d}|}|}||d||d||t z|||jd ||jd dS) NrrrYr&rr9rrr)rrrr0r}rr:)r1rradt0adt1s r#rz+TestLocalTimeDisambiguation.test_astimezonehstRAr**kkqk!!~~~~ ... ... d+++ A&&& A&&&&&r%cHtd}tdddd}tD]v\}}}||fD]k}|||}||}|||||dkrdn|j|jlwdS)Nr&r9r[r)rrrrrr0r:) r1rryrrr"rrrls r#test_pickle_foldz,TestLocalTimeDisambiguation.test_pickle_foldws aLLL aAA & & &)7 G G %GYW G GMM!U++OOA&&  A&&&  uqyy!!afqvFFFF  G G Gr%ctd}tdddd}|t|d|t|ddS)Nr&r9zdatetime.time(0, 0, fold=1)z(datetime.datetime(1, 1, 1, 0, 0, fold=1))rrr0rrs r#rz%TestLocalTimeDisambiguation.test_reprst aLLL aAA & & & a"?@@@ bC E E E E Er%c ptddddttjz }tddddt}||t ||t||dt ||dtdD]}tdddd|t}||t ||dtdD]}tdd d d|t}||t||dt dS) Nr^r'r.r&rrYr9rr[rX) rrrrr0rrrr)r1 dt_summer dt_winterrrys r#r z$TestLocalTimeDisambiguation.test_dstsT2r1X>>>AUU T2r1X>>>  $/// $/// ***226688$??? ***226688$???" = =F$B6(CCCB   RVVXXt , , ,   RZZQZ//3355t < < < <" = =F$1aAAAB   RVVXXt , , ,   RZZQZ//3355t < < < <  = =r%cTtddddttjz }tddddt}||dt z||dt z||d dt z||d dt zdS) Nr^r'r.r&rrYr\r r9)rrrrr0rzrr)r1rrs r#rz*TestLocalTimeDisambiguation.test_utcoffsetsT2r1X>>>AUU T2r1X>>>  ,,..T ::: ,,..T ::: ***22<<>>T JJJ ***22<<>>T JJJJJr%c(tddddttjz }tddddt}t|}t|}|||dt zz |||dt zz ||jd ||jd tddddd t}t|}|t z }t|}|||||jd ||jd tdddd d t}t|}||j|j fd tddddd t}t|}||j|j fd tddddd t}t|}||j|j fddS)Nr^r'r.r]rrXr[rVrrr&)rr)r.r&rY)r]r) rrrrrr0rr:rrf) r1u_summeru_wintert_summert_winterrrdrrs r#rz(TestLocalTimeDisambiguation.test_fromutcsHD"b!H=== @TTD"b!H===##H--##H-- 8a$h#6777 8a$h#6777 *** *** T2r1b : : :   a  T    a  R    !$$$ !$$$ T2r1b : : :   Q   !%(333 T2r1b : : :   Q   !%'222 T1aAh 7 7 7   Q   !%'22222r%c2tdddt}|||tjtdddt}|||tjdS)NrSr&rr])rrr0rrr6rs r#test_mixed_compare_regularz6TestLocalTimeDisambiguation.test_mixed_compare_regulars| T1a 1 1 1 ALL66777 T1a 1 1 1 ALL6677777r%ctdddddt}|tj}||||||dS)Nr^r'r.r&rrrrrrr6r)r1t_fold t_fold_utcs r#test_mixed_compare_foldz3TestLocalTimeDisambiguation.test_mixed_compare_foldsc$B2h???&&x|44  FJ/// J/////r%ctdddddt}|tj}||||||dS)Nr^r[rXrYrrr)r1t_gap t_gap_utcs r#test_mixed_compare_gapz2TestLocalTimeDisambiguation.test_mixed_compare_gapscq!Q8<<<$$X\22  E9--- Iu-----r%c6tdddt}|t|t|dtdddddt}tdd d d dt}|t|t|d|t|t|ddS) NrSr&rr9r^r'r.rr[rXrY)rrr0rr)r1rrrs r#test_hash_awarez+TestLocalTimeDisambiguation.test_hash_awares T1a 1 1 1 a$qyyay'8'8"9"9:::$B2h???q!Q8<<< ftFNNN,B,B'C'CDDD ed5==a=+@+@&A&ABBBBBr%N)rKrbrcrrrrr_rrr r@rrrrrrrrr rrrrrrrr%r#rrs###0999.&&&$$$555.111 === W344&&54&W.// % %0/ %<<< W344**54* W.//((0/(W344 ' '54 'GGGEEE===6KKK333B888 000 ... CCCCCr%rcptj|\}}t|dt||Sr4)rteenextrk)iterablernros r#pairsrs0 = " "DAqDMMM q!99r%ceZdZdZdZedZedZedZ e ddd Z dZ d Zd Zd Zd ZeddZeddZdZdZeddZdZdZdZd S)ZoneInfoz/usr/share/zoneinfocX||_||_||||_dS)z :param ut: array Array of transition point timestamps :param ti: list A list of (offset, isdst, abbr) tuples :return: None N)uttiinvertr)r1rrs r#rszZoneInfo.__init__s+++b"%%r%ctd|td|f}|r|ddtz}|ddxx|z cc<|ddxx|z cc<tdt|D]Y}|d|xx||dz dtzz cc<|d|xx||dtzz cc<Z|S)Nr#rr&)rSECrlr)rrrrqrrs r#rzZoneInfo.invertsCnneCnn -  ,U1X_F qE!HHH HHH qE!HHH HHH1c"gg&& , ,1aBqsGAJ#--1aBqE!HO+ r%c F|ddkrtd|dt d}||dt jdkr|t d}|||dt jdkr|t d }|||dg}t|d D]=}| tj d |d >||d }t|D]O\}\}} } || |d| } td|| | f||<Pdgt!|z} t|D]\}} || | |<||| }|S)Nr[TZifznot a zoneinfo filerrrrUrrrr&z>lbbr]rY)readdecoderseekrfromfilerI byteorderbyteswaprlrstructunpackrfindrr)rZfileobjcountsr type_indicesttisrrabbrsgmtoffisdstabbrindabbrridxr1s r#rzZoneInfo.fromfile s <<?? ! ! # #v - -233 3 Rs### =E ! ! OO    3ZZ GVAY''' =E ! ! KKMMMSzz gvay111vay!! @ @A KK fgll1oo>> ? ? ? ? VAY'',5T?? : : 'A'wAw!7!778??AAD F++UD9DGGVc"gg  --  FAsIBqEEs2r{{ r%ctj|j|}t |d5}||cdddS#1swxYwYdS)Nrb)ospathjoinzonerootopenr)rZrFrrs r#fromnamezZoneInfo.fromname/sw||CL$// $   #<<?? # # # # # # # # # # # # # # # # # #sAAArOr&ct|tstd|j|urt d||jz dz|jdzz|jdzz|j z}||j dkr|j d}d}ntj |j |}|j |dz |ksJ|t|j ks||j |ksJ|j |dz |\}}|d|dz }|td||j |dz z k}||dz }|r|d S|S) rurvrwr_rrXr&rrYr9)rkrrrrrh EPOCHORDINALrfrrrrbisect bisect_rightrrr)r1ryrttir:rtti_prevshifts r#rzZoneInfo.fromutc7s|"h'' FDEE E 9D 455 5llnnt'88EAw~&y2~&y! twqz ! !'!*CDD%dgy99C73q5>Y....#dg,,&&)dgcl*B*B*BB GCE#I.MHcQK#a&(EIaTWSU^)CDDDD c!f   ::1:%% %Ir%c||jz dz|jdzz|jdzz|jz}|j|j}tj||}|j td|dz |S)Nr_rrXrr&) rhrrfrrrr:rrrr)r1ryrrrrrs r#_find_tizZoneInfo._find_tiUsllnnt'88EAw~y2~y WRW !"i00ws1cAg'**r%c.||dSrZr rxs r#rzzZoneInfo.utcoffset_}}R###r%cN||d}|rtntSr)r rr)r1ryrs r#rz ZoneInfo.dstbs& b!$$ &tt$&r%c.||dS)NrYrrxs r#r}zZoneInfo.tznamejrr%Nc#pK||j}tj|d} t |}n#t $rYdSwxYw|5|D]I}|}|r1|ds|dVJ ddddS#1swxYwYdS)Nzzone.tab#rY) rrrrrristriprDr)rZzonedirzone_tabrlines r# zonenameszZoneInfo.zonenamesms ?lG7<<44 XAA    FF   * * * *zz||* 4 4***,,q/))) * * * * * * * * * * * * * * * * * * *s"= A  A A B++B/2B/cdx}x}x}}tjx}}tx}} tjx} } dx} } tjx}}dx}}t|dd}|D]}|dz }||}|D]\}}||kr |tkr@|dz }||f|| fkr|}|} |} |tj|z f|tj| z fkr|}|} |} W|tkrC|dz }| }||f| |fkr|} |}|}|tj|z f|tj|z fkr|}|}|}|dz }|||f}td|ztdt|f|zztd|dd| d| td |dd| d| td |dd|d|td | dd|d|dS) Nrr&zNumber of zones: %5dz@Number of transitions: %5d = %d (gaps) + %d (folds) + %d (zeros)zMin gap: z>16z at z in zMax gap: zMin fold: zMax fold: ) rrrrrrr transitionsprintr)rZ start_yearcount gap_count fold_count zeros_countmin_gapmin_foldmax_gapmax_foldmin_gap_datetimemax_gap_datetime min_gap_zone max_gap_zonemin_fold_datetimemax_fold_datetime min_fold_zone max_fold_zone stats_sincezonenamerryr  trans_countss r#statszZoneInfo.stats|s7888 8J&]*(!!(.6l:+&** |08 <-(,, z1a00   % %H QJEh''B^^-- % % E ##4<<NIr{g/?%@@@"''/ +-(x|b01WhlM]>]4^^^"''/ +-(T\\!OJ"FEr{h0A%BBB#((0 ,.)x|b01Xx|N_?_4```#((0 ,.)1$KK3 %4":{;  *U2333 PL!!#l24 5 5 5 WWWW>N>N>NP\P\]^^^ WWWW>N>N>NP\P\]^^^ XXXX?P?P?PR_R_`aaa XXXX?P?P?PR_R_`aaaaar%c#Ktt|j|jD]4\\}}\}}|d|dz }t j||fV5dSrZ)rrkrrrr_r1_prev_tirrr s r#rzZoneInfo.transitionsss%*3tw+@+@%A%A 6 6 !LQ'1bqEGAJ&E+A..5 5 5 5 5 6 6r%c#Ktt|j|jD]`\\}}\}}|d|dz }|tkr9|d|dkr't j|| |d|dfVadS)zLFind all folds with the same value of isdst on both sides of the transition.rr&rYN)rrkrrrrr_r2s r# nondst_foldszZoneInfo.nondst_foldss%*3tw+@+@%A%A N N !LQ'1bqEGAJ&Et||1 3 3/22UFGAJ1MMMM N Nr%Fc d}|D]d}||}|D]8\}}}} |j|ks|r|| kr|dz }t d|||||| fz9edS)Nrr&z%3d) %-30s %s %10s %5s -> %s)rrr6r_r) rZ same_abbrrrr.rryr  prev_abbrrs r#print_all_nondst_foldszZoneInfo.print_all_nondst_foldss  E EHh''B.0oo.?.? E E*E9d7Z''9'd9J9J 4hE9dCDEEEE  E E Er%c#bK|D]\}}|tkr|| fVdSr4rrr1rr s r#foldszZoneInfo.foldssH((**  HAut||%i  r%c#`K|D]\}}|tkr||fVdSr4r<r=s r#gapsz ZoneInfo.gapssF((**  HAut||h  r%c#JK|D] \}}|s|V dSr4)rr=s r#zeroszZoneInfo.zerossA((**  HAu   r%r4)r&)Fr&)rKrbrcrrsrr classmethodrrrrhrrr rzrr}rr0rr6r:r>r@rBrr%r#rrs$H & & &  \ ""["H##[# 4a##--//L<+++$$$'''$$$ * * *[ *-b-b-b[-b`666 NNN E E E[ E    r%rcreZdZdZdZdZdZdZej e e dddZ d S) ZoneInfoTestzAmerica/New_YorkcTtjdkr|dtjdkr|d t|j|_dS#t$r+}|d|jd|Yd}~dSd}~wwxYw)Nvxworksz"Skipping zoneinfo tests on VxWorksrz"Skipping zoneinfo tests on Windowsz Skipping z: )rIrCrLrrr.rFileNotFoundError)r1errs r#rzZoneInfoTest.setUps <9 $ $ MM> ? ? ? <7 " " MM> ? ? ? D'' 66DGGG  D D D MMMt}}}ccB C C C C C C C C C Ds $A22 B'< B""B'c||d|jt|jf|d|jt|jfdS)Nr)r0rr:idr)r1rnros r#assertEquivDatetimesz!ZoneInfoTest.assertEquivDatetimessl !))4)00!&"QX,,G))4)00!&"QX,,G I I I I Ir%c|j}|D]\}}d|zd|z|tjz fD]'}||z}|||}||jd|tj  |}| ||| }||d||z| | tj |tj )tj |fD]M}||z}||}||}||jdNdS)Nrrcrr&) rr>rrrrr0r:rr6rrLrz r1rryr rudtrzadtrzs r# test_foldszZoneInfoTest.test_foldss W . .IB%iuei6J.JK L L1fjjB!7!788  1---kkk66AA"EE))#s333MMOO   D!9!93?KKK))#..*F*F*-++X\+*J*JLLLL!++U3 . .1fkkk,,jjoo  1----  . . .r%c8|j}|D]\}}d|zd|z|tjz fD]}||z}||}||}||jd|tj  |}| ||| }||d|d|z||||z |z}| |d |d d|ztj |fD]K}||z}|||}||jdLdS)Nrrcrr&r9zAt %s.)rr@rrrrr0r:rr6rrLrz assertLessrNs r# test_gapszZoneInfoTest.test_gapss W . .IB%iuei6J.JK 0 01fkkk,,jjoo  1---kkk66AA"EE))#s333MMOO   D!9!93;;d;;S;SV_;_```jj2!6!677%?!C  3 3 = = ? ? #  3 3 = = ? ? (30000!++U3 . .1fjjB!7!788  1---- .! . .r%tzsetz"time module has no attribute tzsetc d|jvs|jdr|d|jz|j}tjd}|jtjd< tj| D]e\}}|j dkrnS|tdddz tz}|tz}dd d d |dz |d z|d zfD]}||z}tj |} tj ||d} || | | } ||| |d krtj ||dz z } | } | d}|| ||dz z||||dz z g|tjd=n|tjd<tjdS#|tjd=n|tjd<tjwxYw)NRiyadh8zright/z Skipping %sTZirOr&iir ri@i2rrYr9)r.rDrLrrenvirongetrrUrr_rrrrrLrr0)r1rrXrOr rr$rrsdttzdtrryts0ts1s r#test_system_transitionsz$ZoneInfoTest.test_system_transitionssb  & & ((22 ' MM-$-7 8 8 8 W Z^^D ! != 4  KMMM nn.. 7 7 U8t##EHT1a000S8c\$hAq&"y."y.B,,AQA"033C#1!R88@@@MMD--c4888B$$Q++++66!/33eai?B,,..C**!*,,6688C$$S"rAv+666$$S"rAv+666zJt$$#% 4 KMMMMM zJt$$#% 4 KMMMMs >4I2N) rKrbrcr.rrLrQrTrA skipUnlessrrr_rr%r#rErEs!HDDDIII...,....Xg D*****r%rEceZdZfdZxZS)ZoneInfoCompleteTestcpg}tdrtD]h}td|ztfi}||_t |D]5}|dr|||6it |dS)NtzdatazZoneInfoTest[%s]test_) rrrrrEr.r:rDrsuperrs)r1rrFTestmethodrJs r#rszZoneInfoCompleteTest.__init__Ds x ( ( 3 **,, 3 3.5 KK $ !$ii33F((113 TT&\\2223 r%)rKrbrcrs __classcell__)rJs@r#rbrbCs8          r%rbceZdZdZdS)IranTestz Asia/TehranN)rKrbrcr.rr%r#rkrkPsHHHr%rkzneed _testcapi moduleceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdS)CapiTestc|jjdr|dt jdS)NPurezNot relevant in pure Python)rJrKrErL _testcapitest_datetime_capir7s r#rzCapiTest.setUpVsG > " + +F 3 3 9 MM7 8 8 8 $&&&&&r%cdD]d}tj|}||5||tjdddn #1swxYwYedS)NTF) use_macro)rpget_timezone_utc_capir3r5rr6)r1rtcapi_utcs r# test_utc_capizCapiTest.test_utc_capi_s& 6 6I 6yAAH 22 6 6 h 555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s!AA #A c tj\}}}ttdd}ttd}d||fd||fd||fg}|D]\}}} ||5||| t dd d | } t dd d | } || | || | t dd d d tj } || tj| dddn #1swxYwYdS) Nr rrest_capi est_macro est_macro_nn)rFrSrYr[rrV) rpmake_timezones_capirrr3r0rr}r6r) r1ryrzr{ exp_named exp_unnamedcasesrFtz_acttz_exprrTrs r#test_timezones_capizCapiTest.test_timezones_capifs,5,I,K,K))\YR000%88 yr22233 9 - )Y / \; 7  %* G G D&&4(( G G  000tQ&999tQ&999  c***  szz||<<<!$1a EEE   !=!=vFFF G G G G G G G G G G G G G G G G GsCE**E. 1E. cGddt}t|fD]}dD]}||}|||5tj|\}}}|||j|||j|||jdddn #1swxYwYdS)NceZdZdS)=CapiTest.test_PyDateTime_DELTA_GET..TimeDeltaSubclassNrrr%r#TimeDeltaSubclassrrr%r)r7韆rrZr)rr3rpPyDateTime_DELTA_GETr0rTrr)r1rklassrrrTrrs r#test_PyDateTime_DELTA_GETz"CapiTest.test_PyDateTime_DELTA_GETsP          !23 C CE: C CE4L\\e$\77CC2;2PQR2S2S/D'<$$T16222$$Wai888$$\1>BBB CCCCCCCCCCCCCCC C C CA*B55B9 <B9 cGddt}t|fD]}dD]}||}|||5tj|\}}}|||j|||j|||jdddn #1swxYwYdS)NceZdZdS)2CapiTest.test_PyDateTime_GET..DateSubclassNrrr%r#rrrr%r))rSr&rY)rcrYr~r)rr3rpPyDateTime_GETr0r_r`r)r1rrrrr_r`rs r#test_PyDateTime_GETzCapiTest.test_PyDateTime_GETs6     4   L) 1 1E5 1 1E4L\\e$\7711'0'?'B'B$D%$$T16222$$UAG444$$S!%000 111111111111111 1 1 1rc  Gddt}t|fD]}ddddddd d tjffD]}||}||| 5t j|\}}}}} |||j|||j|||j |||j | | |j dddn #1swxYwY،dS) NceZdZdS);CapiTest.test_PyDateTime_DATE_GET..DateTimeSubclassNrrr%r#rrrr%r)rrrrrrrrrrrrrr) rrr6r3rpPyDateTime_DATE_GETr0rfrrrjr5r) r1rrrrrfrrrjrs r#test_PyDateTime_DATE_GETz!CapiTest.test_PyDateTime_DATE_GETs     x    01 4 4E92r2r5",() 4 4E4L\\e$\7744,5,I!,L,L>D&&+v$$T16222$$VQX666$$VQX666$$[!-@@@MM&!(333444444444444444 4 4 4sB"DD D cGddt}t|fD]}dddddtjffD]}||}|||5t j|\}}}}} |||j|||j|||j |||j | | |j dddn #1swxYwY،dS) NceZdZdS)7CapiTest.test_PyDateTime_TIME_GET..TimeSubclassNrrr%r#rrrr%r)rrr<r'rrr<r'r) rrr6r3rpPyDateTime_TIME_GETr0rfrrrjr5r) r1rrrrrfrrrjrs r#test_PyDateTime_TIME_GETz!CapiTest.test_PyDateTime_TIME_GETs     4   L) 4 4E)b"b(,79 4 4E4L\\e$\7744.7.KA.N.N>D&&+v$$T16222$$VQX666$$VQX666$$[!-@@@MM&!(333444444444444444 4 4 4sB"C>>D D c^tj\}}}|d5||tjdddn #1swxYwY|d5||tjdddn #1swxYwY|d5||tjt tdd}|||tdd d | }tdd d | }||||| | ddddS#1swxYwYdS) Nutc0)testnameutc1non_utcrrrrSrYr[r) rpget_timezones_offset_zeror3r5rr6rrr0rr})r1rrr non_utc_exprrTs r#test_timezones_offset_zeroz#CapiTest.test_timezones_offset_zerosA'ACCdG \\6\ * * . . MM$ - - - . . . . . . . . . . . . . . .\\6\ * * . . MM$ - - - . . . . . . . . . . . . . . .\\9\ - - 9 9   Whl 3 3 3"91#5#5#5r::K   Wk 2 2 24Ag666C4Ak:::C   S# & & &   SZZ\\3::<< 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s6!AA"A.DateSubclassNrrr%r#rrrr%rr&T 2011-01-01rrrsargexact) rrrpdatetime_check_daterrrrrrr6rr3) r1rrdsryis_daterrrs r#test_check_datezCapiTest.test_check_dates     4    q!   \$1 % % dAq ! !/  ###  $$$  $$$ 4(())) T**+++ T**+++L! hlDRLL: : :C& : :\\c\77::$$WWS%%8%8999::::::::::::::: : : :s+ FF F c Gddt}tdd}|dd}tj}|||||||||d|||dt t ddtdtj tdddg}|D]U}d D]P}| || 5||||dddn #1swxYwYQVdS) NceZdZdS).CapiTest.test_check_time..TimeSubclassNrrr%r#rrrr%rrrTr&rrrsr) rrpdatetime_check_timerrrrrrr6rr3)r1rrris_timerrrs r#test_check_timezCapiTest.test_check_times     4    RLL \"b ! !/  ###  $$$ 4(())) T**+++L! hlDq!,<,<> : :C& : :\\c\77::$$WWS%%8%8999::::::::::::::: : : : EE E c Gddt}tddddd}|ddddd}tj}|||||||||d|||dt t ddtdtj tdddg}|D]U}d D]P}| || 5||||dddn #1swxYwYQVdS) NceZdZdS)6CapiTest.test_check_datetime..DateTimeSubclassNrrr%r#rrrr%rrr&rrTrrsr) rrpdatetime_check_datetimerrrrrrr6rr3)r1rryr is_datetimerrrs r#test_check_datetimezCapiTest.test_check_datetime s     x   dAq"b ) )tQ2r227   B(((  C(()))  B--... S$//000L! hlDq!,<,<> > >C& > >\\c\77>>$$[[e%<%<===>>>>>>>>>>>>>>> > > >s" EE E c Gddt}td}|d}tj}|||||||||d|||dt t ddtjtdddtdddg}|D]U}dD]P}| ||5||||dddn #1swxYwYQVdS) NceZdZdS)4CapiTest.test_check_delta..TimeDeltaSubclassNrrr%r#rr(rr%rr&Trrrsr) rrpdatetime_check_deltarrrrrr6rrr3)r1rr[tds is_timedeltarrrs r#test_check_deltazCapiTest.test_check_delta's         q\\"" 5   R(()))  S))***  R../// c400111L d4A..q!0D0DF ? ?C& ? ?\\c\77??$$\\#u%=%=>>>??????????????? ? ? ?rc HGddt}t}|}ttd}tj}||||||||||||d|||d|||dttddtdddtdddg}|D]U}d D]P}| || 5||||dddn #1swxYwYQVdS) NceZdZdS)2CapiTest.test_check_tzinfo..TZInfoSubclassNrrr%r#TZInfoSubclassrBrr%rr rTr&rrrsr) rrrrpdatetime_check_tzinforrrrrrr3) r1rrtzisr is_tzinforrrs r#test_check_tzinfozCapiTest.test_check_tzinfoAs     V   hh~ ib))) * *3   #'''  " &&&  $(((  #t,,--- 2t,,--- 4..///LT1a  (4A"6"68 < tddddddd}dD]}|| 5tj||j|j|j|j|j|j |j }| ||dddn #1swxYwYdS) Nrrrrrrrrr) rr3rpget_datetime_fromdateandtimer_r`rrfrrrjr0rs r#test_datetime_from_dateandtimez'CapiTest.test_datetime_from_dateandtimeksD!RRU;; 7 7EE** 7 7&CMNLMOO(**   X666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sABB B ctddddddd}dD]}d D]}||| 5tj||j|j|j|j|j|j |j |j }| ||| |j |j dddn #1swxYwYdS) Nrrrrrrrrr&rrr:) rr3rp#get_datetime_fromdateandtimeandfoldr_r`rrfrrrjr:r0)r1rr:rrs r#%test_datetime_from_dateandtimeandfoldz.CapiTest.test_datetime_from_dateandtimeandfold|s<D!RRU;; E ED$ E E\\D\99 E E!*!N       ,  "' "'J$$Z:::$$Z_hmDDD E E E E E E E E E E E E E E E E E EsA;B<<C C c tdddd}dD]r}||5tj||j|j|j|j}|||dddn #1swxYwYsdS)Nrrrrrr) rr3rpget_time_fromtimerfrrrjr0)r1exp_timer c_api_times r#test_time_from_timezCapiTest.test_time_from_timesBE** 7 7EE** 7 7&8MOO( **   X666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sAA<<B B c ltdddd}dD]}dD]}|||5tj||j|j|j|j|j}| ||| |j|jdddn #1swxYwYdS)Nrrrrrrr) rr3rpget_time_fromtimeandfoldrfrrrjr:r0)r1rr:rrs r#test_time_from_timeandfoldz#CapiTest.test_time_from_timeandfolds'BE** E ED$ E E\\D\99 E E!*!C    , "'"'J$$Z:::$$Z_hmDDD E E E E E E E E E E E E E E E E E EsA)B''B+ .B+ ctddd}dD]l}||5tj||j|j|j}|||dddn #1swxYwYmdS)Nrrrrr)rr3rpget_delta_fromdsurTrrr0)r1 exp_deltar c_api_deltas r#test_delta_from_dsuzCapiTest.test_delta_from_dsusb"e,,   9 9EE** 9 9'9N%* ,,   i888 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9rc @tddd}dD]w}||5tjt ||}||tddddddn #1swxYwYxdS)Nr[rrr)rrr3rpget_date_fromtimestamprlr0r)r1rrrs r#test_date_from_timestampz!CapiTest.test_date_from_timestamps dAr " " , , . .  7 7EE** 7 74SWWeDD  Dq"$5$5666 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7sABB B c dddttddfddd ttddfg}tj}|D]}d D]}||| 5|\}}}t |d |i}t |} || |||} ||| dddn #1swxYwYdS) N)rr[rNF)rNTrr&rT)rr[rrdrNF)rNTrr)caserr) rrrpget_datetime_fromtimestampr3rrlrr0) r1rrrrdtuprusetzdt_origrrs r#test_datetime_from_timestampz%CapiTest.test_datetime_from_timestampsT ( ' HYQ%7%7%788$ ? 0 / "HYQ-?-?-?$@$@$ G  #= 5 5D$ 5 5\\t5\9955*.'D&%&>>4???4<<<: 7 7 7777"EEE( 7 7 7EEE" 9 9 977755555r%rmcH|t|Sr4)addTestrb)loaderstandard_testspatterns r# load_testsr s#/11222 r%__main__)rrrrrr rn functoolsrIrr rr8rrAroperatorrrrrrr r r r testr test.supportrrrrrr/rrrrrrrrrrp ImportErrorrr_loadsr3rlrPrrrr-rrTestCaser,rerrrrrr:rQrQrWr\rrrErIrKrrrNrrrrrrrrrrrrrrr rGrsr}rrrrrrrrrrE TestSuiterbrkrBrmr rKmainrr%r#r s    CCCCCCCCCCCCCCCCCCCCCCJJJJJJJJJJJJ""""%%%%%%%%########III fm, CC$uV%f599999$r2r *  eEll eEll 5)5)5)5)5)"5)5)5)v     &   &<<<<<;<<< EEEEE$8EEEf^/^/^/^/^/"^/^/^/B{D{D{D{D{D8${D{D{DB.7.7.7.7.7.7.7.7fsssss+X->sssr)))))8$)))B4z ;z ;z ;z ;z ;&(9z ;z ;z ;@xN7N7N7N7N78N7N7N7b(     <   4G9G9G9G9G9&(9G9G9G9X ]4]4]4]4]4]4]4]4BWEWEWEWEWE:x'8WEWEWExs Cs Cs Cs Cs C\:x/@s Cs Cs Cn y|| 1   yqiQ 8Aq!Q   !RQ  ((((((((T :b)eU 3 3 :b)eU 3 3 :b*eU 3 3 :b)eU 3 3 ;q% # # ;vy! , ,}}}}}h/}}}FEOEOEOEOEOx EOEOEOZ99999f999D11111'111f KJ 6 6 KJ 6 6 KK 6 6 KJ 6 6/////&///dOCOCOCOCOC("3OCOCOCbi1oo cccccvcccLkkkkk8$kkk\      8-    |d"$;<<D5D5D5D5D5x D5D5=<D5N   zHMOOOOOsB!!B+*B+