
    Pi`                        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 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j         !                    d e"dddddddd#                                                    ej         !                    dej$        ej%        ej&        ej'        ej(        ej)        g          d                         Z*ej         !                    dg d          d              Z+d! Z,ej         !                    d"g d#          d$             Z-ej         !                    d"g d%          d&             Z.ej         !                    d'd( ed)d*d+d,d,d-.          fd/ ed0d*d+d,d,d-.          fd1 ed2d-d3d45          fd6 ed78          fd9 ed,:          fd; ed<=          fd> ed<?          fd@ ed<dAdBdB5          fdC ed<D          fdE ed D          fdF edGd H          fdI ed<J          fdK ed<d<L          fdM edGJ          fdN edOD          fdP ed<J          fdQ ed0d+R          fdS ed0dTR          fdU ed)dTR          fg          dV             Z/ej         !                    dWg dX          dY             Z0ej         !                    dZ ed[8          d\f ed<d<d<d<d<d<d<d<]          d^f ed<:           ed<8          z   d_f ed<:           ed<8          z
  d`f ed<:          d4 eda8          z  z   dbfg          dc             Z1dd Z2de Z3df Z4ej         5                    dg          ej         !                    dhedidfedidfeg djdfg          dk                         Z6ej         !                    dldm dnD                       do             Z7dp Z8dq Z9dr Z:ds Z;dS )t    )	timedelta)productN)OutOfBoundsTimedelta)NpyDatetimeUnit)Pandas4Warning)IndexNaT	TimedeltaTimedeltaIndexoffsetsto_timedeltac                       e Zd Zd Zd ZdS )$TestTimedeltaConstructorKeywordBasedc                 @    t          d          }|j        dk    sJ d S )N  nanosecondsnsr
   unitselftds     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/scalar/timedelta/test_constructors.pytest_nanosecond_keywordz<TestTimedeltaConstructorKeywordBased.test_nanosecond_keyword   s%    4(((w$    c                 l    t          d          }|j        dk    sJ |t          d          k    sJ d S )Ng      ?microsecondsr   i  r   r   r   s     r   test_noninteger_microsecondszATestTimedeltaConstructorKeywordBased.test_noninteger_microseconds   sC    C(((w$Y4000000000r   N)__name__
__module____qualname__r   r     r   r   r   r      s2          
1 1 1 1 1r   r   c                   <   e Zd Zd Zej                            dg d          d             Zej                            dg d          d             Zej                            dd	gd
 dD             z   d dD             z   d dD             z   d dD             z   d dD             z   d dD             z             ej                            de	j
        eeg          d                         Zej                            dg d          d             Zd Zd ZdS )#TestTimedeltaConstructorUnitKeywordc                 
   dD ]>}t          d|          }|j        |k    sJ t          d|          }|j        |k    sJ ?dD ]>}t          d|          }|j        dk    sJ t          d|          }|j        dk    sJ ?d S )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7d????ad+++B7d????? ) 	" 	"D14(((B7c>>>>ad+++B7c>>>>>	" 	"r   r   )YyMc                    d}t          j        t          |          5  t          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          ddg|           d d d            d S # 1 swxY w Y   d S )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_raises7   s   ?]:S111 	  	 b$	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]:S111 	# 	#T"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	' 	'!Q&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's1   ;??!A>>BB$CCCzunit,unit_depr))r-   w)r.   d)minMIN)r(   S)r/   H)r)   MS)r*   USc                     d| d}t          d|          }t          j        t          |          5  t          d|          }d d d            n# 1 swxY w Y   t          j        ||           d S )N'z8' is deprecated and will be removed in a future version.r+   r,   r7   )r
   tmassert_produces_warningr   assert_equal)r   r   	unit_deprr@   expectedresults         r   test_unit_deprecatedz8TestTimedeltaConstructorUnitKeyword.test_unit_deprecatedD   s     V)UUUQT***'cBBB 	2 	2qy111F	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2
)))))s   AAAzunit, np_unit)r-   r-   c                     g | ]}|d fS )r.   r$   .0values     r   
<listcomp>z.TestTimedeltaConstructorUnitKeyword.<listcomp>\   s    
I
I
IEE3<
I
I
Ir   )r.   daysdayDaysDayc                     g | ]}|d fS )r0   r$   rT   s     r   rW   z.TestTimedeltaConstructorUnitKeyword.<listcomp>]   ,     
 
 
 CL
 
 
