
    -jc                        S SK Jr  S SKJr  S SKrS SKrS SKJr  S SK	J
r
  S SKJrJr  S SKJr  S SKJrJrJrJrJrJr  S SKJr   " S	 S
5      r " S S5      rS rS rS rS rS r S r!S r"\RF                  RI                  S\%" SSSSSSSS.RM                  5       5      5      \RF                  RI                  S\RN                  \RP                  \RR                  \RT                  \RV                  \RX                  /5      S 5       5       r-\RF                  RI                  S/ S Q5      S! 5       r.S" r/\RF                  RI                  S#/ S$Q5      S% 5       r0\RF                  RI                  S#/ S&Q5      S' 5       r1\RF                  RI                  S(S)\" S*S+S,S-S-S.S/94S0\" S1S+S,S-S-S.S/94S2\" S3S.S4S5S694S7\" S8S994S:\" S-S;94S<\" S=S>94S?\" S=S@94SA\" S=SBSCSCS694SD\" S=SE94SF\" S SE94SG\" SHS SI94SJ\" S=SK94SL\" S=S=SM94SN\" SHSK94SO\" SPSE94SQ\" S=SK94SR\" S1S,SS94ST\" S1SUSS94SV\" S*SUSS94/5      SW 5       r2\RF                  RI                  SX/ SYQ5      SZ 5       r3\RF                  RI                  S[\" S\S99S]4\" S=S=S=S=S=S=S=S=S^9S_4\" S=S;9\" S=S99-   S`4\" S=S;9\" S=S99-
  Sa4\" S=S;9S5\" SbS99-  -   Sc4/5      Sd 5       r4Se r5Sf r6Sg r7\RF                  Rq                  Sh5      \RF                  RI                  Si\SjS4\SjS4\/ SkQS4/5      Sl 5       5       r9\RF                  RI                  SmSn V Vs/ s H#  n \" SoU Sp9  H  nSqRu                  U5      PM     M%     snn 5      Sr 5       r;Ss r<St r=Su r>Sv r?gs  snn f )w    )	timedelta)productN)OutOfBoundsTimedelta)NpyDatetimeUnit)is_numpy_devnp_version_gt2_5)Pandas4Warning)IndexNaT	TimedeltaTimedeltaIndexoffsetsto_timedeltac                        \ rS rSrS rS rSrg)$TestTimedeltaConstructorKeywordBased   c                 :    [        SS9nUR                  S:X  d   eg )N  nanosecondsnsr   unitselftds     g/mnt/data/Frawley/.venv/lib/python3.13/site-packages/pandas/tests/scalar/timedelta/test_constructors.pytest_nanosecond_keyword<TestTimedeltaConstructorKeywordBased.test_nanosecond_keyword   s    4(ww$    c                 X    [        SS9nUR                  S:X  d   eU[        SS9:X  d   eg )Ng      ?microsecondsr   i  r   r   r   s     r   test_noninteger_microsecondsATestTimedeltaConstructorKeywordBased.test_noninteger_microseconds"   s/    C(ww$Y40000r     N)__name__
__module____qualname____firstlineno__r   r$   __static_attributes__r&   r    r   r   r      s    
1r    r   c            
          \ rS rSrS r\R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      S 5       r	\R                  R                  S	S
