
    ]jc                        d dl mZ d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlmZmZmZmZmZmZ d dlmZ  G d	 d
      Z G d d      Zd Zd Zd Zd Zd Z d Z!d Z"ejF                  jI                  d e%ddddddddjM                                     ejF                  jI                  dejN                  ejP                  ejR                  ejT                  ejV                  ejX                  g      d               Z-ejF                  jI                  dg d       d!        Z.d" Z/ejF                  jI                  d#g d$      d%        Z0ejF                  jI                  d#g d&      d'        Z1ejF                  jI                  d(d) ed*d+d,d-d-d./      fd0 ed1d+d,d-d-d./      fd2 ed3d.d4d56      fd7 ed89      fd: ed-;      fd< ed=>      fd? ed=@      fdA ed=dBdCdC6      fdD ed=E      fdF ed E      fdG edHd I      fdJ ed=K      fdL ed=d=M      fdN edHK      fdO edPE      fdQ ed=K      fdR ed1d,S      fdT ed1dUS      fdV ed*dUS      fg      dW        Z2ejF                  jI                  dXg dY      dZ        Z3ejF                  jI                  d[ ed\9      d]f ed=d=d=d=d=d=d=d=^      d_f ed=;       ed=9      z   d`f ed=;       ed=9      z
  daf ed=;      d5 edb9      z  z   dcfg      dd        Z4de Z5df Z6dg Z7ejF                  jq                  dh      ejF                  jI                  diedjdfedjdfeg dkdfg      dl               Z9ejF                  jI                  dmdnD  cg c]"  }  edo| p      D ]  }dqju                  |       $ c}}       dr        Z;ds Z<dt Z=du Z>dv Z?yc c}} w )w    )	timedelta)productN)OutOfBoundsTimedelta)NpyDatetimeUnit)is_numpy_devnp_version_gt2_5)Pandas4Warning)IndexNaT	TimedeltaTimedeltaIndexoffsetsto_timedeltac                       e Zd Zd Zd Zy)$TestTimedeltaConstructorKeywordBasedc                 >    t        d      }|j                  dk(  sJ y )N  nanosecondsnsr   unitselftds     Y/root/env/lib/python3.12/site-packages/pandas/tests/scalar/timedelta/test_constructors.pytest_nanosecond_keywordz<TestTimedeltaConstructorKeywordBased.test_nanosecond_keyword   s    4(ww$    c                 `    t        d      }|j                  dk(  sJ |t        d      k(  sJ y )Ng      ?microsecondsr   i  r   r   r   s     r   test_noninteger_microsecondszATestTimedeltaConstructorKeywordBased.test_noninteger_microseconds"   s/    C(ww$Y40000r   N)__name__
__module____qualname__r   r"    r   r   r   r      s    
1r   r   c            
          e Zd Zd Zej
                  j                  dg d      d        Zej
                  j                  dg d      d        Zej
                  j                  dd	gd
D  cg c]  }|df c}} z   dD  cg c]  }|df c}} z   dD  cg c]  }|df c}} z   dD  cg c]  }|df c}} z   dD  cg c]  }|df c}} z   dD  cg c]  }|df c}} z         ej
                  j                  de	j                  eeg      d               Zej
                  j                  dg d      d        Zd Zd Zyc c}} w c c}} w c c}} w c c}} w c c}} w c c}} w )#TestTimedeltaConstructorUnitKeywordc                    dD ]>  }t        d|      }|j                  |k(  sJ t        d|      }|j                  |k(  r>J  dD ]>  }t        d|      }|j                  dk(  sJ t        d|      }|j                  dk(  r>J  y )N)smsusr      r   )WDhmr*   r   r   r   )r   r   r   s      r   test_result_unitz4TestTimedeltaConstructorUnitKeyword.test_result_unit*   s    + 	#D14(B77d?"?ad+B77d?"?	# ) 	"D14(B77c>!>ad+B77c>!>	"r   r   )YyMc                 t   d}t        j                  t        |      5  t        d|       d d d        t        j                  t        |      5  t	        d|       d d d        t        j                  t        |      5  t	        ddg|       d d d        y # 1 sw Y   lxY w# 1 sw Y   HxY w# 1 sw Y   y xY w)Nz/Units 'M', 'Y', and 'y' are no longer supportedmatch
   r-      pytestraises