r   )r0   minuterD   minutesMinuteMinMinutesc                     g | ]}|d fS )r(   r$   rT   s     r   rW   z.TestTimedeltaConstructorUnitKeyword.<listcomp>i   r]   r   )r(   secondssecsecondSecondsSecSecondc                     g | ]}|d fS )r)   r$   rT   s     r   rW   z.TestTimedeltaConstructorUnitKeyword.<listcomp>u   ,     
 
 
 DM
 
 
r   )	r)   millisecondsmillisecondmillimillisMillisecondsMillisecondMilliMillisc                     g | ]}|d fS )r*   r$   rT   s     r   rW   z.TestTimedeltaConstructorUnitKeyword.<listcomp>   rk   r   )	r*   r   microsecondmicromicrosMicrosecondsMicrosecondMicroMicrosc                     g | ]}|d fS )r   r$   rT   s     r   rW   z.TestTimedeltaConstructorUnitKeyword.<listcomp>   rk   r   )	r   r   
nanosecondnanonanosNanoseconds
NanosecondNanoNanoswrapperc                    dvrnd}t          fdt          j        d                                          D             d| d          }t	           |t          d                              }t          j        ||           fd	t          j        d          D             }d
k    rdnd
}t	           ||                    }t          j        ||                    |                     t	           ||                    }t          j        ||                    |                     t          t          j
        d                                        |          }t	          d          }||k    sJ t          d          }||k    sJ t	          d           }||k    sJ t          d           }||k    sJ d S )N)r-   r.   r0   r(   c                 :    g | ]}t          j        |          S r$   )nptimedelta64)rU   inp_units     r   rW   zHTestTimedeltaConstructorUnitKeyword.test_unit_parser.<locals>.<listcomp>   s%    GGGAR^Aw''GGGr      zm8[])dtyper,   c                     g | ]}|  	S r$   r$   )rU   xr   s     r   rW   zHTestTimedeltaConstructorUnitKeyword.test_unit_parser.<locals>.<listcomp>   s!    777QqL$LL777r   r   r*   r:   2)r   r   arangetolistr   rangerL   assert_index_equalas_unitr
   r   )r   r   r   r   exp_unitrP   rQ   str_reprs    ``     r   test_unit_parserz4TestTimedeltaConstructorUnitKeyword.test_unit_parserY   s   V &_<<77#!GGGG11D1D1F1FGGG####
 
 

 ggeAhh//d;;;
