
    bMhu[                        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mZ ddlmZ ddl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S )z test the scalar Timedelta     )	timedeltaN)given
strategies)lib)NaTiNaT)NpyDatetimeUnit)OutOfBoundsTimedelta	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dZdS )TestNonNano)smsus)paramsc                     |j         S N)param)selfrequests     l/var/www/html/test/jupyter/venv/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.td2   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_reso6   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   )absr.   )r   r*   r!   s      r   test_unary_non_nanozTestNonNano.test_unary_non_nano=   sK    2ww~%%%%|t####|t######r   c                 d    ||z
  }t          j        d|          }||k    sJ |j        |k    sJ d S )Nr   )r   r)   r.   )r   r*   r!   resexpecteds        r   test_sub_preserves_resoz#TestNonNano.test_sub_preserves_resoB   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-   r.   r   r*   r!   r5   s       r   test_mul_preserves_resoz#TestNonNano.test_mul_preserves_resoH   s?     1fzRY]****zT!!!!!!r   c                 h    t          dd          }||k     sJ ||k    sJ ||k    rJ ||k    sJ d S )Ni ns)r/   r!   r   )r   r*   others      r   test_cmp_cross_resozTestNonNano.test_cmp_cross_resoO   sL    vD111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*   r5   r6   s       r   test_to_pytimedeltazTestNonNano.test_to_pytimedeltaW   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_timedelta64]   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
   rC   r)   r	   r%   r   r&   )	r   r*   r?   msgr5   r6   leftrightresults	            r   test_truediv_timedeltalikez&TestNonNano.test_truediv_timedeltalikeh   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 Nr9   g       @)rM   nanr   r-   r.   r   r*   r5   s      r   test_truediv_numericz TestNonNano.test_truediv_numeric   s    BF{c!!!!1fzRY]****zRY&&&&3hzRY]****zRY&&&&&&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  }|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 )	NrT   rU   r9   >Cannot cast 106752 days 00:00:00 to unit='ns' without overflowrV   r   i  rX   rY   )r   r*   r?   r\   r5   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{{{{${{{{{{ra   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 rc   )rM   rd   r   r-   r.   arrayre   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                    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 )NrT   rB   r     rh   rV   )r   as_unitr.   r/   rZ   r[   r
   )r   r*   r?   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 NrT   )minr.   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   )maxr.   r-   rM   iinfoint64ru   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 rs   )r   r)   r.   
resolution)r   r*   r6   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   ro   rx   hash)r   second_resolution_maxs     r   	test_hashzTestNonNano.test_hash   s:     )! 4 4S 9 9 =)*******r   )r   N)__name__
__module____qualname__rZ   fixturer   r!   r'   r*   r0   r3   r7   r;   r@   rE   rR   r`   rf   ri   rl   rq   rv   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 rs   )r   rt   r   r-   r.   r	   	NPY_FR_nsr   rx   rM   ry   rz   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 ~rV   z0ufunc 'invert' not supported for the input types)r   rZ   r[   	TypeErrorrC   rI   )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   r2   ru   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 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   r6   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_secondsrM   rd   isnan)r   rngexpts      r   test_total_seconds_scalarz(TestTimedeltas.test_total_seconds_scalar+  sk    455G
s0022D999x))++,,,,,,,r   c                 H   t          dd          t          d          f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.012345r=   z1 days, 10:11:12.012345678)r   rC   rL   r   rM   rN   r-   rI   )r   r*   pydttd64s       r   test_conversionzTestTimedeltas.test_conversion4  s0   Rc***I6O,P,PQ 	4 	4B$$&&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   )rL   int)r   s    r   checkz)TestTimedeltas.test_fields.<locals>.checkH  s    eS)))))))r   z1 days, 10:11:12rT   i@  r   z('Timedelta' object has no attribute '{}'hoursrV   minutesmillisecondsz-1 days, 10:11:12z13:48:48z-1 days +10:11:12z0 days 13:48:48l     g4 l  g4 z-1 days, 10:11:12.100123456i i  r      ;   i  z-1 days 1 us)r   r/   secondsmicrosecondsnanosecondsrZ   r[   AttributeErrorformatr   r   r   r   r2   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GGGG,--4GGGG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 )NrT   r   r   
P0DT0H0M1Sr   )r   r6   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Mrz   rd   )r   rJ   rQ   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   D)r   rM   rN   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 )	NrT   r   r   m8[ns])r   r   rB   r   )r   r   rM   rN   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 ignoredrV   rH   T)copy)r   rI   rJ   rZ   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   rL   r   ru   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 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 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
          |0          5  t          d1           d d d            n# 1 swxY w Y   d2}t          j        t
          |0          5  t          d3           d d d            d S # 1 swxY w Y   d S )4Nc                 ,    |                      d          S Nr   r   vs    r   convz9TestTimedeltas.test_short_format_converters.<locals>.conv      88H%%%r   10r   r=   10ns100d   100ns1000r#   1000ns1000NS10usi'  100usi 1000usr$   1000Us1000uS1ms10msi 100msi 1000msi ʚ;z-1s1s10sl    d(	 100sl    h] 1000sl    J)1drT   r   z-1d1D10D100D1000D10000Dz 10000D z
 - 10000D zinvalid unit abbreviationrV   1foozunit abbreviation w/o a numberfoo)r   rM   rN   rZ   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&@&@@@@@""bnT4&@&@@@@@  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$$r~a'='=">">>>>>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	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   %UUU)VV
