
    i`                        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@                  jC                  d e"ddddddddjG                                     ej@                  jC                  dejH                  ejJ                  ejL                  ejN                  ejP                  ejR                  g      d               Z*ej@                  jC                  dg d      d         Z+d! Z,ej@                  jC                  d"g d#      d$        Z-ej@                  jC                  d"g d%      d&        Z.ej@                  jC                  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@                  jC                  dWg dX      dY        Z0ej@                  jC                  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@                  jk                  dg      ej@                  jC                  dhedidfedidfeg djdfg      dk               Z6ej@                  jC                  dldmD  cg c]"  }  edn| o      D ]  }dpjo                  |       $ c}}       dq        Z8dr Z9ds Z:dt Z;du Z<yc c}} w )v    )	timedelta)productN)OutOfBoundsTimedelta)NpyDatetimeUnit)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     l/app/cer_product_mecsu/.venv/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_raises7   s    ?]]:S1 	 b$	  ]]:S1 	#T"	# ]]:S1 	'!Q&	' 	'	  	 	# 	#	' 	's#   BB">B.B"B+.B7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        t        j                  |       y # 1 sw Y    xY w)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^     )TUQT*''cB 	2qy1F	2
)	2 	2s   AA%zunit, np_unit)r-   r-   )r.   daysdayDaysDayr.   )r0   minuterD   minutesMinuteMinMinutesr0   )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-   r.   r0   r(      zm8[])dtyper,   r   r*   r:   2)r   nparangetolisttimedelta64r   rangerL   assert_index_equalas_unitr
   )
r   r   np_unitrx   exp_unitirP   rQ   xstr_reprs
             r   test_unit_parserz4TestTimedeltaConstructorUnitKeyword.test_unit_parserY   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: 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    +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,   -   r1   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)   r1   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#   r2   r<   markparametrizerA   rR   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=0r7   i@B rS   zKseconds=60000000000000000000, milliseconds=0, microseconds=0, nanoseconds=0 ʚ;rX   r<   r=   r   r
   r@   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 weeksr7        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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      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  r.   r   r*   l    J))r~   r   r
   _valueview_cresor   	NPY_FR_msr   NPY_FR_srS   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      )rS   rX   )r   r
   to_pytimedeltar   r   r   r   )r   rQ   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 Dayr7   )r   rv   r
   r   r   	NPY_FR_nsr   ro   r   rh   r   ra   r   rY   HourrV   r<   r=   r>   )tickr@   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)XNr9   r.   m8[ns]r   r,   r   g      $@z10 daysr   r   r(   z10 days 00:00:10rS   r\   i'  )rS   rb   i )rS   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rb   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rS   r   z10 days 1 hz10 days 1 h 1m 1srS   r   rX   r\   z-10 days 1 h 1m 1sz-10 days 1 h 1m 1s 3usr   )rS   r   rX   r\   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 )rT   i  r)   g      %@r:   1hz0 days, 02:00:00zfoo bar)r~   r   astyper   r
   r   strr   r<   r=   r>   r   r   r   ra   )rP   r@   rQ   s      r   test_constructionr   E  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-itemr.   r(   r*   r)   r0   r/   r-   )rS   r\   r   rb   rX   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npkwargrP   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 overflowr7   i" r.   r,   r(   i r   )r
   r   r   r<   r=   r   r   r   r   r   r   r   rS   )r   r@   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  r.   )i ' r/   )i)	r0   )l   }K r(   c                    t        j                  | |      }|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	        |d	z
        |d	z
  k(  sJ |d
z  }|j                  d      j                  d      dkD  sJ t	        |      }d}t        j                  t        |      5  |j                  d       d d d        t	        |d	z         |d	z   k(  sJ y # 1 sw Y   xY w# 1 sw Y   ,xY w)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     sF    >>#t$D;;x %%d+a///	4Bs{ ww$77==G###
GC	+3	7 


4 TAX$(***BJD;;x %%d+a///
D/C
HC	+3	7 D TAX$(***  s   E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        t        |dz
        |dz
  k(  sJ y # 1 sw Y    xY w)Nr7   r   )r~   r   r<   r=   r   r   r
   )r   r   r   s      r   %test_construction_out_of_bounds_td64sr   0  s`     >>#t$D	+3t9	= $ TE\"dUl222	 s   A&&A/zfmt,expzP6DT0H50M3.010010012S   2   r   r9      )rS   rX   r\   rb   r   r   zP-6DT0H50M3.010010012SiP4DT12H30M5Sr      rz   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   rX   z-PT6H3Mz	-PT-6H+3Mc                 $    t        |       |k(  sJ y 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        y # 1 sw Y   y xY w)Nz#Invalid ISO 8601 Duration format - r7   r<   r=   r>   r
   )r	  r@   s     r   test_iso_constructor_raisesr  r  s:     0u
5C	z	- #  s   6?zconstructed_td, conversiond   100ns)rS   r   rX   r   r\   rb   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.r7   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   )rP   rQ   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'\]r7   r:   )r
   r<   r=   r>   )r   r@   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 specifiedr7   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   r7   r  )r   r@   s     r   test_string_without_numbersr-    sE     D= 	6 
 
z	- %  s	   :Ac                  V    t        j                  dd      } t        |       t        u sJ y )Nr	   r/   )r~   r   r
   r	   )nats    r   test_timedelta_new_npnatr0    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   MyCustomTimedeltar3    s    r   r4  r   )r
   
isinstance)r4  r   s     r   test_subclass_respectedr6    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)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   r   r<   r=   OverflowErrorr   r   )rQ   r@   r   s      r   test_non_nano_valuer9    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.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"  r$  filterwarningsr)  joinr-  r0  r6  r9  r;  )
repetitionelementss   00r   <module>rP     s       4 6 (  1 1z2 z2z!3&9,<<yx 
  	
 %'
 "((BHHbjj"**bjjQA"A 	 ,! ,!$ 	+	+B 33  $
	
 %
	
 
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   ;'N=