fh///7777")A,,777"d??44ggh//00
fh&6&6x&@&@AAAggh//00
fh&6&6x&@&@AAA R^Aw7788@@JJad+++!!!!14(((!!!!j$jj))!!!!:t::&&!!!!!!r   )TtLlUuNnc                    d| }t          j        t          |          5  t          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          ddg|           d d d            d S # 1 swxY w Y   d S )Nzinvalid unit abbreviation: r7   r+   r,   r9   r:   r;   r?   s      r   test_unit_T_L_N_U_raisesz<TestTimedeltaConstructorUnitKeyword.test_unit_T_L_N_U_raises   s   2D22]:S111 	$ 	$ad####	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ ]:S111 	# 	#T"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	' 	'!Q&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's3   ?AA%BB	B(CCC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 d S )Ng     F@r(   r,   -   r1   r   s     r   test_unit_round_floatz9TestTimedeltaConstructorUnitKeyword.test_unit_round_float   s     t#&&&w#~~~~Yr,,,,,,,$S)))w#~~~~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 d S )Ng     F@r(   r,   r   i  r)   r1   r   s     r   test_unit_non_round_floatz=TestTimedeltaConstructorUnitKeyword.test_unit_non_round_float   s    t#&&&w$YvD1111111$S)))w$YvD111111111r   N)r!   r"   r#   r2   r<   markparametrizerA   rR   r   arraylistr   r   r   r   r   r$   r   r   r&   r&   %   s       " " "" [V___55
' 
' 65
' [	
 	
 	
 * * * [	
I
I%H
I
I
I	J
 

 
 
	

 

 
 
	
4
 


 
 
5'	
P
 


 
 
Q5	
l
 


 
 
mC	
F FN [Y4(?@@" " A@OF FP"> [V%M%M%MNN	' 	' ON	'	- 	- 	-2 2 2 2 2r   r&   c                     d} t          j        t          |           5  t          d           d d d            n# 1 swxY w Y   d} t          j        t          |           5  t          d           d d d            d S # 1 swxY w Y   d S )NzKseconds=86400000000000000000, milliseconds=0, microseconds=0, nanoseconds=0r7   i@B rX   zKseconds=60000000000000000000, milliseconds=0, microseconds=0, nanoseconds=0 ʚ;r_   r<   r=   r   r
   r@   s    r   #test_construct_from_kwargs_overflowr      s   
WC	+3	7	7	7  u              
WC	+3	7	7	7 ! !%    ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   ;??#BBBc                     d} t          j        t          |           5  t          dd           d d d            n# 1 swxY w Y   t          j        t          |           5  t          dd           d d d            d S # 1 swxY w Y   d S )Nz1000000000000000000 weeksr7        NZor-   r,   g NgmCr   r   s    r   'test_construct_with_weeks_unit_overflowr      s   
%C	+3	7	7	7 1 1%C00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
+3	7	7	7 3 3'c22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s!   <A A "BBBc                     t          j        dd          } d}t          j        t          d          5  t          j        t          |          5  t          | d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        t          |          5  t          | d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          d          5  t          |            d d d            d S # 1 swxY w Y   d S )	Nl    J.mr/   z;The 'unit' keyword is only used when the Timedelta input isz123456789000000000 hoursr7   psr,   r   )	r   r   r<   r=   r   rL   rM   UserWarningr
   )objr@   s     r   "test_construct_from_td64_with_unitr      sy    .+S
1
1C
GC	+3M	N	N	N & &'3??? 	& 	&c%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&& & & & & & & & & & & & & & & 
+3M	N	N	N & &'3??? 	& 	&c%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&& & & & & & & & & & & & & & & 
+3M	N	N	N  #                 s}   BA-!B-A1	1B4A1	5BBB*C;C$C;$C(	(C;+C(	,C;;C?C?!D>>EEc                  $   t          j        dd          } t          |           }|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          |          }|                                dk    sJ |j        t          j        j        k    sJ d S )	Ni90  r)   i8i  r.   r   r*   l    J))r   r   r
   _valueview_cresor   	NPY_FR_msrV   NPY_FR_srX   total_seconds	NPY_FR_us)r   r   obj2td2obj3td3s         r    test_from_td64_retain_resolutionr   	  s   
.
%
%C	3B9&&&&9177777 >$$$D
D//C:177777$;;;;8t >-t44D
D//C-////:28888888r   c                      t          dd          } t          |           }|                                | k    sJ |j        t          j        j        k    sJ d S )N      )rX   r_   )r   r
   to_pytimedeltar   r   r   rV   )r   rQ   s     r   test_from_pytimedelta_us_resor     s[    	1	%	%	%Br]]F  ""b((((=O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            d S # 1 swxY w Y   d S )NzRValue must be Timedelta, string, integer, float, timedelta or convertible, not Dayr7   )r   r   r
   r   r   	NPY_FR_nsrV   rz   r   rr   r   ri   r   r`   Hourr[   r<   r=   r>   )tickr@   s     r   test_from_tick_resor   '  s   <>>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   F66F:=F:c                  H   t          j        dd                              d                              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                              d                              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            n# 1 swxY w Y   t          j	        t          |G          5  t	          dI           d d d            n# 1 swxY w Y   dJ}t          j	        t          |G          5  t	          dK           d d d            n# 1 swxY w Y   dL}t          j	        t          |G          5  t	                       d d d            n# 1 swxY w Y   dM}t          j	        t          |G          5  t	          dN           d d d            n# 1 swxY w Y   dO}t          j	        t          |G          5  t	          dP           d d d            n# 1 swxY w Y   t          j        dd                              d                              d          t          j        dQdR                              d                              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            d S # 1 swxY w Y   d S )XNr9   r.   m8[ns]r   r,   r   g      $@z10 daysr   r   r(   z10 days 00:00:10rX   rd   i'  )rX   rl   i )rX   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   rd   1 minutez	1 minutesz1 sz1 secondz	1 secondsz1 msrl   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rX   r   z10 days 1 hz10 days 1 h 1m 1srX   r   r_   rd   z-10 days 1 h 1m 1sz-10 days 1 h 1m 1s 3usr   )rX   r   r_   rd   r   z-10 days 1 h 1.5m 1s 3us   'only leading negative signs are allowedr7   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 )rY   i  r)   g      %@r:   1hz0 days, 02:00:00zfoo bar)r   r   astyper   r
   r   strr   r<   r=   r>   r   r   r   ri   )rP   r@   rQ   s      r   test_constructionr   E  sp   ~b#&&--h77<<TBBHRc""")X->>>>>T$$$+x5/@@@@@Y&(d*:::::"$D(88888$&(d*:::::r3''..x88==dCCCH'((/8t3CCCCC"b)))0H4DDDDD"9555<D@PPPPP"+;<<<CxSWGWWWWW ^$$+~====#s9^+D+D'E'EEEEE_%%,???? C	/(B(B$C$CCCCC Y91#5#5#55555Z  IA$6$6$66666Z  YQ%7%7%7$77777[!!ia&8&8&8%88888 Uyq1111111X)!"4"4"44444V	 2 2 22222Y91#5#5#55555Z  YQ%7%7%7$77777Uy3333333W2!6!6!66666Z  Ia$8$8$88888[!!Yq%9%9%99999Uy3333333Z  Ia$8$8$88888[!!Yq%9%9%99999V	q 9 9 99999Y9!#<#<#<<<<<_%%)B)B)BBBBBV	q 9 9 99999W!:!:!:::::Z  I1$=$=$=====_%%)B)B)BBBBB&''95I+J+JJJJJV	*> ? ?????X),@"A"AAAAA^$$	2F(G(GGGGG %&&)1*E*E*EEEEE]##yb'B'B'BBBBB())Yq!Q. . .     )**yq!Q0 0 0 /     )**yq!Q0 0 0 /     -..9q!QQ4 4 4 3     /00Yq!Ra6 6 6 5     4C	z	-	-	- / /-.../ / / / / / / / / / / / / / / 
z	-	-	- . .,---. . . . . . . . . . . . . . . C	z	-	-	-  (               )C	z	-	-	-                 +C	z	-	-	-  %               	X  
z	-	-	-  b               ~b#&&--h77<<TBBR^TF FfXttDzz"H T$$$+x7777 Q((IA,>,>,>>>>>W\!__%%);););;;;;W^A&&''9Q+?+?+????? Ht__FXQ((I6H,I,IIIII
*C	z	-	-	-  )                 s~   [44[8;[8\66\:=\:]::]>]>"^==__%```)aa
a
:hhhitemr.   r(   r*   r)   r0   r/   r-   )rX   rd   r   rl   r_   r   weeksnpdtypec                     |\  }}t          j        d|                              d                              d          }t	          di | | d          ij        |k    sJ d S )Nr+   zm8[us]r   r$   )r   r   r   r   r
   r   )r   r   pykwargnpkwargrP   s        r   #test_td_construction_with_np_dtypesr     sp    & GW~a))00::??EEH--,--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          |                    d                    |k    sJ t          |                                          |k    sJ d S )Nall)format)r
   rV   r   