V
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   rT   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 unitsrV   z- 1days, 00)rM   rN   r   rZ   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   r   v_ps      r   test_picklezTestTimedeltas.test_pickle  s1    /00"1%%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 )	NrT   r   rB   r9   c                 P    g | ]#}t          d           t          |          z   $S )rT   r   rB   r>   ).0ns     r   
<listcomp>z?TestTimedeltas.test_timedelta_hash_equality.<locals>.<listcomp>#  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   rC   )r  r*   s     r   	<genexpr>z>TestTimedeltas.test_timedelta_hash_equality.<locals>.<genexpr>$  sA      GGR488tB$5$5$7$7888GGGGGGr   r=   )r   r   r   rangeallrC   )r   r   r*   r   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).)reasonrT   rn   )	min_value	max_valuehalf_microsecondsr   Nc                     |dz  }t          |          }t          j        |          }||k    s"t          |          t          |          k    sJ d S d S )Nrn   )r   rM   rN   r   )r   r  r   pandas_timedeltanumpy_timedeltas        r   test_hash_equality_invariancez,TestTimedeltas.test_hash_equality_invariance*  sy     (#-$[11.55  ?22d;K6L6LPTQ
 Q
 7
 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 )NrT   r=   zint too (large|big) to convertrV   r9   zACannot cast -9223372036854775809 from ns to 'ns' without overflowz@Cannot cast 9223372036854775808 from ns to 'ns' without overflow)r   rt   rx   r-   r   r   i8maxr   rZ   r[   OverflowErrorr
   )r   min_tdmax_tdr\   r*   s        r   test_implementation_limitsz)TestTimedeltas.test_implementation_limitsB  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_precisiona  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 )NrT   rB   r      r/   r   h)r/   r   rt   )r/   r   r   )r/   r   r   )r/   r   r   )r/   r   r=   )r   resolution_stringr   s    r   test_resolution_stringz%TestTimedeltas.test_resolution_stringj  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      r%  rT   )r   )r   r}   )r   r*   r_   s      r   test_resolution_deprecatedz)TestTimedeltas.test_resolution_deprecateds  sc    AQ'''q1111111 %q111111111r   )!r   r   r   rZ   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r  r  
skip_ubsanxfailr   stintegerssysmaxsizer   r  r  r"  r(  r,  r   r   r   r   r     s       [	
 	
 	
 ) ) )- - -) ) )&H$ H$ H$V6 6 6. . .B B BW W W
# 
# 
#) ) )
0 0 0d% % %<  
; ; ;  [[L    U|a'C/kS(	
 	
 	
 
s 
t 
 
 
   
/ / />A A AJ J J	2 	2 	2 	2 	2r   r   zvalue, expectedr   Tz-10sr   r=   r   Fr   c                 ,    t          |           |u sJ d S r   )bool)r   r6   s     r   test_truthinessr7    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   r/   r   r   r   r-   )r*   r_   r6   s      r   "test_timedelta_attribute_precisionr9    su    	&T	2	2	2BWu_F
bjF
gF
boF
dNF
bnFyHXr   )"__doc__datetimer   r3  
hypothesisr   r   r1  numpyrM   rZ   pandas._libsr   pandas._libs.tslibsr   r   pandas._libs.tslibs.dtypesr	   pandas.errorsr
   pandasr   r   pandas._testing_testingr   r   r   r   r   r-  r.  r7  r9  r   r   r   <module>rE     sn   ! !       



                          7 6 6 6 6 6 . . . . . .             R+ R+ R+ R+ R+ R+ R+ R+j
J 
J 
J, , , , , , , ,<a2 a2 a2 a2 a2 a2 a2 a2H 	5		4 	6		D!	2D	!	!	!4(	14	 	 	 %(	3T	"	"	"D)	4$	d # # #

 
 
 
 
r   