
    Pid                        d Z ddlmZ ddlZddlmZmZ ddlZ	ddl
Z
ddlmZ ddlmZ ddlmZmZ ddlmZ dd	lmZmZ dd
lmZmZ ddlmZ  G d d          Zd Z G d d          Z G d d          Z e
j!        "                    d ed          df ed          df edd          df edd          df edd          df ed          dfedfg          d             Z#d Z$d Z%d Z&dS )ztest the scalar Timedelta    )	timedeltaN)given
strategies)lib)NA)NaTiNaT)NpyDatetimeUnit)OutOfBoundsTimedeltaPandas4Warning	Timedeltato_timedeltac                      e Zd Z ej        g d          d             Zej        d             Zej        d             Zej        d             Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZddZdS )TestNonNano)smsus)paramsc                     |j         S N)param)selfrequests     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/scalar/timedelta/test_timedelta.pyunit_strzTestNonNano.unit_str!   s
    }    c                 @    d| }t          t          |          j        S )NNPY_FR_)getattrr
   value)r   r   attrs      r   unitzTestNonNano.unit%   s$     $##--33r   c                 z    d}|t           j        j        k    r|}n |t           j        j        k    r|dz  }n|dz  }|S )Nl     &o  @B )r
   	NPY_FR_usr!   	NPY_FR_ms)r   r#   r   r!   s       r   valzTestNonNano.val+   sK     ?,222EE_.444$JEE)OEr   c                 ,    t          j        ||          S r   )r   _from_value_and_reso)r   r#   r)   s      r   tdzTestNonNano.td7   s    -c4888r   c                 ~    t          j        ||          }|j        |k    sJ |j        |k    sJ |j        dk    sJ d S )N  )r   r+   _value_cresodays)r   r#   r)   r,   s       r   test_from_value_and_resoz$TestNonNano.test_from_value_and_reso;   sS    +C66yCyD    w&      r   c                 r    t          |          j        |k    sJ | j        |k    sJ |
 j        |k    sJ d S r   )absr0   )r   r,   r#   s      r   test_unary_non_nanozTestNonNano.test_unary_non_nanoB   sK    2ww~%%%%|t####|t######r   c                 d    ||z
  }t          j        d|          }||k    sJ |j        |k    sJ d S )Nr   )r   r+   r0   )r   r,   r#   resexpecteds        r   test_sub_preserves_resoz#TestNonNano.test_sub_preserves_resoG   sC    2g1!T::hzT!!!!!!r   c                 T    |dz  }|j         |j         dz  k    sJ |j        |k    sJ d S )N   )r/   r0   r   r,   r#   r7   s       r   test_mul_preserves_resoz#TestNonNano.test_mul_preserves_resoM   s?     1fzRY]****zT!!!!!!r   c                 f    t          d          }||k     sJ ||k    sJ ||k    rJ ||k    sJ d S )Ni r1   r   )r   r,   others      r   test_cmp_cross_resozTestNonNano.test_cmp_cross_resoT   sJ    v&&&rzzzzEzzzzB;;;U{{{{{{r   c                     |                                 }t          d          }t          |          t          u sJ ||k    sJ d S )Nr.   r?   )to_pytimedeltar   type)r   r,   r7   r8   s       r   test_to_pytimedeltazTestNonNano.test_to_pytimedelta\   sK    !!&)))CyyI%%%%hr   c                    |                                 |                                |j        fD ]}t          |t          j                  sJ |                    d          |j        k    sJ |t          j	        j
        k    r|j        dk    sJ a|t          j        j
        k    r|j        dk    sJ |t          j        j
        k    r|j        dk    sJ d S )Ni8m8[s]zm8[ms]zm8[us])to_timedelta64to_numpyasm8
