
    EgW                        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mZmZmZmZ d dlm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d-d'd(d)d)d*+          fd. ed/d*d0d12          fd3 ed45          fd6 ed)7          fd8 ed9:          fd; ed9<          fd= ed9d>d?d?2          fd@ ed9A          fdB ed A          fdC edDd E          fdF ed9G          fdH ed9d9I          fdJ edDG          fdK edLA          fdM ed9G          fdN ed-d(O          fdP ed-dQO          fdR ed&dQO          fg          dS             Z,ej                            dTg dU          dV             Z-ej                            dW edX5          dYf ed9d9d9d9d9d9d9d9Z          d[f ed97           ed95          z   d\f ed97           ed95          z
  d]f ed97          d1 ed^5          z  z   d_fg          d`             Z.da Z/db Z0dc Z1ej                            ddedede2dfffedede2dfffeg dgde2dfffg          dh             Z3ej                            didj dkD                       dl             Z4dm Z5dn Z6do Z7dS )p    )	timedelta)productN)OutOfBoundsTimedelta)NpyDatetimeUnit)IndexNaT	TimedeltaTimedeltaIndexoffsetsto_timedeltac                      e Zd Zej                            dg d          d             Zej                            dg d          d             Zej                            dd d	D             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dS )#TestTimedeltaConstructorUnitKeywordunit)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
         )pytestraises
ValueErrorr	   r   )selfr   msgs      d/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/scalar/timedelta/test_constructors.pytest_unit_m_y_raisesz8TestTimedeltaConstructorUnitKeyword.test_unit_m_y_raises   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))hH)minT)sS)msL)nsN)usUc                     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'8' is deprecated and will be removed in a future version.r   r   r   )r	   tmassert_produces_warningFutureWarningassert_equal)r   r   	unit_deprr   expectedresults         r   !test_units_H_T_S_L_N_U_deprecatedzETestTimedeltaConstructorUnitKeyword.test_units_H_T_S_L_N_U_deprecated#   s     V)UUUQT***'SAAA 	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_unitc                     g | ]}|d fS )W .0values     r   
<listcomp>z.TestTimedeltaConstructorUnitKeyword.<listcomp>9   s    ...%%...    )r9   wc                     g | ]}|d fS )Dr:   r;   s     r   r>   z.TestTimedeltaConstructorUnitKeyword.<listcomp>:   s    
N
N
NEE3<
N
N
Nr?   )rB   ddaysdayDaysDayc                     g | ]}|d fS )mr:   r;   s     r   r>   z.TestTimedeltaConstructorUnitKeyword.<listcomp>;   ,     
 
 
 CL
 
 
r?   )rI   minuter"   minutesMinuteMinMinutesc                     g | ]}|d fS )r$   r:   r;   s     r   r>   z.TestTimedeltaConstructorUnitKeyword.<listcomp>G   rJ   r?   )r$   secondssecsecondSecondsSecSecondc                     g | ]}|d fS )r&   r:   r;   s     r   r>   z.TestTimedeltaConstructorUnitKeyword.<listcomp>S   s,     
 
 
 DM
 
 
r?   )
r&   millisecondsmillisecondmillimillisMSMillisecondsMillisecondMilliMillisc                     g | ]}|d fS )r*   r:   r;   s     r   r>   z.TestTimedeltaConstructorUnitKeyword.<listcomp>b   ,     
 
 
 DM
 
 
r?   )r*   microsecondsmicrosecondmicromicrosuUSMicrosecondsMicrosecondMicroMicrosr+   c                     g | ]}|d fS )r(   r:   r;   s     r   r>   z.TestTimedeltaConstructorUnitKeyword.<listcomp>s   rb   r?   )r(   nanoseconds
nanosecondnanonanosnNSNanoseconds
NanosecondNanoNanosr)   wrapperc                 @   t          fdt          j        d                                          D             d          }d d}fdv rt          }n	t          }d}t          j        ||	          5  t           |t          d                    
          }t          j	        ||           t           |t          d                    
          }t          j	        ||           fdt          j        d          D             }t           ||                    }t          j	        ||           t           ||                    }t          j	        ||           t          t          j        d                              d                    }t          d
          }||k    sJ t          d
          }||k    sJ t          d           }||k    sJ t          d           }||k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nc                 :    g | ]}t          j        |          S r:   )nptimedelta64)r<   inp_units     r   r>   zHTestTimedeltaConstructorUnitKeyword.test_unit_parser.<locals>.<listcomp>   s%    GGGAR^Aw''GGGr?      m8[ns])dtyper-   r.   ))rg   r*   )r+   r*   )rr   r(   )r)   r(   z?The 'unit' keyword in TimedeltaIndex construction is deprecatedr   r/   c                     g | ]}|  	S r:   r:   )r<   xr   s     r   r>   zHTestTimedeltaConstructorUnitKeyword.test_unit_parser.<locals>.<listcomp>   s!    ;;;1d;;;r?   r   ztimedelta64[ns]2)r
   r{   arangetolistr2   r0   r1   r   rangeassert_index_equalr	   r|   astype)	r   r   r~   rx   r5   r   warnr6   str_reprs	    ``      r   test_unit_parserz4TestTimedeltaConstructorUnitKeyword.test_unit_parser7   s   d "GGGG11D1D1F1FGGG
 
 

 Q$PPP'?RRR DD DSC'C888 	& 	&!''%(("3"3$???F!&(333#GGE!HH$5$5DAAAF!&(333;;;;bill;;;H!''("3"344F!&(333!''("3"344F!&(333 !7!;!;!B!BCT!U!UVVH!!$///FX%%%%qt,,,FX%%%%!*d**--FX%%%%z4zz**FX%%%%%-	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   7FHHHN)__name__
__module____qualname__r   markparametrizer   r7   r{   arraylistr   r   r:   r?   r   r   r      s       [V___55
' 
' 65
' [	
 	
 	

 
* *
 
* [..:...
N
N%M
N
N
N	O
 

 
 
	

 

 
 
	
4
 

 
 
5(	
R
 

 
 
S9	
t
 

 
 
uJ	
M M\ [Y4(?@@%& %& A@]M M^%& %& %&r?   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=0r   i@B rD   zKseconds=60000000000000000000, milliseconds=0, microseconds=0, nanoseconds=0 ʚ;rL   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                     t          j        t          d          5  t          dd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          dd           d d d            d S # 1 swxY w Y   d S )Nzwithout overflowr        NZor9   r/   g NgmCr   r:   r?   r   'test_construct_with_weeks_unit_overflowr      s   	+3E	F	F	F 1 1%C00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
+3E	F	F	F 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??BBc                     t          j        dd          } t          j        t          d          5  t          | d           d d d            n# 1 swxY w Y   t          j        t          d          5  t          | d           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123456789000000000 hoursr   psr/   r(   )r{   r|   r   r   r   r	   )objs    r   "test_construct_from_td64_with_unitr      s    .+S
1
1C	+3M	N	N	N " "#D!!!!" " " " " " " " " " " " " " " 
+3M	N	N	N " "#D!!!!" " " " " " " " " " " " " " " 
+3M	N	N	N  #                 s5   AAA5BBB9CCC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  rB   r   r*   l    J))r{   r|   r	   _valueview_cresor   	NPY_FR_msr=   NPY_FR_srD   total_seconds	NPY_FR_us)r   td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      )rD   rL   )r   r	   to_pytimedeltar   r   r   r=   )r   r6   s     r   test_from_pytimedelta_us_resor      s[    	1	%	%	%Br]]F  ""b((((=O5;;;;;;;r?   c                  N   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                    } t          |           j        t          j        j        k    sJ d S N)r   rv   r	   r   r   	NPY_FR_nsr=   rk   r   r_   r   rV   r   rM   HourrG   )ticks    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T??!_%=%CCCCCCCr?   c                     t          j        dd                              d                              d          } t	          dd          j        | k    sJ t	          dd          j        | k    sJ t	          d          j        | k    sJ t	          d	          j        | k    sJ t	          d	          j        | k    sJ | t          j        dd
                              d                              d          z  } t	          d          j        | k    sJ t	          dd          j        | k    sJ t	          dd          j        | k    sJ t	          dd          j        | 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	          d/          t          d0          k    sJ t	          d1          t          d0          k    sJ t	          d2          t          d0          k    sJ t	          d3          t          d0          k    sJ t	          d4          t	          d5          k    sJ t	          d6          t	          d7          k    sJ t	          d8          t	          d7          k    sJ t	          d9          t	          d7          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	          d@          t          dddddAB           k    sJ t	          dC          t          ddddDdAB           k    sJ dE}t          j	        t          |F          5  t	          dG           d d d            n# 1 swxY w Y   t          j	        t          |F          5  t	          dH           d d d            n# 1 swxY w Y   dI}t          j	        t          |F          5  t	          dJ           d d d            n# 1 swxY w Y   dK}t          j	        t          |F          5  t	                       d d d            n# 1 swxY w Y   dL}t          j	        t          |F          5  t	          dM           d d d            n# 1 swxY w Y   dN}t          j	        t          |F          5  t	          dO           d d d            n# 1 swxY w Y   t          j        dd
                              d                              d          t          j        dPdQ                              d                              d          z   } t	          dRd
          j        | k    sJ t          t          j        dS                    t	          dS          k    sJ t	          t          j        dS                    t	          dS          k    sJ t	          t          j        dS                    t	          dS%          k    sJ t	          dT          } t	          dT          }|| k    sJ t          t          j        dS                    t	          dU          k    sJ dL}t          j	        t          |F          5  t	          dV           d d d            d S # 1 swxY w Y   d S )WNr   rB   r   r   rC   r/   g      $@z10 daysr   r$   z10 days 00:00:10rD   rQ   i'  )rD   rX   i )rD   rc   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   rQ   1 minutez	1 minutesz1 sz1 secondz	1 secondsz1 msrX   z1 milliz1 millisecondz1 usrc   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rD   r   z10 days 1 hz10 days 1 h 1m 1srD   r   rL   rQ   z-10 days 1 h 1m 1sz-10 days 1 h 1m 1s 3usr   )rD   r   rL   rQ   rc   z-10 days 1 h 1.5m 1s 3us   'only leading negative signs are allowedr   z-10 days -1 h 1.5m 1s 3usz10 days -1 h 1.5m 1s 3uszno units specifiedz3.1415zcannot construct a Timedeltazunit abbreviation w/o a numberfoozMcannot construct a Timedelta from the passed arguments, allowed keywords are )rE   i  r&   g      %@r   1hz0 days, 02:00:00zfoo bar)r{   r|   r   r   r	   r   strr   r   r   r   r   r   r   rV   )r5   r   r6   s      r   test_constructionr     sA   ~b#&&--h77<<TBBHRc""")X5555T$$$+x7777Y&(2222"$0000$&(2222r3''..x88==dCCCH'((/8;;;;"b)))0H<<<<"9555<HHHH"+;<<<CxOOOO ^$$+~====#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	-	-	-  %              	6  
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~   =[[ [?\\"\]]#&]#^""^&)^&
_&&_*-_*`++`/2`/g<<h h itemrB   r$   r*   r&   rI   r    r9   )rD   rQ   rc   rX   rL   r   weeksnpdtypec                     |\  }}t          j        d|                              d                              d          }t	          di | | d          ij        |k    sJ d S )Nr   r   r   r:   )r{   r|   r   r   r	   r   )r   r   pykwargnpkwargr5   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	   r   r   
_repr_base)r   r   s     r   test_td_from_repr_roundtripr     s    $ 
3BRY2%%%%SWW####R]]%]0011R7777R]]__%%++++++r?   c                     t          d          j        dz  } d}t          j        t          |          5  t          |            d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          dd           d d d            n# 1 swxY w Y   t          t          d	
                    }|j        t          j        j	        k    sJ |j
        d	k    sJ d S )N1dayi3zCCannot cast 1742682816000000000000 from ns to 'ns' without overflowr   z2Cannot cast 139993 from D to 'ns' without overflowi" rB   r/   i r   )r	   r   r   r   r   r   r   r   r   r=   rD   )r=   r   r   s      r   test_overflow_on_constructionr     sf   f$x/E