ValueErrorr   r   r   r   msgs      r   test_unit_m_y_raisesz8TestTimedeltaConstructorUnitKeyword.test_unit_m_y_raises;   s    ?]]:S1 	 b$	  ]]:S1 	#T"	# ]]:S1 	'!Q&	' 	'	  	 	# 	#	' 	's#   BB">B.B"B+.B7zunit,unit_depr))r/   w)r0   d)minMIN)r*   S)r1   H)r+   MS)r,   USc                     d| d}t        d|      }t        j                  t        |      5  t        d|      }d d d        t        j                  |       y # 1 sw Y    xY w)N'z8' is deprecated and will be removed in a future version.r-   r.   r9   )r   tmassert_produces_warningr	   assert_equal)r   r   	unit_deprrB   expectedresults         r   test_unit_deprecatedz8TestTimedeltaConstructorUnitKeyword.test_unit_deprecatedH   s^     )TUQT*''cB 	2qy1F	2
)	2 	2s   AA%zunit, np_unit)r/   r/   )r0   daysdayDaysDayr0   )r2   minuterF   minutesMinuteMinMinutesr2   )r*   secondssecsecondSecondsSecSecondr*   )	r+   millisecondsmillisecondmillimillisMillisecondsMillisecondMilliMillisr+   )	r,   r!   microsecondmicromicrosMicrosecondsMicrosecondMicroMicrosr,   )	r   r   
nanosecondnanonanosNanoseconds
NanosecondNanoNanosr   wrapperc           	      j   |dvr|nd}t        t        j                  d      j                         D cg c]  }t        j                  ||       c}d| d      }t         |t        d            |      }t        j                  ||       t        j                  d      D cg c]  }| | 
 }	}|dk7  rd	nd}t         ||	            }t        j                  ||j                  |             t         ||	            }t        j                  ||j                  |             t        t        j                  d
|            j                  |      }t        d
|      }||k(  sJ t        d
|      }||k(  sJ t        d|       }||k(  sJ t        d|       }||k(  sJ y c c}w c c}w )N)r/   r0   r2   r*      zm8[])dtyper.   r   r,   r<   2)r   nparangetolisttimedelta64r   rangerN   assert_index_equalas_unitr   )
r   r   np_unitrz   exp_unitirR   rS   xstr_reprs
             r   test_unit_parserz4TestTimedeltaConstructorUnitKeyword.test_unit_parser]   s   V &_<7#!1311D1D1FGAR^^Aw'Gz#

 geAh/d;