isinstancenptimedelta64viewr/   r
   NPY_FR_sr!   dtyper(   r'   r<   s       r   test_to_timedelta64zTestNonNano.test_to_timedelta64b   s    %%''@ 	- 	-Cc2>2222288D>>RY..../555yG+++++2888yH,,,,,2888yH,,,,	- 	-r   c                 (   ||z  dk    sJ d|z  |z  dk    sJ t          |j                  }d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   |                                |z  }|                                |                                z  }||k    sJ t          j        dt          j        j	                  }t          j        dt          j
        j	                  }||z  }|dk    sJ ||z  }|dk    sJ d S )N         @z?Cannot cast 106752 days 00:00:00 to unit='ns' without overflow.match2   gMbP?r%   r   r/   pytestraisesr   rD   r+   r
   r'   r!   r(   )	r   r,   rA   msgr7   r8   leftrightresults	            r   test_truediv_timedeltalikez&TestNonNano.test_truediv_timedeltalikem   s]   Bw!||||bB#%%%%")$$O]/s;;; 	 	JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ""$$r)''))B,=,=,?,??h -b/2K2QRR.r?3L3RSS~~~~~~   AA!$A!c                     |t           j        z  t          u sJ |dz  }|j        |j        dz  k    sJ |j        |j        k    sJ |dz  }|j        |j        dz  k    sJ |j        |j        k    sJ d S Nr;   g       @)rN   nanr   r/   r0   r   r,   r7   s      r   test_truediv_numericz TestNonNano.test_truediv_numeric   s    BF{c!!!!1fzRY]****zRY&&&&3hzRY]****zRY&&&&&&r   c                    d}t          j        t          |          5  |t          z   d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          |z   d d d            d S # 1 swxY w Y   d S )Nz=unsupported operand type\(s\) for /: 'Timedelta' and 'NAType'rW   z=unsupported operand type\(s\) for /: 'NAType' and 'Timedelta'r[   r\   	TypeErrorr   r   r,   msg_td_floordiv_namsg_na_floordiv_tds       r   "test_truediv_na_type_not_supportedz.TestNonNano.test_truediv_na_type_not_supported   s   L 	 ]9,>??? 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 M 	 ]9,>??? 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   599A55A9<A9c                    ||z  dk    sJ d|z  |z  dk    sJ t          |j                  }d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   |                                |z  }|dk    sJ t          j        dt          j        j	                  }t          j        dt          j
        j	                  }||z  }|dk    sJ ||z  }|dk    sJ d S )	NrU   rV   r;   >Cannot cast 106752 days 00:00:00 to unit='ns' without overflowrW   r   i  rY   rZ   )r   r,   rA   r]   r7   r^   r_   r`   s           r   test_floordiv_timedeltalikez'TestNonNano.test_floordiv_timedeltalike   s<   Rx1}}}}bR1$$$$")$$N]/s;;; 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ""$$*axxxx -e_5N5TUU.r?3L3RSS{{{{${{{{{{rb   c                 2   |t           j        z  t          u sJ |dz  }|j        |j        dz  k    sJ |j        |j        k    sJ |dz  }|j        |j        dz  k    sJ |j        |j        k    sJ |t          j        t           j                  z  t          u sJ |t          j        d          z  }|j        |j        dz  k    sJ |j        |j        k    sJ |t          j        d          z  }|j        |j        dz  k    sJ |j        |j        k    sJ d S rd   )rN   re   r   r/   r0   arrayrf   s      r   test_floordiv_numericz!TestNonNano.test_floordiv_numeric   s/   RV|s""""AgzRY!^++++zRY&&&&CizRY!^++++zRY&&&&RXbf%%%,,,,BHQKKzRY!^++++zRY&&&&BHSMM!zRY!^++++zRY&&&&&&r   c                    d}t          j        t          |          5  |t          z   d d d            n# 1 swxY w Y   d}t          j        t          |          5  t          |z   d d d            d S # 1 swxY w Y   d S )Nz>unsupported operand type\(s\) for //: 'Timedelta' and 'NAType'rW   z>unsupported operand type\(s\) for //: 'NAType' and 'Timedelta'ri   rk   s       r   #test_floordiv_na_type_not_supportedz/TestNonNano.test_floordiv_na_type_not_supported   s   M 	 ]9,>??? 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 N 	 ]9,>??? 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	ro   c                    t          d                              d          }||z   }|j        |j        k    sJ |j        |j        dz   k    sJ ||z   }|j        |j        k    sJ |j        |j        dz   k    sJ ||z
  }|j        |j        k    sJ |j        |j        dz
  k    sJ ||z
  }|j        |j        k    sJ |j        d|j        z
  k    sJ t          d          }d}t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )NrU   r?   r     rq   rW   )r   as_unitr0   r1   r[   r\   r   )r   r,   rA   r`   other2r]   s         r   test_addsub_mismatched_resoz'TestNonNano.test_addsub_mismatched_reso   s    q!!!))$// e},,,,{bgk))))},,,,{bgk))))e},,,,{bgk))))},,,,{a"'k))))3N]/s;;; 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]/s;;; 	 	RKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]/s;;; 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]/s;;; 	 	RKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH    DDD8E