_repr_base)r   r   s     r   test_td_from_repr_roundtripr     s    $ 
3BRX"$$$$SWW####R]]%]0011R7777R]]__%%++++++r   c                     t          d                              d          j        dz  } d}t          j        t
          |          5  t          |            d d d            n# 1 swxY w Y   t          dd          }|j        d	k    sJ t          t          d
                    }|j        t          j
        j        k    sJ |j        d
k    sJ d S )N1dayr   i3zCCannot cast 1742682816000000000000 from ns to 'ns' without overflowr7   i" r.   r,   r(   i r   )r
   r   r   r<   r=   r   r   r   r   r   r   rV   rX   )rV   r@   r   s      r   test_overflow_on_constructionr     s   f%%d++2X=E
OC	+3	7	7	7  %              
 
93	'	'	'B7c>>>> 
9*---	.	.B91777777j      s   A$$A(+A(z	val, unit))i;  r-   )i  r.   )i ' r/   )i)	r0   )l   }K r(   c                    t          j        | |          }|                    d                              d          dk     sJ t	          |          }|dk    r|j        |k    sJ |j        j        dk    sJ d}t          j        t          |          5  |
                    d           d d d            n# 1 swxY w Y   t	          |d	z
            |d	z
  k    sJ |d
z  }|                    d                              d          dk    sJ t	          |          }d}t          j        t          |          5  |
                    d           d d d            n# 1 swxY w Y   t	          |d	z             |d	z   k    sJ d S )Nr   r   r   r5   zm8[s]z:Cannot cast 1067\d\d days .* to unit='ns' without overflowr7   r   r+   z;Cannot cast -1067\d\d days .* to unit='ns' without overflow)r   r   r   r   r
   asm8r   r<   r=   r   r   )r   r   td64r   r@   r   s         r   &test_construction_out_of_bounds_td64nsr     s	    >#t$$D;;x  %%d++a////	4Bs{{ w$7=G####