/S V Vs/ s H  oS4PM     snn -   S V Vs/ s H  nUS4PM	     snn -   S V Vs/ s H  nUS4PM	     snn -   S V Vs/ s H  nUS4PM	     snn -   S V Vs/ s H  nUS4PM	     snn -   S V Vs/ s H  nUS4PM	     snn -   5      \R                  R                  S\
R                  \\/5      S 5       5       r\R                  R                  S/ SQ5      S 5       rS rS rSrgs  snn f s  snn f s  snn f s  snn f s  snn f s  snn f )#TestTimedeltaConstructorUnitKeyword)   c                    S H;  n[        SUS9nUR                  U:X  d   e[        SUS9nUR                  U:X  a  M;   e   S H;  n[        SUS9nUR                  S:X  d   e[        SUS9nUR                  S:X  a  M;   e   g )N)smsusr      r   )WDhmr0   r   r   r   )r   r   r   s      r   test_result_unit4TestTimedeltaConstructorUnitKeyword.test_result_unit*   s    +D14(B77d?"?ad+B77d?"? , )D14(B77c>!>ad+B77c>!> )r    r   )YyMc                    Sn[         R                  " [        US9   [        SU5        S S S 5        [         R                  " [        US9   [	        SU5        S S S 5        [         R                  " [        US9   [	        SS/U5        S S S 5        g ! , (       d  f       Nm= f! , (       d  f       NP= f! , (       d  f       g = f)Nz/Units 'M', 'Y', and 'y' are no longer supportedmatch
   r3      pytestraises