OC	+3	7	7	7  %               ?C	+3	7	7	7 ' ')#&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 
9*---	.	.B91777777j      s#   AAA9BBBz	val, unit))i;  r9   )i  rB   )i ' r    )i)	rI   )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   r   zm8[s]z:Cannot cast 1067\d\d days .* to unit='ns' without overflowr   r(   r   z;Cannot cast -1067\d\d days .* to unit='ns' without overflow)r{   r|   r   r   r	   asm8r   r   r   r   as_unit)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{7r9   )l     F\ rB   )l     hH r    )l    rI   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 )Nr   r   )r{   r|   r   r   r   r   r	   )r   r   r   s      r   %test_construction_out_of_bounds_td64sr     s     >#t$$D	+3t99	=	=	=  $               TE\""dUl222222s   AA!Azfmt,expzP6DT0H50M3.010010012S   2   r   r      )rD   rL   rQ   rX   rc   rn   zP-6DT0H50M3.010010012SiP4DT12H30M5Sr      r   r   zP0DT0H0M0.000000123S{   rn   zP0DT0H0M0.00001Sr   zP0DT0H0M0.001Sr   r   
P0DT0H1M0Sr   P1DT25H61M61S   =   PT1Sr   PT0SP1WT0S   r   P1Dr   P1DT1Hr   P1WPT300Si,  P1DT0H0M00000000000SzPT-6H3M)r   rL   z-PT6H3Mz	-PT-6H+3Mc                 0    t          |           |k    sJ d S r   r	   )fmtexps     r   test_iso_constructorr     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 - r   r   r   r   r	   )r   r   s     r   test_iso_constructor_raisesr  4  s     6
5
5C	z	-	-	-  #                 s   >AAzconstructed_td, conversiond   100ns)rD   r   rL   r   rQ   rX   rc   rn   l   )D^_ 1us1ns999ns990nsc                 0    | t          |          k    sJ d S r   r   )constructed_td
conversions     r   "test_td_constructor_on_nanosecondsr  F  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.r   abcr   )r   r   	TypeErrorr	   r   s    r   test_td_constructor_value_errorr  a  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|   )r5   r6   s     r   #test_timedelta_constructor_identityr  g  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'\]r   r   )r	   r   r   r   )r   r   s     r   (test_timedelta_pass_td_and_kwargs_raisesr  n  s    				B	  
z	-	-	-  "1                 s   AAAz%constructor, value, unit, expectation10szunit must not be specified)1r   r   c                     |\  }}t          j        ||          5   | ||          }d d d            d S # 1 swxY w Y   d S )Nr   r/   )r   r   )constructorr=   r   expectationr   r   _s          r   test_string_with_unitr   y  s     JC	s%	(	(	( * *KD)))* * * * * * * * * * * * * * * * * *s   7;;r=   c                 `    g | ]+}t          d |          D ]}d                    |          ,S )z+-, )repeat )r   join)r<   
repetitionelementss      r   r>   r>     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   r   r  )r=   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   MyCustomTimedeltar.    s        r?   r/  r   )r	   
isinstance)r/  r   s     r   test_subclass_respectedr1    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 )Nr   rB   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\).$i  r   r   l    `;P )r	   r   r=   r   r   OverflowErrorr   r   )r6   r   r   s      r   test_non_nano_valuer4    s   r$$$,,S117F_$$$$	" 
 
5#			&	&s	+	+e	3B	}C	0	0	0  
               W\\$F[      s   5B		BB)8datetimer   	itertoolsr   numpyr{   r   pandas._libs.tslibsr   pandas._libs.tslibs.dtypesr   pandasr   r   r	   r
   r   r   pandas._testing_testingr0   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  r   r   r(  r+  r1  r4  r:   r?   r   <module>rD     sj                    4 4 4 4 4 4 6 6 6 6 6 6                     V& V& V& V& V& V& V& V&r! ! !3 3 3  9 9 9,< < <D D D0z z zz 
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
% % %     +	E4*.J!KL	udZ1M$NO	{{{C*6R)ST * * *        ! ! !- - -! ! ! ! !r?   