GC	+3	7	7	7  


4               TAX$(****BJD;;x  %%d++a////
D//C
HC	+3	7	7	7  D               TAX$(******s$   B77B;>B;<EE"%E"))l    ~L{7r-   )l     F\ r.   )l     hH r/   )l    r0   c                    t          j        | |          }t          j        t          t          |                    5  t          |           d d d            n# 1 swxY w Y   t          |dz
            |dz
  k    sJ d S )Nr7   r   )r   r   r<   r=   r   r   r
   )r   r   r   s      r   %test_construction_out_of_bounds_td64sr   0  s     >#t$$D	+3t99	=	=	=  $               TE\""dUl222222s   AA!Azfmt,expzP6DT0H50M3.010010012S   2   r   r9      )rX   r_   rd   rl   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   r_   z-PT6H3Mz	-PT-6H+3Mc                 0    t          |           |k    sJ d S Nr
   )fmtexps     r   test_iso_constructorr  B  s"    Z S>>S      r   r  )PPPPPPPPPPPPPDTHMSP0DT999H999M999SzP1DT0H0M0.0000000000000SzP1DT0H0M0.SPz-Pc                     d|  }t          j        t          |          5  t          |            d d d            d S # 1 swxY w Y   d S )Nz#Invalid ISO 8601 Duration format - r7   r<   r=   r>   r
   )r  r@   s     r   test_iso_constructor_raisesr  r  s     6
5
5C	z	-	-	-  #                 s   >AAzconstructed_td, conversiond   100ns)rX   r   r_   r   rd   rl   r   r   l   )D^_ 1us1ns999ns990nsc                 0    | t          |          k    sJ d S r  r  )constructed_td
conversions     r   "test_td_constructor_on_nanosecondsr(    s#    0 Yz22222222r   c                      d} t          j        t          |           5  t          d           d d d            d S # 1 swxY w Y   d S )Nz1Invalid type <class 'str'>. Must be int or float.r7   abcr   )r<   r=   	TypeErrorr
   r   s    r   test_td_constructor_value_errorr,    s    