ValueErrorr   r   r   r   msgs      r   test_unit_m_y_raises8TestTimedeltaConstructorUnitKeyword.test_unit_m_y_raises;   s    ?]]:S1b$ 2 ]]:S1T" 2 ]]:S1!Q& 21 21 21 21s#   B
B!8B2
B!
B/2
C zunit,unit_depr))r5   w)r6   d)minMIN)r0   S)r7   H)r1   MS)r2   USc                     SU S3n[        SUS9n[        R                  " [        US9   [        SUS9nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)N'z8' is deprecated and will be removed in a future version.r3   r4   r@   )r   tmassert_produces_warningr	   assert_equal)r   r   	unit_deprrI   expectedresults         r   test_unit_deprecated8TestTimedeltaConstructorUnitKeyword.test_unit_deprecatedH   sY     )TUQT*''cBqy1F C
) CBs   A
A#zunit, np_unit)r5   r5   )r6   daysdayDaysDayr6   )r8   minuterN   minutesMinuteMinMinutesr8   )r0   secondssecsecondSecondsSecSecondr0   )	r1   millisecondsmillisecondmillimillisMillisecondsMillisecondMilliMillisr1   )	r2   r#   microsecondmicromicrosMicrosecondsMicrosecondMicroMicrosr2   )	r   r   
nanosecondnanonanosNanoseconds
NanosecondNanoNanosr   wrapperc           	      h   US;  a  UOSn[        [        R                  " S5      R                  5        Vs/ s H  n[        R                  " XR5      PM     snSU S3S9n[        U" [        S5      5      US9n[        R                  " Xv5        [        R                  " S5       Vs/ s H  o U 3PM
     n	nUS:w  a  S	OSn[        U" U	5      5      n[        R                  " XvR                  U5      5        [        U" U	5      5      n[        R                  " XvR                  U5      5        [        [        R                  " S
U5      5      R                  U5      n[        S
US9nXv:X  d   e[        S
US9nXv:X  d   e[        SU 35      nXv:X  d   e[        SU 35      nXv:X  d   eg s  snf s  snf )N)r5   r6   r8   r0      zm8[])dtyper4   r   r2   rC   2)r   nparangetolisttimedelta64r   rangerV   assert_index_equalas_unitr   )
r   r   np_unitr   exp_unitirZ   r[   xstr_reprs
             r   test_unit_parser4TestTimedeltaConstructorUnitKeyword.test_unit_parser]   s   V &_<7#!1311D1D1FG1FAR^^A'1FGz#

 geAh/d;
f/*,))A,7,Qc$L,7"d?4gh/0
f&6&6x&@Agh/0
f&6&6x&@A R^^Aw78@@Jad+!!!14(!!!$j)!!!Qtf:&!!!1 H 8s    F*'F/)TtLlUuNnc                    SU 3n[         R                  " [        US9   [        SUS9  S S S 5        [         R                  " [        US9   [	        SU5        S S S 5        [         R                  " [        US9   [	        SS/U5        S S S 5        g ! , (       d  f       Nm= f! , (       d  f       NP= f! , (       d  f       g = f)Nzinvalid unit abbreviation: r@   r3   r4   rB   rC   rD   rH   s      r   test_unit_T_L_N_U_raises<TestTimedeltaConstructorUnitKeyword.test_unit_T_L_N_U_raises   s    +D62]]:S1ad# 2 ]]:S1T" 2 ]]:S1!Q& 21 21 21 21s#   BB"9B3
B"
B03
Cc                     [        SSS9nUR                  S:X  d   eU[        SSS9:X  d   e[        SSS9nUR                  S:X  d   eU[        SSS9:X  d   eg )Ng     F@r0   r4   -   r9   r   s     r   test_unit_round_float9TestTimedeltaConstructorUnitKeyword.test_unit_round_float   sf     t#&ww#~~Yr,,,,$S)ww#~~Yr,,,,r    c                     [        SSS9nUR                  S:X  d   eU[        SSS9:X  d   e[        SSS9nUR                  S:X  d   eU[        SSS9:X  d   eg )Ng     F@r0   r4   r   i  r1   r9   r   s     r   test_unit_non_round_float=TestTimedeltaConstructorUnitKeyword.test_unit_non_round_float   sd    t#&ww$YvD1111$S)ww$YvD1111r    r&   N)r'   r(   r)   r*   r:   rE   markparametrizerJ   r\   r   arraylistr
   r   r   r   r   r+   ).0values   00r   r-   r-   )   s   "" [[V_5
' 6
' [[	
** [[	%H
I%HE3<%H
I	J
 CL
	
 
 CL
	
8


 DM

5'	
T


 DM

Q5	
p


 DM

mC	
FN [[Y4(?@" AOFP"> [[V%MN	' O	'	-2w J




s$   /EE#E)6E/E5&E;r-   c                      Sn [         R                  " [        U S9   [        SS9  S S S 5        Sn [         R                  " [        U S9   [        SS9  S S S 5        g ! , (       d  f       N<= f! , (       d  f       g = f)NzKseconds=86400000000000000000, milliseconds=0, microseconds=0, nanoseconds=0r@   i@B r^   zKseconds=60000000000000000000, milliseconds=0, microseconds=0, nanoseconds=0 ʚ;rc   rE   rF   r   r   rI   s    r   #test_construct_from_kwargs_overflowr      sY    
WC	+3	7u 
8
WC	+3	7%  
8	7 
8	7 
8	7s   
A	
A-
A*-
A;c                      Sn [         R                  " [        U S9   [        SSS9  S S S 5        [         R                  " [        U S9   [        SSS9  S S S 5        g ! , (       d  f       N;= f! , (       d  f       g = f)Nz1000000000000000000 weeksr@        NZor5   r4   g NgmCr   r   s    r   'test_construct_with_weeks_unit_overflowr      s\    
%C	+3	7%C0 
8 
+3	7'c2 
8	7 
8	7 
8	7s   AA-
A*-
A;c                  r   [         R                  " SS5      n Sn[        R                  " [        SS9   [
        R                  " [        US9   [        U SS9  S S S 5        S S S 5        [        R                  " [        SS9   [
        R                  " [        US9   [        U SS9  S S S 5        S S S 5        [        R                  " [        SS9   [        U 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nf= f! , (       d  f       No= f! , (       d  f       g = f)	Nl    J.mr7   z;The 'unit' keyword is only used when the Timedelta input isz123456789000000000 hoursr@   psr4   r   )	r   r   rE   rF   r   rV   rW   UserWarningr   )objrI   s     r   "test_construct_from_td64_with_unitr      s     ..+S
1C
GC	+3M	N''3?c% @ 
O 
+3M	N''3?c% @ 
O 
+3M	N# 
O	N @? 
O	N
 @? 
O	N 
O	NsS   C5C$C5DD&DD($
C2	.C55
D
D	D
D%(
D6c                  l   [         R                  " SS5      n [        U 5      nUR                  U R	                  S5      :X  d   eUR
                  [        R                  R                  :X  d   e[         R                  " SS5      n[        U5      nUR
                  [        R                  R                  :X  d   eX2:X  d   eUR                  S:X  d   e[         R                  " SS5      n[        U5      nUR                  5       S:X  d   eUR
                  [        R                  R                  :X  d   eg )	Ni90  r1   i8i  r6   r   r2   l    J))r   r   r   _valueview_cresor   	NPY_FR_msr   NPY_FR_sr^   total_seconds	NPY_FR_us)r   r   obj2td2obj3td3s         r    test_from_td64_retain_resolutionr     s    
..
%C	3B99&&&991177777 >>$$D
D/C::1177777;;88t >>-t4D
D/C-///::2288888r    c                      [        SSS9n [        U 5      nUR                  5       U :X  d   eUR                  [        R
                  R                  :X  d   eg )N      )r^   rc   )r   r   to_pytimedeltar   r   r   r   )r   r[   s     r   test_from_pytimedelta_us_resor   #  sL    	1	%Br]F  "b(((==O55;;;;;r    c                     [         R                  " 5       n [        U 5      R                  [        R
                  R                  :X  d   e[         R                  " 5       n [        U 5      R                  [        R                  R                  :X  d   e[         R                  " 5       n [        U 5      R                  [        R                  R                  :X  d   e[         R                  " 5       n [        U 5      R                  [        R                  R                  :X  d   e[         R                  " 5       n [        U 5      R                  [        R                  R                  :X  d   e[         R                  " 5       n [        U 5      R                  [        R                  R                  :X  d   e[         R                  " 5       n Sn[         R"                  " [$        US9   [        U 5        S S S 5        g ! , (       d  f       g = f)NzRValue must be Timedelta, string, integer, float, timedelta or convertible, not Dayr@   )r   r   r   r   r   	NPY_FR_nsr   rz   r   rs   r   rl   r   rd   Hourra   rE   rF   rG   )tickrI   s     r   test_from_tick_resor   +  sX   <<>DT?!!_%>%>%D%DDDD==?DT?!!_%>%>%D%DDDD==?DT?!!_%>%>%D%DDDD>>DT?!!_%=%=%C%CCCC >>DT?!!_%=%=%C%CCCC<<>DT?!!_%=%=%C%CCCC;;=D	"  
z	-$ 
.	-	-s   !G66
Hc            	         [         R                  " SS5      R                  S5      R                  S5      n [	        SSS9R
                  U S-  :X  d   e[	        SSS9R
                  U S-  :X  d   e[	        S5      R
                  U S	-  :X  d   e[	        SS
9R
                  U S	-  :X  d   e[	        SS
9R
                  U S	-  :X  d   eU [         R                  " SS5      R                  S5      R                  S5      -  n [	        S5      R
                  U S	-  :X  d   e[	        SSS9R
                  U S	-  :X  d   e[	        SSS9R
                  U S	-  :X  d   e[	        SSS9R
                  U S	-  :X  d   e[	        S5      R
                  S:X  d   eS[        [	        S5      5      ;   d   e[	        S5      R
                  S:X  d   eS[        [	        S5      5      ;   d   e[	        S5      [        SS9:X  d   e[	        S5      [        SS9:X  d   e[	        S5      [        SS9* :X  d   e[	        S5      [        SS9* :X  d   e[	        S5      [        SS9:X  d   e[	        S5      [        SS9:X  d   e[	        S5      [        SS9:X  d   e[	        S 5      [        SS9:X  d   e[	        S!5      [        SS9* :X  d   e[	        S"5      [        SS#9:X  d   e[	        S$5      [        S%S&9:X  d   e[	        S'5      [        SS#9:X  d   e[	        S(5      [        SS#9:X  d   e[	        S)5      [        SS&9:X  d   e[	        S*5      [        SS&9:X  d   e[	        S+5      [        SS&9:X  d   e[	        S,5      [        SS-9:X  d   e[	        S.5      [        SS-9:X  d   e[	        S/5      [        SS-9:X  d   e[	        S05      [        SS19:X  d   e[	        S25      [        SS19:X  d   e[	        S35      [        SS19:X  d   e[	        S45      [        SS19:X  d   e[	        S55      [	        S65      :X  d   e[	        S75      [	        S85      :X  d   e[	        S95      [	        S85      :X  d   e[	        S:5      [	        S85      :X  d   e[	        S;5      [        SSS<9:X  d   e[	        S=5      [        SSS<9:X  d   e[	        S>5      [        SSSSS?9:X  d   e[	        S@5      [        SSSSS?9* :X  d   e[	        S@5      [        SSSSS?9* :X  d   e[	        SA5      [        SSSSSBSC9* :X  d   e[	        SD5      [        SSSSESBSC9* :X  d   eSFn[        R                  " [        USG9   [	        SH5        S S S 5        [        R                  " [        USG9   [	        SI5        S S S 5        SJn[        R                  " [        USG9   [	        SK5        S S S 5        SLn[        R                  " [        USG9   [	        5         S S S 5        SMn[        R                  " [        USG9   [	        SN5        S S S 5        SOn[        R                  " [        USG9   [	        SSP9  S S S 5        [         R                  " SS5      R                  S5      R                  S5      [         R                  " SQSR5      R                  S5      R                  S5      -   n [	        SSSS9R
                  U :X  d   e[        [        R                  " ST5      5      [	        STS9:X  d   e[	        [        R                  " ST5      5      [	        STS9:X  d   e[	        [        R                  " ST5      5      [	        STS&9:X  d   e[	        SU5      n [	        SU5      nX :X  d   e[        [        R                  " ST5      5      [	        SV5      :X  d   eSMn[        R                  " [        USG9   [	        SW5        S S S 5        g ! , (       d  f       GNy= f! , (       d  f       GN^= f! , (       d  f       GNA= f! , (       d  f       GN%= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)XNrB   r6   m8[ns]r   r4   r   g      $@z10 daysr   r   r0   z10 days 00:00:10r^   rg   i'  )r^   rm   i )r^   r#   l   >P- z0 days 22:58:59.999850l   @B]? z1 days 10:11:12.001z0:00:00r   )hoursz00:00:00z-1:00:00r3   z	-01:00:00z1 hz1 hourz1 hrz1 hoursz-1 hoursz1 mr   z1.5 mZ   rg   1 minutez	1 minutesz1 sz1 secondz	1 secondsz1 msrm   z1 milliz1 millisecondz1 usr"   u   1 µsz1 microsz1 microsecondz1.5 microsecondz00:00:00.000001500z1 nsz00:00:00.000000001z1 nanoz1 nanosecondz10 days 1 hourr^   r   z10 days 1 hz10 days 1 h 1m 1sr^   r   rc   rg   z-10 days 1 h 1m 1sz-10 days 1 h 1m 1s 3usr   )r^   r   rc   rg   r#   z-10 days 1 h 1.5m 1s 3us   'only leading negative signs are allowedr@   z-10 days -1 h 1.5m 1s 3usz10 days -1 h 1.5m 1s 3uszno units specifiedz3.1415zcannot construct a Timedeltazunit abbreviation w/o a numberfoozMcannot construct a Timedelta from the passed arguments, allowed keywords are )r_   i  r1   g      %@rC   1hz0 days, 02:00:00zfoo bar)r   r   astyper   r   r   strr   rE   rF   rG   r   r   r   rl   )rZ   rI   r[   s      r   test_constructionr   I  s   ~~b#&--h7<<TBHRc"))X->>>>T$++x5/@@@@Y&&(d*::::"$$D(8888$&&(d*::::r3'..x8==dCCH'(//8t3CCCC"b)00H4DDDD"95<<D@PPPP"+;<CCxSWGWWWW ^$++~===#s9^+D'EEEE_%,,??? C	/(B$CCCC Y91#5555Z IA$6666Z YQ%7$7777[!ia&8%8888 Uyq1111X)!"4444V	 2222Y91#5555Z YQ%7$7777Uy3333W2!6666Z Ia$8888[!Yq%9999Uy3333Z Ia$8888[!Yq%9999V	q 9999Y9!#<<<<_%)BBBBV	q 9999W!::::Z I1$====_%)BBBB&'95I+JJJJV	*> ????X),@"AAAA^$	2F(GGGG %&)1*EEEE]#yb'BBBB()Yq!Q.    )*yq!Q0 /    )*yq!Q0 /    -.9q!QQ4 3    /0Yq!Ra6 5    4C	z	--. 
. 
z	-,- 
. C	z	-( 
. )C	z	- 
. +C	z	-% 
. 	X  
z	-b 
. ~~b#&--h7<<TBR^^TFfXttDz"H T$++x777 Q(IA,>>>>W\\!_%);;;;W^^A&'9Q+???? Ht_FQ(I6H,IIII
*C	z	-) 
.	-[ 
.	- 
.	-
 
.	-
 
.	- 
.	- 
.	-* 
.	-sT   
_7_&_,_>`2
`"3`4
_
_),
_;>
`
`"
`14
aitemr6   r0   r2   r1   r8   r7   r5   )r^   rg   r#   rm   rc   r   weeksnpdtypec                     Uu  p#[         R                  " SU5      R                  S5      R                  S5      n[	        S0 X " S5      0D6R
                  U:X  d   eg )Nr3   zm8[us]r   r&   )r   r   r   r   r   r   )r   r   pykwargnpkwargrZ   s        r   #test_td_construction_with_np_dtypesr     sW    & G~~a)00:??EH-,-44@@@r    val)1sz-1s1usz-1usz1 dayz-1 dayz-23:59:59.999999z-1 days +23:59:59.999999z-1ns1nsz-23:59:59.999999999c                     [        U 5      n[        UR                  5      U:X  d   e[        [        U5      5      U:X  d   e[        UR                  SS95      U:X  d   e[        UR                  5       5      U:X  d   eg )Nall)format)r   r   r   
_repr_base)r   r   s     r   test_td_from_repr_roundtripr     sr    $ 
3BRXX"$$$SW###R]]%]01R777R]]_%+++r    c                     [        S5      R                  S5      R                  S-  n Sn[        R                  " [
        US9   [        U 5        S S S 5        [        SSS9nUR                  S	:X  d   e[        [        S
S95      nUR                  [        R                  R                  :X  d   eUR                  S
:X  d   eg ! , (       d  f       Ny= f)N1dayr   i3zCCannot cast 1742682816000000000000 from ns to 'ns' without overflowr@   i" r6   r4   r0   i r   )r   r   r   rE   rF   r   r   r   r   r   r   r   r^   )r   rI   r   s      r   test_overflow_on_constructionr     s    f%%d+22X=E
OC	+3	7% 
8
 
93	'B77c>> 
9*-	.B99117777777j    
8	7s   C
Cz	val, unit))i;  r5   )i  r6   )i ' r7   )i)	r8   )l   }K r0   c                    [         R                  " X5      n[        (       d  [        (       a4  [        R
                  " [        SS9   UR                  S5        S S S 5        O&UR                  S5      R                  S5      S:  d   e[        U5      nUS:w  a  UR                  U:X  d   eUR                  R                  S:X  d   eSn[        R
                  " [        US9   UR                  S	5        S S S 5        [         R                  " S
U5      n[        X%-
  5      X%-
  :X  d   e[         R                  " U * U5      n[        (       d  [        (       a4  [        R
                  " [        SS9   UR                  S5        S S S 5        O&UR                  S5      R                  S5      S:  d   e[        U5      nSn[        R
                  " [        US9   UR                  S	5        S S S 5        [        X%-   5      X%-   :X  d   eg ! , (       d  f       GN= f! , (       d  f       GN+= f! , (       d  f       N= f! , (       d  f       NY= f)NOverflowr@   r   r   r   r>   zm8[s]z:Cannot cast 1067\d\d days .* to unit='ns' without overflowr   r3   z;Cannot cast -1067\d\d days .* to unit='ns' without overflow)r   r   r   r   rE   rF   OverflowErrorr   r   r   asm8r   r   r   )r   r   td64r   rI   oner   s          r   &test_construction_out_of_bounds_td64nsr   	  s    >>#$D|'']]=
;KK! <; {{8$))$/!333	4Bs{ ww$77==G###
GC	+3	7


4 
8 ..D
!CTZ DJ...>>3$%D|'']]=
;KK! <; {{8$))$/!333
D/C
HC	+3	7D 
8 TZ DJ...A <; 
8	7 <; 
8	7s0   H!H.H)H:
H
H&)
H7:
I))l    ~L{7r5   )l     F\ r6   )l     hH r7   )l    r8   c                    [         R                  " X5      n[        R                  " [        [        U5      S9   [        U5        S S S 5        [         R                  " SU5      n[        X#-
  5      X#-
  :X  d   eg ! , (       d  f       N;= f)Nr@   r   )r   r   rE   rF   r   r   r   )r   r   r   offsets       r   %test_construction_out_of_bounds_td64sr  >  sc     >>#$D	+3t9	=$ 
> ^^E4(FT]#t}444 
>	=s   A::
Bzfmt,expzP6DT0H50M3.010010012S   2   r   rB      )r^   rc   rg   rm   r#   r   zP-6DT0H50M3.010010012SiP4DT12H30M5Sr      r   r   zP0DT0H0M0.000000123S{   r   zP0DT0H0M0.00001Sr"   zP0DT0H0M0.001Sr3   r   
P0DT0H1M0Sr   P1DT25H61M61S   =   PT1Sr   PT0SP1WT0S   r   P1Dr   P1DT1Hr   P1WPT300Si,  P1DT0H0M00000000000SzPT-6H3M)r   rc   z-PT6H3Mz	-PT-6H+3Mc                 &    [        U 5      U:X  d   eg Nr   )fmtexps     r   test_iso_constructorr  Q  s    Z S>S   r    r  )PPPPPPPPPPPPPDTHMSP0DT999H999M999SzP1DT0H0M0.0000000000000SzP1DT0H0M0.SPz-Pc                     SU  3n[         R                  " [        US9   [        U 5        S S S 5        g ! , (       d  f       g = f)Nz#Invalid ISO 8601 Duration format - r@   rE   rF   rG   r   )r  rI   s     r   test_iso_constructor_raisesr$    s1     0u
5C	z	-# 
.	-	-s	   4
Azconstructed_td, conversiond   100ns)r^   r   rc   r   rg   rm   r#   r   l   )D^_ 1us1ns999ns990nsc                 &    U [        U5      :X  d   eg r  r  )constructed_td
conversions     r   "test_td_constructor_on_nanosecondsr.    s    0 Yz2222r    c                      Sn [         R                  " [        U S9   [        SS9  S S S 5        g ! , (       d  f       g = f)Nz1Invalid type <class 'str'>. Must be int or float.r@   abcr   )rE   rF   	TypeErrorr   r   s    r   test_td_constructor_value_errorr2    s)    
=C	y	,e$ 
-	,	,s   
/
=c                  f    [        [        R                  " SS5      5      n [        U 5      nXL d   eg )Nr3   r0   )r   r   r   )rZ   r[   s     r   #test_timedelta_constructor_identityr4    s-    3/0Hx Fr    c                      [        SS9n Sn[        R                  " [        US9   [        U SS9  S S S 5        g ! , (       d  f       g = f)Nr3   r   zRCannot pass both a Timedelta input and timedelta keyword arguments, got \['days'\]r@   rC   )r   rE   rF   rG   )r   rI   s     r   (test_timedelta_pass_td_and_kwargs_raisesr6    s<    		B	  
z	-"1 
.	-	-s	   9
AzKignore:The 'unit' keyword is only used when the Timedelta input:UserWarningzconstructor, value, unit10s)1rC   r   c                 v    [         R                  " [        SS9   U " XS9  S S S 5        g ! , (       d  f       g = f)Nzunit must not be specifiedr@   r4   )rE   rF   rG   )constructorr   r   s      r   test_string_with_unitr;    s(     
z)E	FE% 
G	F	Fs   *
8r   )r3   rC   z+-, )repeat c                     U S:w  a  SOSn[         R                  " [        US9   [        U 5        S S S 5        g ! , (       d  f       g = f)Nz--zsymbols w/o a numberr   r@   r#  )r   rI   s     r   test_string_without_numbersr?    s<     D= 	6 
 
z	-% 
.	-	-s	   9
Ac                  Z    [         R                  " SS5      n [        U 5      [        L d   eg )Nr   r7   )r   r   r   r   )nats    r   test_timedelta_new_npnatrB    s$    
..
$CS>S   r    c                  V     " S S[         5      n U " S5      n[        X5      (       d   eg )Nc                       \ rS rSrSrg)2test_subclass_respected.<locals>.MyCustomTimedeltai  r&   N)r'   r(   r)   r*   r+   r&   r    r   MyCustomTimedeltarE    s    r    rF  r   )r   
isinstance)rF  r   s     r   test_subclass_respectedrH    s+    I  
:	&Bb,,,,r    c                  ^   [        SSS9R                  S5      R                  n U S:X  d   eSn[        SS5      R                  S5      S-  n[        R                  " [
        US9   UR                    S S S 5        UR                  R                  S	5      n U S
:X  d   eg ! , (       d  f       N2= f)NrB   r6   r4   r0   l     ,Z6G zCannot convert Timedelta to nanoseconds without overflow. Use `.asm8.view\('i8'\)` to cast represent Timedelta in its own unit \(here, s\).$r   r@   r   l    `;P )r   r   r   rE   rF   r   r   r   )r[   rI   r   s      r   test_non_nano_valuerJ    s    r$,,S177F_$$$	" 
 
5#		&	&s	+e	3B	}C	0
 
1 WW\\$F[   	 
1	0s   %B
B,c                  &   [        S5      n U R                  S:X  d   e[        S5      n U R                  S:X  d   e[        S5      n U R                  S:X  d   e[        S5      n U R                  S:X  d   e[        S5      n U R                  S:X  d   eg )Nz1 Dayr2   z1 Day 2 hours 3 minutes 4 nsr   z1 Day 2:03:04.012345z1 Day 2:03:04.012345000z1 Day 2:03:04.0123450r   )r   s    r   test_parsed_unitrL    s    	7	B77d??	1	2B77d??	)	*B77d??	,	-B77d?? 
*	+B77d??r    )@datetimer   	itertoolsr   numpyr   rE   pandas._libs.tslibsr   pandas._libs.tslibs.dtypesr   pandas.compat.numpyr   r   pandas.errorsr	   pandasr
   r   r   r   r   r   pandas._testing_testingrV   r   r-   r   r   r   r   r   r   r   r   r   r   itemsint64int32int16float64float32float16r   r   r   r   r  r  r$  r.  r2  r4  r6  filterwarningsr;  joinr?  rB  rH  rJ  rL  )
repetitionelementss   00r   <module>rb     s       4 6 )  1 1z2 z2z!3&9,<<yx 
  	
 %'
 "((BHHbjj"**bjjQA"A 	 ,! ,!$ 	(/	(/V 55  $
	
 %
	
 
RKL	s!;<	YB78	9!45	y+,	)"b"MN	1%&	1%&	9!Q/0		q!"	9!1-.		q!"	9S)*	!23	IB23	IB34	ia45O(+X!Y+X! 	  	s	#W-	 	
 
	"Y1%=	=xH		"Y1%=	=wG		"Qr)B%B	BGL#,3-,3
% Q 	E4 	ud#	{C(&&
  ! Jz:H 	: 	 !-!(is   2*M7