fh/*,))A,7Qqc$L77"d?4gh/0
fh&6&6x&@Agh/0
fh&6&6x&@A R^^Aw78@@Jad+!!!14(!!!$j)!!!Qtf:&!!!1 H 8s   F+&F0)TtLlUuNnc                 |   d| }t        j                  t        |      5  t        d|       d d d        t        j                  t        |      5  t	        d|       d d d        t        j                  t        |      5  t	        ddg|       d d d        y # 1 sw Y   lxY w# 1 sw Y   HxY w# 1 sw Y   y xY w)Nzinvalid unit abbreviation: r9   r-   r.   r;   r<   r=   rA   s      r   test_unit_T_L_N_U_raisesz<TestTimedeltaConstructorUnitKeyword.test_unit_T_L_N_U_raises   s    +D62]]:S1 	$ad#	$ ]]:S1 	#T"	# ]]:S1 	'!Q&	' 	'	$ 	$	# 	#	' 	's#   BB&B2B#&B/2B;c                     t        dd      }|j                  dk(  sJ |t        dd      k(  sJ t        dd      }|j                  dk(  sJ |t        dd      k(  sJ y )Ng     F@r*   r.   -   r3   r   s     r   test_unit_round_floatz9TestTimedeltaConstructorUnitKeyword.test_unit_round_float   sf     t#&ww#~~Yr,,,,$S)ww#~~Yr,,,,r   c                     t        dd      }|j                  dk(  sJ |t        dd      k(  sJ t        dd      }|j                  dk(  sJ |t        dd      k(  sJ y )Ng     F@r*   r.   r   i  r+   r3   r   s     r   test_unit_non_round_floatz=TestTimedeltaConstructorUnitKeyword.test_unit_non_round_float   sd    t#&ww$YvD1111$S)ww$YvD1111r   N)r#   r$   r%   r4   r>   markparametrizerC   rT   r   arraylistr
   r   r   r   r   ).0values   00r   r(   r(   )   s   "" [[V_5
' 6
' [[	
** [[	%H
IEE3<
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,EE E&r(   c                      d} t        j                  t        |       5  t        d       d d d        d} t        j                  t        |       5  t        d       d d d        y # 1 sw Y   <xY w# 1 sw Y   y xY w)NzKseconds=86400000000000000000, milliseconds=0, microseconds=0, nanoseconds=0r9   i@B rU   zKseconds=60000000000000000000, milliseconds=0, microseconds=0, nanoseconds=0 ʚ;rZ   r>   r?   r   r   rB   s    r   #test_construct_from_kwargs_overflowr      si    
WC	+3	7 u
WC	+3	7 !% ! ! ! !s   A&A2&A/2A;c                      d} t        j                  t        |       5  t        dd       d d d        t        j                  t        |       5  t        dd       d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)Nz1000000000000000000 weeksr9        NZor/   r.   g NgmCr   r   s    r   'test_construct_with_weeks_unit_overflowr      sl    
%C	+3	7 1%C01 
+3	7 3'c23 31 13 3s   A&A2&A/2A;c                  ^   t        j                  dd      } d}t        j                  t        d      5  t        j                  t        |      5  t        | d       d d d        d d d        t        j                  t        d      5  t        j                  t        |      5  t        | d       d d d        d d d        t        j                  t        d      5  t        |        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   ]xY w# 1 sw Y   y xY w)	Nl    J.mr1   z;The 'unit' keyword is only used when the Timedelta input isz123456789000000000 hoursr9   psr.   r   )	r   r   r>   r?   r   rN   rO   UserWarningr   )objrB   s     r   "test_construct_from_td64_with_unitr      s     ..+S
1C
GC	+3M	N &''3? 	&c%	&& 
+3M	N &''3? 	&c%	&& 
+3M	N # 	& 	&& &
	& 	&& & sS   C?C3C?	D%D3DD#3C<	8C??DD	DD #D,c                  Z   t        j                  dd      } t        |       }|j                  | j	                  d      k(  sJ |j
                  t        j                  j                  k(  sJ t        j                  dd      }t        |      }|j
                  t        j                  j                  k(  sJ ||k(  sJ |j                  dk(  sJ t        j                  dd      }t        |      }|j                         dk(  sJ |j
                  t        j                  j                  k(  sJ y )	Ni90  r+   i8i  r0   r   r,   l    J))r   r   r   _valueview_cresor   	NPY_FR_msr   NPY_FR_srU   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                      t        dd      } t        |       }|j                         | k(  sJ |j                  t        j
                  j                  k(  sJ y )N      )rU   rZ   )r   r   to_pytimedeltar   r   r   r   )r   rS   s     r   test_from_pytimedelta_us_resor   #  sL    	1	%Br]F  "b(((==O55;;;;;r   c                     t        j                         } t        |       j                  t        j
                  j                  k(  sJ t        j                         } t        |       j                  t        j                  j                  k(  sJ t        j                         } t        |       j                  t        j                  j                  k(  sJ t        j                         } t        |       j                  t        j                  j                  k(  sJ t        j                         } t        |       j                  t        j                  j                  k(  sJ t        j                         } t        |       j                  t        j                  j                  k(  sJ t        j                         } d}t!        j"                  t$        |      5  t        |        d d d        y # 1 sw Y   y xY w)NzRValue must be Timedelta, string, integer, float, timedelta or convertible, not Dayr9   )r   rx   r   r   r   	NPY_FR_nsr   rq   r   rj   r   rc   r   r[   HourrX   r>   r?   r@   )tickrB   s     r   test_from_tick_resor   +  sa   <<>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   G++G4c                     t        j                  dd      j                  d      j                  d      } t	        dd      j
                  | dz  k(  sJ t	        dd      j
                  | dz  k(  sJ t	        d      j
                  | d	z  k(  sJ t	        d
      j
                  | d	z  k(  sJ t	        d
      j
                  | d	z  k(  sJ | t        j                  dd      j                  d      j                  d      z  } t	        d      j
                  | d	z  k(  sJ t	        dd      j
                  | d	z  k(  sJ t	        dd      j
                  | d	z  k(  sJ t	        dd      j
                  | d	z  k(  sJ t	        d      j
                  dk(  sJ dt        t	        d            v sJ t	        d      j
                  dk(  sJ dt        t	        d            v sJ t	        d      t        d      k(  sJ t	        d      t        d      k(  sJ t	        d      t        d       k(  sJ t	        d      t        d       k(  sJ t	        d      t        d      k(  sJ t	        d      t        d      k(  sJ t	        d      t        d      k(  sJ t	        d       t        d      k(  sJ t	        d!      t        d       k(  sJ t	        d"      t        d#      k(  sJ t	        d$      t        d%&      k(  sJ t	        d'      t        d#      k(  sJ t	        d(      t        d#      k(  sJ t	        d)      t        d&      k(  sJ t	        d*      t        d&      k(  sJ t	        d+      t        d&      k(  sJ t	        d,      t        d-      k(  sJ t	        d.      t        d-      k(  sJ t	        d/      t        d-      k(  sJ t	        d0      t        d1      k(  sJ t	        d2      t        d1      k(  sJ t	        d3      t        d1      k(  sJ t	        d4      t        d1      k(  sJ t	        d5      t	        d6      k(  sJ t	        d7      t	        d8      k(  sJ t	        d9      t	        d8      k(  sJ t	        d:      t	        d8      k(  sJ t	        d;      t        dd<      k(  sJ t	        d=      t        dd<      k(  sJ t	        d>      t        dddd?      k(  sJ t	        d@      t        dddd?       k(  sJ t	        d@      t        dddd?       k(  sJ t	        dA      t        dddddBC       k(  sJ t	        dD      t        ddddEdBC       k(  sJ dF}t        j                  t        |G      5  t	        dH       d d d        t        j                  t        |G      5  t	        dI       d d d        dJ}t        j                  t        |G      5  t	        dK       d d d        dL}t        j                  t        |G      5  t	                d d d        dM}t        j                  t        |G      5  t	        dN       d d d        dO}t        j                  t        |G      5  t	        dP       d d d        t        j                  dd      j                  d      j                  d      t        j                  dQdR      j                  d      j                  d      z   } t	        dSd      j
                  | k(  sJ t        t        j                  dT            t	        dT      k(  sJ t	        t        j                  dT            t	        dT      k(  sJ t	        t        j                  dT            t	        dT&      k(  sJ t	        dU      } t	        dU      }|| k(  sJ t        t        j                  dT            t	        dV      k(  sJ dM}t        j                  t        |G      5  t	        dW       d d d        y # 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   >xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)XNr;   r0   m8[ns]r   r.   r   g      $@z10 daysr   r   r*   z10 days 00:00:10rU   r^   i'  )rU   rd   i )rU   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:00r-   z	-01:00:00z1 hz1 hourz1 hrz1 hoursz-1 hoursz1 mr   z1.5 mZ   r^   1 minutez	1 minutesz1 sz1 secondz	1 secondsz1 msrd   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rU   r   z10 days 1 hz10 days 1 h 1m 1srU   r   rZ   r^   z-10 days 1 h 1m 1sz-10 days 1 h 1m 1s 3usr   )rU   r   rZ   r^   r!   z-10 days 1 h 1.5m 1s 3us   'only leading negative signs are allowedr9   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 )rV   i  r+   g      %@r<   1hz0 days, 02:00:00zfoo bar)r   r   astyper   r   r   strr   r>   r?   r@   r   r   r   rc   )rR   rB   rS   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XQ(I6H,IIII
*C	z	- ) [/ /. .
 
   * sT   `7`#(`0`=	a
:aa$` #`-0`:=a
aa!$a-itemr0   r*   r,   r+   r2   r1   r/   )rU   r^   r!   rd   rZ   r   weeksnpdtypec                     |\  }}t        j                  d|      j                  d      j                  d      }t	        di | | d      ij
                  |k(  sJ y )Nr-   zm8[us]r   r&   )r   r   r   r   r   r   )r   r   pykwargnpkwargrR   s        r   #test_td_construction_with_np_dtypesr     sY    & GW~~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                     t        |       }t        |j                        |k(  sJ t        t        |            |k(  sJ t        |j                  d            |k(  sJ t        |j                               |k(  sJ y )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                     t        d      j                  d      j                  dz  } d}t        j                  t
        |      5  t        |        d d d        t        dd      }|j                  d	k(  sJ t        t        d
            }|j                  t        j                  j                  k(  sJ |j                  d
k(  sJ y # 1 sw Y   wxY w)N1dayr   i3zCCannot cast 1742682816000000000000 from ns to 'ns' without overflowr9   i" r0   r.   r*   i r   )r   r   r   r>   r?   r   r   r   r   r   r   r   rU   )r   rB   r   s      r   test_overflow_on_constructionr     s    f%%d+22X=E
OC	+3	7 %
 
93	'B77c>> 
9*-	.B99117777777j    s   CCz	val, unit))i;  r/   )i  r0   )i ' r1   )i)	r2   )l   }K r*   c                 L   t        j                  | |      }t        st        r6t	        j
                  t        d      5  |j                  d       d d d        n%|j                  d      j                  d      dk  sJ t        |      }|dk7  r|j                  |k(  sJ |j                  j                  dk(  sJ d}t	        j
                  t        |      5  |j                  d	       d d d        t        j                  d
|      }t        ||z
        ||z
  k(  sJ t        j                  |  |      }t        st        r6t	        j
                  t        d      5  |j                  d       d d d        n%|j                  d      j                  d      dkD  sJ t        |      }d}t	        j
                  t        |      5  |j                  d	       d d d        t        ||z         ||z   k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   |xY w# 1 sw Y   FxY w)NOverflowr9   r   r   r   r7   zm8[s]z:Cannot cast 1067\d\d days .* to unit='ns' without overflowr   r-   z;Cannot cast -1067\d\d days .* to unit='ns' without overflow)r   r   r   r   r>   r?   OverflowErrorr   r   r   asm8r~   r   r   )r   r   td64r   rB   oner   s          r   &test_construction_out_of_bounds_td64nsr   	  s    >>#t$D']]=
; 	"KK!	" 	" {{8$))$/!333	4Bs{ ww$77==G###
GC	+3	7 


4 ..D
!CTCZ D3J...>>3$%D']]=
; 	"KK!	" 	" {{8$))$/!333
D/C
HC	+3	7 D TCZ D3J...A	" 	" 	" 	" s/   G4HHH4G>HHH#))l    ~L{7r/   )l     F\ r0   )l     hH r1   )l    r2   c                    t        j                  | |      }t        j                  t        t        |            5  t        |       d d d        t        j                  d|      }t        ||z
        ||z
  k(  sJ y # 1 sw Y   6xY w)Nr9   r   )r   r   r>   r?   r   r   r   )r   r   r   offsets       r   %test_construction_out_of_bounds_td64sr   >  sp     >>#t$D	+3t9	= $ ^^E4(FTF]#tf}444 s   A<<Bzfmt,expzP6DT0H50M3.010010012S   2   r   r;      )rU   rZ   r^   rd   r!   r   zP-6DT0H50M3.010010012SiP4DT12H30M5Sr      r|   r   zP0DT0H0M0.000000123S{   r   zP0DT0H0M0.00001Sr    zP0DT0H0M0.001Sr-   r   
P0DT0H1M0Sr   P1DT25H61M61S   =   PT1Sr   PT0SP1WT0S   r   P1Dr   P1DT1Hr   P1WPT300Si,  P1DT0H0M00000000000SzPT-6H3M)r   rZ   z-PT6H3Mz	-PT-6H+3Mc                 $    t        |       |k(  sJ y Nr   )fmtexps     r   test_iso_constructorr  Q  s    Z S>S   r   r  )PPPPPPPPPPPPPDTHMSP0DT999H999M999SzP1DT0H0M0.0000000000000SzP1DT0H0M0.SPz-Pc                     d|  }t        j                  t        |      5  t        |        d d d        y # 1 sw Y   y xY w)Nz#Invalid ISO 8601 Duration format - r9   r>   r?   r@   r   )r  rB   s     r   test_iso_constructor_raisesr    s:     0u
5C	z	- #  s   6?zconstructed_td, conversiond   100ns)rU   r   rZ   r   r^   rd   r!   r   l   )D^_ 1us1ns999ns990nsc                 $    | t        |      k(  sJ y r  r  )constructed_td
conversions     r   "test_td_constructor_on_nanosecondsr!    s    0 Yz2222r   c                      d} t        j                  t        |       5  t        d       d d d        y # 1 sw Y   y xY w)Nz1Invalid type <class 'str'>. Must be int or float.r9   abcr   )r>   r?   	TypeErrorr   r   s    r   test_td_constructor_value_errorr%    s2    
=C	y	, %e$% % %s   4=c                  d    t        t        j                  dd            } t        |       }|| u sJ y )Nr-   r*   )r   r   r   )rR   rS   s     r   #test_timedelta_constructor_identityr'    s/    3/0Hx FXr   c                      t        d      } d}t        j                  t        |      5  t        | d       d d d        y # 1 sw Y   y xY w)Nr-   r   zRCannot pass both a Timedelta input and timedelta keyword arguments, got \['days'\]r9   r<   )r   r>   r?   r@   )r   rB   s     r   (test_timedelta_pass_td_and_kwargs_raisesr)    sE    		B	  
z	- "1  s   AA
zKignore:The 'unit' keyword is only used when the Timedelta input:UserWarningzconstructor, value, unit10s)1r<   r   c                 x    t        j                  t        d      5   | ||       d d d        y # 1 sw Y   y xY w)Nzunit must not be specifiedr9   r.   )r>   r?   r@   )constructorr   r   s      r   test_string_with_unitr.    s2     
z)E	F &E%& & &s   09r   )r-   r<   z+-, )repeat c                     | dk7  rdnd}t        j                  t        |      5  t        |        d d d        y # 1 sw Y   y xY w)Nz--zsymbols w/o a numberr   r9   r  )r   rB   s     r   test_string_without_numbersr2    sE     D= 	6 
 
z	- %  s	   :Ac                  V    t        j                  dd      } t        |       t        u sJ y )Nr   r1   )r   r   r   r   )nats    r   test_timedelta_new_npnatr5    s$    
..
$CS>S   r   c                  N     G d dt               }  | d      }t        ||       sJ y )Nc                       e Zd Zy)2test_subclass_respected.<locals>.MyCustomTimedeltaN)r#   r$   r%   r&   r   r   MyCustomTimedeltar8    s    r   r9  r   )r   
isinstance)r9  r   s     r   test_subclass_respectedr;    s+    I  
:	&Bb+,,,r   c                  Z   t        dd      j                  d      j                  } | dk(  sJ d}t        dd      j                  d      dz  }t        j                  t
        |      5  |j                   d d d        |j                  j                  d	      } | d
k(  sJ y # 1 sw Y   ,xY w)Nr;   r0   r.   r*   l     ,Z6G zCannot convert Timedelta to nanoseconds without overflow. Use `.asm8.view\('i8'\)` to cast represent Timedelta in its own unit \(here, s\).$r   r9   r   l    `;P )r   r   r   r>   r?   r   r   r   )rS   rB   r   s      r   test_non_nano_valuer=    s    r$,,S177F_$$$	" 
 
5#		&	&s	+e	3B	}C	0 
 WW\\$F[   	 s   )B!!B*c                     t        d      } | j                  dk(  sJ t        d      } | j                  dk(  sJ t        d      } | j                  dk(  sJ t        d      } | j                  dk(  sJ t        d      } | j                  dk(  sJ y )Nz1 Dayr,   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_unitr?    s    	7	B77d??	1	2B77d??	)	*B77d??	,	-B77d?? 
*	+B77d??r   )@datetimer   	itertoolsr   numpyr   r>   pandas._libs.tslibsr   pandas._libs.tslibs.dtypesr   pandas.compat.numpyr   r   pandas.errorsr	   pandasr
   r   r   r   r   r   pandas._testing_testingrN   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!  r%  r'  r)  filterwarningsr.  joinr2  r5  r;  r=  r?  )
repetitionelementss   00r   <module>rU     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(&&
  !z:  	!-!(is   'O