=C	y	,	,	, % %e$$$$% % % % % % % % % % % % % % % % % %s   <A A c                  t    t          t          j        dd                    } t          |           }|| u sJ d S )Nr+   r(   )r
   r   r   )rP   rQ   s     r   #test_timedelta_constructor_identityr.    s?    3//00Hx  FXr   c                      t          d          } d}t          j        t          |          5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr+   r   zRCannot pass both a Timedelta input and timedelta keyword arguments, got \['days'\]r7   r:   )r
   r<   r=   r>   )r   r@   s     r   (test_timedelta_pass_td_and_kwargs_raisesr0    s    				B	  
z	-	-	-  "1                 s   AAAzKignore:The 'unit' keyword is only used when the Timedelta input:UserWarningzconstructor, value, unit10s)1r:   r   c                     t          j        t          d          5   | ||           d d d            d S # 1 swxY w Y   d S )Nzunit must not be specifiedr7   r,   )r<   r=   r>   )constructorrV   r   s      r   test_string_with_unitr5    s     
z)E	F	F	F & &E%%%%& & & & & & & & & & & & & & & & & &s   7;;rV   c                 `    g | ]+}t          d |          D ]}d                    |          ,S )z+-, )repeat )r   join)rU   
repetitionelementss      r   rW   rW     sX       z:::   	   r   )r+   r:   c                     | dk    rdnd}t          j        t          |          5  t          |            d d d            d S # 1 swxY w Y   d S )Nz--zsymbols w/o a numberr   r7   r  )rV   r@   s     r   test_string_without_numbersr=    s     D== 	6 
 
z	-	-	-  %                 s   AA
Ac                  `    t          j        dd          } t          |           t          u sJ d S )Nr	   r/   )r   r   r
   r	   )nats    r   test_timedelta_new_npnatr@    s0    
.
$
$CS>>S      r   c                  f     G d dt                     }  | d          }t          ||           sJ d S )Nc                       e Zd ZdS )2test_subclass_respected.<locals>.MyCustomTimedeltaN)r!   r"   r#   r$   r   r   MyCustomTimedeltarC    s        r   rD  r   )r
   
isinstance)rD  r   s     r   test_subclass_respectedrF    s[        I    
	:	&	&Bb+,,,,,,,r   c                  p   t          dd                              d          j        } | dk    sJ d}t          dd                              d          dz  }t          j        t
          |          5  |j         d d d            n# 1 swxY w Y   |j                            d	          } | d
k    sJ d S )Nr9   r.   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   r7   r   l    `;P )r
   r   rV   r<   r=   OverflowErrorr   r   )rQ   r@   r   s      r   test_non_nano_valuerI    s   r$$$,,S117F_$$$$	" 
 
5#			&	&s	+	+e	3B	}C	0	0	0  
               W\\$F[      s   5B		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 d S )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_unitrK    s    	7		B7d????	1	2	2B7d????	)	*	*B7d????	,	-	-B7d???? 
*	+	+B7d??????r   )<datetimer   	itertoolsr   numpyr   r<   pandas._libs.tslibsr   pandas._libs.tslibs.dtypesr   pandas.errorsr   pandasr   r	   r
   r   r   r   pandas._testing_testingrL   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.  r0  filterwarningsr5  r=  r@  rF  rI  rK  r$   r   r   <module>r]     s                    4 4 4 4 4 4 6 6 6 6 6 6 ( ( ( ( ( (                     1 1 1 1 1 1 1 1z2 z2 z2 z2 z2 z2 z2 z2z! ! !3 3 3  &9 9 9,< < <  <y y yx 
D  	
 	
 %''
 
  "(BHbj"*bjQ A A  "A 	    , ,!  ,! ! !$   	 	+ +	 	+B    3 3 3  $I  
	
 %I  
	
 
RKKKL	s!;!;!;<	YYB7778	99!4445	yy+++,	))"b"MMMN	1%%%&	1%%%&	99!Q///0			q!!!"	99!1---.			q!!!"	99S)))*	!2!2!23	IIB2223	IIB3334	iia4445O(+ +X! !Y+ +X! 	       	s	#	#	#W-I	 	 	 	
 
	"	"	"YY1%=%=%=	=xH		"	"	"YY1%=%=%=	=wG		"	"	"Qr)B)B)B%B	BGL# ,3 3- ,3
% % %     Q  	E4 	ud#	{{{C( & &  &
        ! ! !- - -! ! !(    r   