EE0FF	F(F;;F?F?c                     |j         |k    sJ |j         j        |j        k    sJ |j         j        t          j        dz   k    sJ d S NrU   )minr0   r/   r   r   r,   s     r   test_minzTestNonNano.test_min   sI    v||||v}	))))v}
Q......r   c                     |j         |k    sJ |j         j        |j        k    sJ |j         j        t          j        t          j                  j         k    sJ d S r   )maxr0   r/   rN   iinfoint64r   s     r   test_maxzTestNonNano.test_max   sR    v||||v}	))))v} 2 2 6666666r   c                 |    t          j        d|j                  }|j        }||k    sJ |j        |j        k    sJ d S r~   )r   r+   r0   
resolution)r   r,   r8   r`   s       r   test_resolutionzTestNonNano.test_resolution  sI    1!RY??!!!!}//////r   returnNc                 v    t          d                              d          j        }t          |          sJ d S )Nr   r   )r   rz   r   hash)r   second_resolution_maxs     r   	test_hashzTestNonNano.test_hash  s:     )! 4 4S 9 9 =)*******r   )r   N)__name__
__module____qualname__r[   fixturer   r#   r)   r,   r2   r5   r9   r=   rB   rF   rS   ra   rg   rn   rr   ru   rw   r|   r   r   r   r    r   r   r   r       s       V^,,,---  .- ^4 4 ^4
 ^	 	 ^	 ^9 9 ^9! ! !$ $ $
" " "" " "    	- 	- 	-  2	' 	' 	'    .' ' '*    B/ / /
7 7 7
0 0 0+ + + + + +r   r   c                      t           j        t          t          j        dz             k    sJ t           j        j        t
          j        j        k    sJ t           j        t          t          j
        t          j                  j                  k    sJ t           j        j        t
          j        j        k    sJ t           j        t          d          k    sJ t           j        j        t
          j        j        k    sJ d S r~   )r   r   r   r/   r0   r
   	NPY_FR_nsr!   r   rN   r   r   r   r   r   r   'test_timedelta_class_min_max_resolutionr     s     =Icj1n555555=?#<#BBBBB=Ibhrx&8&8&<=======?#<#BBBBB9Q<<////&/*C*IIIIIIIr   c                       e Zd Zd Zd ZdS )TestTimedeltaUnaryOpsc                    t          dd          }d}t          j        t          |          5  |  d d d            n# 1 swxY w Y   t          j        t          |          5  |                                  d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                                  d d d            d S # 1 swxY w Y   d S )N
   Dr#   zbad operand type for unary ~rW   z0ufunc 'invert' not supported for the input types)r   r[   r\   rj   rD   rJ   )r   r,   r]   umsgs       r   test_invertz!TestTimedeltaUnaryOps.test_invert  s   r$$$,]9C000 	 	CC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	# 	#!!""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# B]9D111 	# 	#!!""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s3   ?AA%BBB/CCCc                 P   t          dd          }| t          dd          k    sJ | t          d          k    sJ |
 t          dd          k    sJ t          |          |k    sJ t          |           |k    sJ t          |           t          d          k    sJ d S )Nr   r   r   z-10D10D)r   r4   r   s     r   test_unary_opsz$TestTimedeltaUnaryOps.test_unary_ops,  s    r$$$ si#.......si''''''si------- 2ww"}}}}B3xx2~~~~B3xx9U++++++++r   N)r   r   r   r   r   r   r   r   r   r     s2        # # #, , , , ,r   r   c            	          e Zd Zej                            dg d          d             Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zej        j        ej                            d           e ej        ej         dz
  dz  ej        dz                      deddfd                                    Zd Zd Zd Zd Z ej                            dg d          d              Z!dS )!TestTimedeltaszunit, value, expected))r   gsh|#@i'  )r   gr#@i )r   gh#@l   c(	 c                     t          ||          }|j        |k    sJ t          t          |          |z             }|j        |k    sJ d S )Nr   )r   r/   str)r   r#   r!   r8   r`   s        r   &test_rounding_on_int_unit_constructionz5TestTimedeltas.test_rounding_on_int_unit_construction;  sZ     5t,,,}((((3u::,--}((((((r   c                     t          d          }d}t          j        |                                |           t          t          j                  }t	          j        |                                          sJ d S )Nz1 days, 10:11:12.100123456g@)r   tmassert_almost_equaltotal_secondsrN   re   isnan)r   rngexpts      r   test_total_seconds_scalarz(TestTimedeltas.test_total_seconds_scalarJ  sk    455G
s0022D999x))++,,,,,,,r   c                 r   t          dd          t          d          fD ]}|                    d          }|                                }|t          |          k    sJ ||k    sJ t          |t                    rt          |t                     rJ |t          j        |j        d          k    sJ |                                }|t          j        |j        d          k    sJ ||k    sJ t          |t
          j                  sJ t          d          }||                                k    sJ d S )Nr   r   r   z1 days, 10:11:12.012345nsz1 days, 10:11:12.012345678)	r   rz   rD   rM   r   rN   rO   r/   rJ   )r   r,   pydttd64s       r   test_conversionzTestTimedeltas.test_conversionS  sA   Rc***I6O,P,PQ 	4 	4BD!!B$$&&D4((((::::dI..Rz$	7R7RRRR	4888888$$&&D2>")T::::::::::dBN333333 344R&&((((((((r   c                    d }t          d          }|j        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ d}t          j        t          |                    d                    5  |j	         d d d            n# 1 swxY w Y   t          j        t          |                    d	                    5  |j
         d d d            n# 1 swxY w Y   t          j        t          |                    d
                    5  |j         d d d            n# 1 swxY w Y    ||j                    ||j                    ||j                    ||j                   t          d          }t          |          t          d          k    sJ t          |          dk    sJ | t          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 |j        dk    sJ |j        dk    sJ |j        dk    sJ d}t          j        t          |                    d                    5  |j	         d d d            n# 1 swxY w Y   t          j        t          |                    d	                    5  |j
         d d d            n# 1 swxY w Y   t          j        t          |                    d
                    5  |j         d d d            n# 1 swxY w Y   t          dd          j        }|j        dk    sJ |j	        dk    sJ |j
        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ  ||j                    ||j	                    ||j
                    ||j                    ||j                    ||j                    ||j                   t          d          j        }|j        dk    sJ |j	        dk    sJ |j
        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ |j        dk    sJ d S )Nc                 4    t          | t                    sJ d S r   )rM   int)r!   s    r   checkz)TestTimedeltas.test_fields.<locals>.checkh  s    eS)))))))r   z1 days, 10:11:12rU   i@  r   z('Timedelta' object has no attribute '{}'hoursrW   minutesmillisecondsz-1 days, 10:11:12z13:48:48z-1 days +10:11:12z0 days 13:48:48l    
(. l 
(. z-1 days, 10:11:12.100123456i i  r      ;   i  z-1 days 1 us)r   r1   secondsmicrosecondsnanosecondsr[   r\   AttributeErrorformatr   r   r   r   r4   r   r/   
components)r   r   r   r]   r,   tups         r   test_fieldszTestTimedeltas.test_fieldsg  sM   	* 	* 	*
 -..x1}}}}{666661$$$$!####8]>G1D1DEEE 	 	II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]>I1F1FGGG 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]>N1K1KLLL 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	chckcco*++2ww)J//////2ww-----si 1222222-..55DDDD,--4DDDD899x2~~~~{66666#33333#%%%%8]>G1D1DEEE 	 	II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]>I1F1FGGG 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]>N1K1KLLL 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 2t$$/x2~~~~yB{b    {b    3&&&&3&&&&!#### 	chcickckccco''2x2~~~~yB{b    {b    3&&&&3&&&&!######sl   7BBBCCCD%%D),D)4JJJKKKL""L&)L&c                 R    t          dd          }t          d          |k    sJ d S )NrU   r   r   
P0DT0H0M1Sr   )r   r8   s     r   test_iso_conversionz"TestTimedeltas.test_iso_conversion  s3    QS)))L))X555555r   c                 R   t          d                                          }|j        j        dk    sJ |                    d          t
          k    sJ t          d                                          }|j        j        dk    sJ |                    d          t
          k    sJ d S )NnatMr   re   )r   rK   rR   kindastyper	   )r   r`   s     r   test_nat_convertersz"TestTimedeltas.test_nat_converters  s    e$$--//| C''''}}W%%----e$$--//| C''''}}W%%------r   c                 J   t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ d S )	Nr   r   r   r   r   r   r   r   )r   rN   rO   r   s    r   test_numeric_conversionsz'TestTimedeltas.test_numeric_conversions  s    ||r~a666666}}r4 8 88888$'''2>"d+C+CCCCC$'''2>"d+C+CCCCC$'''2>"d+C+CCCCC#&&&".S*A*AAAAA#&&&".S*A*AAAAAAAr   c                    t          t          d                    t          j        dd                              d          k    sJ t          t          d                    t          j        dd                              d          k    sJ t          t          d                    t          j        dd                              d          k    sJ d S )	NrU   r   r   m8[ns]r   r   r?   r   )r   r   rN   rO   r   r   s    r   test_timedelta_conversionsz)TestTimedeltas.test_timedelta_conversions  s    1---..".C2H2H2O2O3
 3
 
 
 
 
 22233r~a7N7N7U7U8
 8
 
 
 
 
 ***++r~a/E/E/L/LX/V/VVVVVVVr   c                    t          d          }|                                |                                k    sJ d}t          j        t
          |          5  |                    d           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )N10m7sz$dtype and copy arguments are ignoredrW   rI   T)copy)r   rJ   rK   r[   r\   
ValueError)r   r,   r]   s      r   test_to_numpy_aliasz"TestTimedeltas.test_to_numpy_alias  sD   w  ""bkkmm3333 5]:S111 	! 	!KK   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!]:S111 	# 	#KKTK"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s$   A;;A?A?!CC	C	c                     t          dd          }t          |t                     sJ t          |t                    sJ d S )Nr   r   r   )r   rM   r   r   s     r   test_identityzTestTimedeltas.test_identity  sF    r$$$"i((((("i(((((((r   c                    d }t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d	          t          j        d
d          k    sJ t          d          t          j        d
d          k    sJ d}t          j        t
          |          5  t          d          t          j        d
d          k    sJ 	 d d d            n# 1 swxY w Y   t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd           k    sJ t          d          t          j        dd          k    sJ t          d           t          j        d!d          k    sJ t          d"          t          j        d#d          k    sJ t          d$          t          j        d%d          k    sJ d&}t          j        t
          |          5  t          d'           |t          j        d(d)                    k    sJ 	 d d d            n# 1 swxY w Y   t          d*           |t          j        d(d)                     k    sJ t          d+           |t          j        d(d)                    k    sJ t          d,           |t          j        dd)                    k    sJ t          d-           |t          j        dd)                    k    sJ t          d.           |t          j        d
d)                    k    sJ t          d/           |t          j        dd)                    k    sJ t          d0           |t          j        dd)                    k    sJ t          d1           |t          j        dd)                     k    sJ d2}t          j        t          |          5  t          d3           d d d            n# 1 swxY w Y   d4}t          j        t          |          5  t          d5           d d d            d S # 1 swxY w Y   d S )6Nc                 ,    |                      d          S Nr   r   vs    r   convz9TestTimedeltas.test_short_format_converters.<locals>.conv      88H%%%r   10r   r   10ns100d   100ns1000r%   1000nsz;'NS' is deprecated and will be removed in a future version.rW   1000NS10usi'  100usi 1000usr&   1000Us1000uS1ms10msi 100msi 1000msi ʚ;z-1s1s10sl    d(	 100sl    h] 1000sl    J)z:'d' is deprecated and will be removed in a future version.1drU   r   z-1D1Dr   100D1000D10000Dz 10000D z
 - 10000D zinvalid unit abbreviation1foozunit abbreviation w/o a numberfoo)	r   rN   rO   r   assert_produces_warningr   r[   r\   r   )r   r   r]   s      r   test_short_format_convertersz+TestTimedeltas.test_short_format_converters  s   	& 	& 	& ".T":":::::  BN2t$<$<<<<<2>#t#<#<<<<<!!R^C%>%>>>>>  BN4$>$>>>>>""bnT4&@&@@@@@K'cBBB 	E 	EX&&".t*D*DDDDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E   BN5$$?$?????!!R^FD%A%AAAAA""bnWd&C&CCCCC""bnWd&C&CCCCC""bnWd&C&CCCCC2>'4#@#@@@@@  BN8T$B$BBBBB!!R^It%D%DDDDD""bnZ&F&FFFFFBN:t$D$D#DDDDD".T"B"BBBBB2>+t#D#DDDDD  BN<$F$FFFFF!!R^M4%H%HHHHHJ'cBBB 	C 	CT??dd2>!S+A+A&B&BBBBBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	CDD3)?)?$@$@#@@@@@$$r~a'='=">">>>>>44r3(?(?#@#@@@@@  DDS)A)A$B$BBBBB!!TT".s*C*C%D%DDDDD""dd2>%+E+E&F&FFFFF $$R^E3-G-G(H(HHHHH&&44uc0J0J+K+K*KKKKK *]:S111 	 	f	 	 	 	 	 	 	 	 	 	 	 	 	 	 	.]:S111 	 	e	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   )EEE 2OO#&O#V--V14V1W22W69W6c                 8   d }t          j        dd          }t          d           ||          k    sJ t          d           ||          k    sJ t          d           ||           k    sJ t          d           |t          j        dd                    k    sJ t          d	           |t          j        d
d                    k    sJ t          d           |t          j        d
d                    k    sJ t          d           |t          j        dd                    k    sJ t          d           || t          j        dd          z             k    sJ t          d           ||t          j        d
d          z             k    sJ t          d           ||t          j        dd          z             k    sJ d}t          j        t
          |          5  t          d           d d d            d S # 1 swxY w Y   d S )Nc                 ,    |                      d          S r   r   r   s    r   r   z8TestTimedeltas.test_full_format_converters.<locals>.conv  r   r   rU   r   1daysz1days,z- 1days,z00:00:01r   z06:00:01iaT  z
06:00:01.0z06:00:01.01iIr   z- 1days, 00:00:01z1days, 06:00:01z1days, 06:00:01.01zhave leftover unitsrW   z- 1days, 00)rN   rO   r   r[   r\   r   )r   r   d1r]   s       r   test_full_format_convertersz*TestTimedeltas.test_full_format_converters  s   	& 	& 	& ^As##!!TT"XX----""dd2hh....$$b	1111$$R^As-C-C(D(DDDDD$$R^L#-N-N(O(OOOOO&&$$r~lC/P/P*Q*QQQQQ''44N5t<<,
 ,
 
 
 
 
 ,--rcBN1c<R<R6R1S1SSSSS*++ttc2220
 0
 
 
 
 
 -..$$ :DAAA3
 3
 
 
 
 

 $]:S111 	% 	%m$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   2HHHc                 ^    t          d          }t          j        ||          }||k    sJ d S )Nz1 days 10:11:12.0123456)r   r   round_trip_pickle)r   	temp_filer   v_ps       r   test_picklezTestTimedeltas.test_pickle:  s3    /00"1i00Cxxxxxxr   c                    t          dd          }t          d          }t          |          t          |          k    sJ |di}||         dk    sJ d t          d          D             }t	          d |D                       sJ t          dd          }t          |          t          |                                          k    sJ d S )	NrU   r   r?   r;   c                 P    g | ]#}t          d           t          |          z   $S )rU   r   r?   r@   ).0ns     r   
<listcomp>z?TestTimedeltas.test_timedelta_hash_equality.<locals>.<listcomp>H  s3    KKKAy###iQ&7&7&77KKKr      c              3   z   K   | ]6}t          |          t          |                                          k    V  7d S r   )r   rD   )r  r,   s     r   	<genexpr>z>TestTimedeltas.test_timedelta_hash_equality.<locals>.<genexpr>I  sA      GGR488tB$5$5$7$7888GGGGGGr   r   )r   r   r   rangeallrD   )r   r   r,   dtdsns_tds         r   test_timedelta_hash_equalityz+TestTimedeltas.test_timedelta_hash_equality?  s    aAAww$r((""""GtqyyyyKKrKKKGG3GGGGGGGG !T""E{{d5#7#7#9#9::::::::r   z;pd.Timedelta violates the Python hash invariant (GH#44504).)reasonrU   ry   )	min_value	max_valuehalf_microsecondsr   Nc                     |dz  }t          |          }t          j        |          }||k    s"t          |          t          |          k    sJ d S d S )Nry   )r   rN   rO   r   )r   r!  r   pandas_timedeltanumpy_timedeltas        r   test_hash_equality_invariancez,TestTimedeltas.test_hash_equality_invarianceO  sy     (#-$[11.55  ?22d;K6L6LPTQ
 Q
 7
 7
 7
 
22 7
 7
r   c                    t          t           j                  }t          t           j                  }|j        t          dz   k    sJ |j        t
          j        k    sJ |t          dd          z
  t          u sJ d}t          j	        t          |          5  |t          dd          z
   d d d            n# 1 swxY w Y   t          j	        t          |          5  |t          dd          z    d d d            n# 1 swxY w Y   t          |j        dz
  d          }|t          u sJ d}t          j	        t          |          5  t          |j        dz
  d           d d d            n# 1 swxY w Y   d}t          j	        t          |          5  t          |j        dz   d           d d d            d S # 1 swxY w Y   d S )NrU   r   zint too (large|big) to convertrW   r;   zACannot cast -9223372036854775809 from ns to 'ns' without overflowz@Cannot cast 9223372036854775808 from ns to 'ns' without overflow)r   r   r   r/   r	   r   i8maxr   r[   r\   OverflowErrorr   )r   min_tdmax_tdr]   r,   s        r   test_implementation_limitsz)TestTimedeltas.test_implementation_limitsg  s   9=))9=)) }q((((}	)))) 1d+++3333.]=444 	( 	(Yq$''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]=444 	( 	(Yq$''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( v}q($//SyyyyQ]/s;;; 	/ 	/fma'...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ Q]/s;;; 	/ 	/fma'...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/sH   B88B<?B<C>>DD	E..E25E2F<<G G c                    t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dz
  d	k     sJ dt          d                                          z
  d	k     sJ d S )
N30sg      >@0g        z-2sg       z5.324sgK@g#B;)r   r   r   s    r   test_total_seconds_precisionz+TestTimedeltas.test_total_seconds_precision  s    --//47777~~++--4444--//47777""0022e;;;;%  ..00475@@@@y''557775@@@@@@r   c                    t          d          j        dk    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ t          dd	          j        d
k    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ d S )NrU   r?   r      r1   r   h)r1   r   r   )r1   r   r   )r1   r   r   )r1   r   r   )r1   r   r   )r   resolution_stringr   s    r   test_resolution_stringz%TestTimedeltas.test_resolution_string  s    a   2c9999aq)));sBBBBa+++=FFFFa+++=DDDDaa000BdJJJJaa000BdJJJJaQ///ATIIIIIIr   c                     t          dd          }|j        }|t          d          k    sJ t           j        }|t          d          k    sJ d S )N      r2  rU   r   )r   )r   r   )r   r,   r`   s      r   test_resolution_deprecatedz)TestTimedeltas.test_resolution_deprecated  sc    AQ'''2222222 %q111111111r   zunit,unit_depr))Ww)r   r  )r   MIN)r   S)r3  H)r   MS)r   USc                     d| d}t          j        t          |          5  t          d|          }d d d            n# 1 swxY w Y   |t          d|          k    sJ d S )N'z8' is deprecated and will be removed in a future version.rW   rU   )r   r  r   r   )r   r#   	unit_deprr]   r`   s        r   test_unit_deprecatedz#TestTimedeltas.test_unit_deprecated  s     V)UUU'cBBB 	- 	-q),,F	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-1d++++++++s   ?AA)"r   r   r   r[   markparametrizer   r   r   r   r   r   r   r   r   r   r  r
  r  r  slowxfailr   stintegerssysmaxsizer   r%  r+  r/  r5  r9  rD  r   r   r   r   r   :  sM       [	
 	
 	
 ) ) )- - -) ) )(H$ H$ H$V6 6 6. . .B B BW W W
# 
# 
#) ) )
5 5 5n% % %<  
; ; ;  [[L    U|a'C/kS(	
 	
 	
 
s 
t 
 
 
   
/ / />A A AJ J J	2 	2 	2 [	
 	
 	
 , , , , ,r   r   zvalue, expectedr   Tz-10sr   r   r   Fr   c                 ,    t          |           |u sJ d S r   )bool)r!   r8   s     r   test_truthinessrO    s!     ;;(""""""r   c                      t          dd          } | j        dz  }|| j        z  }|dz  }|| j        z  }|dz  }|| j        z  }| j        }||k    sJ d S )Nl   ?2\BT, r   r   iQ r&   r%   )r   r1   r   r   r   r/   r,   r`   r8   s      r   "test_timedelta_attribute_precisionrR    su    	&T	2	2	2BWu_F
bjF
gF
boF
dNF
bnFyHXr   c                      t          dd          } |                                 }t          ddd          }||k    sJ d S )Nl   /k_      r   r   i4  i Q iN	 )r1   r   r   )r   rD   r   rQ  s      r    test_to_pytimedelta_large_valuesrT    sQ    	&T	2	2	2B  FeUHHHHXr   c                      t          d          } t          dd          }|| k    sJ t          d          }|| k    sJ d S )Nz7 daysrU   r:  r   1Wr@   )r8   r`   s     r   test_timedelta_week_suffixrW    sT    ""Hqs###FXt__FXr   )'__doc__datetimer   rK  
hypothesisr   r   rI  numpyrN   r[   pandas._libsr   pandas._libs.missingr   pandas._libs.tslibsr   r	   pandas._libs.tslibs.dtypesr
   pandas.errorsr   r   pandasr   r   pandas._testing_testingr   r   r   r   r   rE  rF  rO  rR  rT  rW  r   r   r   <module>rd     s           



                   # # # # # #        7 6 6 6 6 6       
             l+ l+ l+ l+ l+ l+ l+ l+^
J 
J 
J, , , , , , , ,<{, {, {, {, {, {, {, {,| 	5		4 	6		D!	2D	!	!	!4(	14	 	 	 %(	3T	"	"	"D)	4$	d # # #

 
 
      r   