
    Owgu[                        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<                  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!y)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y)TestNonNano)smsus)paramsc                     |j                   S N)param)selfrequests     c/var/www/horilla/myenv/lib/python3.12/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33r   c                     d}|t         j                  j                  k(  r|}|S |t         j                  j                  k(  r|dz  }|S |dz  }|S )Nl     &o  @B )r	   	NPY_FR_usr   	NPY_FR_ms)r   r!   r   r   s       r   valzTestNonNano.val&   s_     ?,,222E
 	 _..444$JE  )OEr   c                 .    t        j                  ||      S r   )r   _from_value_and_reso)r   r!   r'   s      r   tdzTestNonNano.td2   s    --c488r   c                     t        j                  ||      }|j                  |k(  sJ |j                  |k(  sJ |j                  dk(  sJ y )N  )r   r)   _value_cresodays)r   r!   r'   r*   s       r   test_from_value_and_resoz$TestNonNano.test_from_value_and_reso6   sJ    ++C6yyCyyD   ww&   r   c                     t        |      j                  |k(  sJ | j                  |k(  sJ |j                  |k(  sJ y r   )absr.   )r   r*   r!   s      r   test_unary_non_nanozTestNonNano.test_unary_non_nano=   s@    2w~~%%%||t###||t###r   c                 j    ||z
  }t        j                  d|      }||k(  sJ |j                  |k(  sJ y )Nr   )r   r)   r.   )r   r*   r!   resexpecteds        r   test_sub_preserves_resoz#TestNonNano.test_sub_preserves_resoB   s;    2g11!T:hzzT!!!r   c                 l    |dz  }|j                   |j                   dz  k(  sJ |j                  |k(  sJ y )N   )r-   r.   r   r*   r!   r5   s       r   test_mul_preserves_resoz#TestNonNano.test_mul_preserves_resoH   s9     1fzzRYY]***zzT!!!r   c                 V    t        dd      }||k  sJ ||kD  sJ ||k(  rJ ||k7  sJ y )Ni ns)r/   r!   )r   )r   r*   others      r   test_cmp_cross_resozTestNonNano.test_cmp_cross_resoO   s>    vD1rzzEzzB;U{{r   c                 p    |j                         }t        d      }t        |      t        u sJ ||k(  sJ y )Nr,   r/   )to_pytimedeltar   type)r   r*   r5   r6   s       r   test_to_pytimedeltazTestNonNano.test_to_pytimedeltaW   s8    !&)CyI%%%hr   c                    |j                         |j                         |j                  fD ]  }t        |t        j
                        sJ |j                  d      |j                  k(  sJ |t        j                  j                  k(  r|j                  dk(  rlJ |t        j                  j                  k(  r|j                  dk(  rJ |t        j                  j                  k(  s|j                  dk(  rJ  y )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88D>RYY...//555yyG+++22888yyH,,,22888yyH,,,	-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        |j                         |z  }|j                         |j                         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 y # 1 sw Y   xY w)N         @z?Cannot cast 106752 days 00:00:00 to unit='ns' without overflow.match2   gMbP?r#   r   r-   pytestraisesr
   rB   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; 	J	 ""$r)'')B,=,=,??h --b/2K2K2Q2QR..r?3L3L3R3RS~~#	 	s   
DD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 y Nr9   g       @)rL   nanr   r-   r.   r   r*   r5   s      r   test_truediv_numericz TestNonNano.test_truediv_numeric   s    BFF{c!!!1fzzRYY]***zzRYY&&&3hzzRYY]***zzRYY&&&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        |j                         |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 y # 1 sw Y   xY w)	NrS   rT   r9   >Cannot cast 106752 days 00:00:00 to unit='ns' without overflowrU   r   i  rW   rX   )r   r*   r>   r[   r5   r\   r]   r^   s           r   test_floordiv_timedeltalikez'TestNonNano.test_floordiv_timedeltalike   s    Rx1}}bR1$$$"))$N]]/s; 	%K	 ""$*axx --e_5N5N5T5TU..r?3L3L3R3RS{{${{	 	s   
C''C0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 |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 y ra   )rL   rb   r   r-   r.   arrayrc   s      r   test_floordiv_numericz!TestNonNano.test_floordiv_numeric   s.   RVV|s"""AgzzRYY!^+++zzRYY&&&CizzRYY!^+++zzRYY&&&RXXbff%%,,,BHHQKzzRYY!^+++zzRYY&&&BHHSM!zzRYY!^+++zzRYY&&&r   c                    t        d      j                  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        t	        j
                  t        |      5  ||z    d d d        t	        j
                  t        |      5  ||z
   d d d        t	        j
                  t        |      5  ||z
   d d d        y # 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   KxY w# 1 sw Y   y xY w)NrS   rA   r     rf   rU   )r   as_unitr.   r/   rY   rZ   r
   )r   r*   r>   r^   other2r[   s         r   test_addsub_mismatched_resoz'TestNonNano.test_addsub_mismatched_reso   s    q!))$/ e}},,,{{bggk)))}},,,{{bggk)))e}},,,{{bggk)))}},,,{{a"''k)))3N]]/s; 	K	]]/s; 	RK	]]/s; 	K	]]/s; 	RK	 		 		 		 		 	s0   <G%GG7G*GGG'*G3c                     |j                   |k  sJ |j                   j                  |j                  k(  sJ |j                   j                  t        j                  dz   k(  sJ y NrS   )minr.   r-   r   r   r*   s     r   test_minzTestNonNano.test_min   sJ    vv||vv}}		)))vv}}

Q...r   c                     |j                   |k\  sJ |j                   j                  |j                  k(  sJ |j                   j                  t        j                  t        j
                        j                   k(  sJ y r   )maxr.   r-   rL   iinfoint64rs   s     r   test_maxzTestNonNano.test_max   sU    vv||vv}}		)))vv}} 2 6 6666r   c                     t        j                  d|j                        }|j                  }||k(  sJ |j                  |j                  k(  sJ y rq   )r   r)   r.   
resolution)r   r*   r6   r^   s       r   test_resolutionzTestNonNano.test_resolution   sE    11!RYY?!!!}}///r   Nc                 f    t        d      j                  d      j                  }t        |      sJ y )Nr   r   )r   rm   rv   hash)r   second_resolution_maxs     r   	test_hashzTestNonNano.test_hash   s,     )! 4 4S 9 = =)***r   )returnN)__name__
__module____qualname__rY   fixturer   r!   r'   r*   r0   r3   r7   r;   r?   rD   rQ   r_   rd   rg   rj   ro   rt   ry   r|   r    r   r   r   r      s    V^^,- . ^^4 4
 ^^	 	 ^^9 9!$
""	-2	'.'*B/
7
0+r   r   c                  z   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 y rq   )r   rr   r   r-   r.   r	   	NPY_FR_nsr   rv   rL   rw   rx   r{   r   r   r   'test_timedelta_class_min_max_resolutionr      s     ==Icjj1n5555==?#<#<#B#BBBB==Ibhhrxx&8&<&<======?#<#<#B#BBBB9Q<///&&/*C*C*I*IIIIr   c                       e Zd Zd Zd Zy)TestTimedeltaUnaryOpsc                    t        dd      }d}t        j                  t        |      5  |  d d d        t        j                  t        |      5  |j	                           d d d        d}t        j                  t        |      5  |j                           d d d        y # 1 sw Y   vxY w# 1 sw Y   MxY w# 1 sw Y   y xY w)N
   dr!   zbad operand type for unary ~rU   z0ufunc 'invert' not supported for the input types)r   rY   rZ   	TypeErrorrB   rH   )r   r*   r[   umsgs       r   test_invertz!TestTimedeltaUnaryOps.test_invert   s    r$,]]9C0 	C	 ]]9C0 	#!"	# B]]9D1 	#!"	# 	#	 		# 	#	# 	#s#   B$B0	B<$B-0B9<Cc                    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 y )Nr   r   r   z-10d10d)r   r2   rs   s     r   test_unary_opsz$TestTimedeltaUnaryOps.test_unary_ops  s    r$ si#....si''''si---- 2w"}}B3x2~~B3x9U++++r   N)r   r   r   r   r   r   r   r   r   r      s    #,r   r   c            	          e Zd Zej                  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                  j+                  d       e ej0                  ej4                   dz
  dz  ej4                  dz              deddfd                     Zd Zd Zd Zd Z y)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 y )Nr   )r   r-   str)r   r!   r   r6   r^   s        r   &test_rounding_on_int_unit_constructionz5TestTimedeltas.test_rounding_on_int_unit_construction  sG     5t,}}(((3u:,-}}(((r   c                     t        d      }d}t        j                  |j                         |       t        t        j
                        }t	        j                  |j                               sJ y )Nz1 days, 10:11:12.100123456g@)r   tmassert_almost_equaltotal_secondsrL   rb   isnan)r   rngexpts      r   test_total_seconds_scalarz(TestTimedeltas.test_total_seconds_scalar+  sT    45G
s002D9xx))+,,,r   c                 
   t        dd      t        d      fD ]  }|j                         }|t        |      k(  sJ ||k(  sJ t        |t              rt        |t               rJ |t	        j
                  |j                  d      k(  sJ |j                         }|t	        j
                  |j                  d      k(  sJ ||k(  sJ t        |t        j
                        rJ  t        d      }||j                         k7  sJ y )Nr   r   r   z1 days, 10:11:12.012345r=   z1 days, 10:11:12.012345678)r   rB   rK   r   rL   rM   r-   rH   )r   r*   pydttd64s       r   test_conversionzTestTimedeltas.test_conversion4  s    Rc*I6O,PQ 	4B$$&D4(((::dI.z$	7RRR		48888$$&D2>>"))T::::::dBNN333	4 3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        |j                  d            5  |j                   d d d        t        j                  t        |j                  d	            5  |j                   d d d        t        j                  t        |j                  d
            5  |j                   d d d         ||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        |j                  d            5  |j                   d d d        t        j                  t        |j                  d	            5  |j                   d d d        t        j                  t        |j                  d
            5  |j                   d d d        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 y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   GxY w# 1 sw Y   xY w# 1 sw Y   xY w)Nc                 (    t        | t              sJ y r   )rK   int)r   s    r   checkz)TestTimedeltas.test_fields.<locals>.checkH  s    eS)))r   z1 days, 10:11:12rS   i@  r   z('Timedelta' object has no attribute '{}'hoursrU   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nanosecondsrY   rZ   AttributeErrorformatr   r   r   r   r2   r   r-   
components)r   r   r   r[   r*   tups         r   test_fieldszTestTimedeltas.test_fieldsG  s!   	*
 -.xx1}}{{66661$$$!###8]]>G1DE 	II	]]>I1FG 	KK	]]>N1KL 		 	chhckkccoo*+2w)J////2w----si 12222-.555GGG,-44GGG89xx2~~{{6666#3333#%%%8]]>G1DE 	II	]]>I1FG 	KK	]]>N1KL 		 2t$//xx2~~yyB{{b   {{b   3&&&3&&&!### 	chhciickkckkcccoo'22xx2~~yyB{{b   {{b   3&&&3&&&!###w	 		 		 	,	 		 		 	sH   ?Q:>R=RR!R.R;:RRR!R+.R8;Sc                 >    t        dd      }t        d      |k(  sJ y )NrS   r   r   
P0DT0H0M1Sr   )r   r6   s     r   test_iso_conversionz"TestTimedeltas.test_iso_conversion  s!    QS)L)X555r   c                 <   t        d      j                         }|j                  j                  dk(  sJ |j	                  d      t
        k(  sJ t        d      j                         }|j                  j                  dk(  sJ |j	                  d      t
        k(  sJ y )NnatMrx   rb   )r   rI   rP   kindastyper   )r   r^   s     r   test_nat_convertersz"TestTimedeltas.test_nat_converters  s    e$--/||  C'''}}W%---e$--/||  C'''}}W%---r   c                    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 y )
Nr   r=   r   r   r   r   r   r   D)r   rL   rM   r   s    r   test_numeric_conversionsz'TestTimedeltas.test_numeric_conversions  s    |r~~a6666}r4 8888$'2>>"d+CCCC$'2>>"d+CCCC$'2>>"d+CCCC#&"..S*AAAA#&"..S*AAAAr   c                 r   t        t        d            t        j                  dd      j	                  d      k(  sJ t        t        d            t        j                  dd      j	                  d      k(  sJ t        t        d            t        j                  dd      j	                  d      k(  sJ y )	NrS   r   r   m8[ns])r   r   rA   r   )r   r   rL   rM   r   r   s    r   test_timedelta_conversionsz)TestTimedeltas.test_timedelta_conversions  s    1-."..C2H2O2O3
 
 	
 
 23r~~a7N7U7U8
 
 	
 
 *+r~~a/E/L/LX/VVVVr   c                 j   t        d      }|j                         |j                         k(  sJ d}t        j                  t
        |      5  |j                  d       d d d        t        j                  t
        |      5  |j                  d       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)N10m7sz$dtype and copy arguments are ignoredrU   rG   T)copy)r   rH   rI   rY   rZ   
ValueError)r   r*   r[   s      r   test_to_numpy_aliasz"TestTimedeltas.test_to_numpy_alias  s    w  "bkkm333 5]]:S1 	!KK 	!]]:S1 	#KKTK"	# 	#	! 	!	# 	#s   BB)B&)B2c                 f    t        dd      }t        |t               sJ t        |t              sJ y )Nr   r   r   )r   rK   r   rs   s     r   test_identityzTestTimedeltas.test_identity  s.    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        d2}t        j                  t
        |0      5  t        d3       d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)4Nc                 $    | j                  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)1drS   r   z-1d1D10D100D1000D10000Dz 10000D z
 - 10000D zinvalid unit abbreviationrU   1foozunit abbreviation w/o a numberfoo)r   rL   rM   rY   rZ   r   )r   r   r[   s      r   test_short_format_convertersz+TestTimedeltas.test_short_format_converters  s(   	& "..T":::: BNN2t$<<<<2>>#t#<<<<!R^^C%>>>> BNN4$>>>>"bnnT4&@@@@"bnnT4&@@@@ BNN5$$????!R^^FD%AAAA"bnnWd&CCCC"bnnWd&CCCC"bnnWd&CCCC2>>'4#@@@@ BNN8T$BBBB!R^^It%DDDD"bnnZ&FFFFBNN:t$D#DDDD"..T"BBBB2>>+t#DDDD BNN<$FFFF!R^^M4%HHHH$r~~a'=">>>>D3)?$@#@@@@$r~~a'=">>>>4r3(?#@@@@ DS)A$BBBB!T"..s*C%DDDD"d2>>%+E&FFFF $R^^E3-G(HHHH&4uc0J+K*KKKK *]]:S1 	f	.]]:S1 	e	 		 		 	s   SS$S!$S-c                    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        y # 1 sw Y   y xY w)Nc                 $    | j                  d      S r   r   r   s    r   r   z8TestTimedeltas.test_full_format_converters.<locals>.conv  r   r   rS   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 unitsrU   z- 1days, 00)rL   rM   r   rY   rZ   r   )r   r   d1r[   s       r   test_full_format_convertersz*TestTimedeltas.test_full_format_converters  s   	& ^^As#!T"X---"d2h...$b	111$R^^As-C(DDDD$R^^L#-N(OOOO&$r~~lC/P*QQQQ'4NN5t<,
 
 	
 
 ,-rcBNN1c<R6R1SSSS*+tc220
 
 	
 
 -.$ :DAA3
 
 	
 

 $]]:S1 	%m$	% 	% 	%s   *F??Gc                 R    t        d      }t        j                  |      }||k(  sJ y )Nz1 days 10:11:12.0123456)r   r   round_trip_pickle)r   r   v_ps      r   test_picklezTestTimedeltas.test_pickle  s(    /0""1%Cxxr   c                 x   t        dd      }t        d      }t        |      t        |      k(  sJ |di}||   dk(  sJ t        d      D cg c]  }t        d      t        |      z    }}t	        d |D              sJ t        dd      }t        |      t        |j                               k7  sJ y c c}w )	NrS   r   rA   r9      r   c              3   f   K   | ])  }t        |      t        |j                               k(   + y wr   )r~   rB   ).0r*   s     r   	<genexpr>z>TestTimedeltas.test_timedelta_hash_equality.<locals>.<genexpr>$  s'     GR48tB$5$5$788Gs   /1r=   )r   r   r~   rangeallrB   )r   r   r*   r   ntdsns_tds          r   test_timedelta_hash_equalityz+TestTimedeltas.test_timedelta_hash_equality  s    aAAw$r("""GtqyyAFrKAy#iQ&77KKG3GGGG !T"E{d5#7#7#9:::: Ls    B7z;pd.Timedelta violates the Python hash invariant (GH#44504).)reasonrS   rl   )	min_value	max_valuehalf_microsecondsr   Nc                     |dz  }t        |      }t        j                  |      }||k7  st        |      t        |      k(  sJ y y )Nrl   )r   rL   rM   r~   )r   r  r   pandas_timedeltanumpy_timedeltas        r   test_hash_equality_invariancez,TestTimedeltas.test_hash_equality_invariance*  s\     (#-$[1..5  ?2d;K6LPTQ
 7
 	
 
 7
2r   c                 v   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        t        j                  t        |      5  |t        dd      z    d d d        t        |j                  dz
  d      }|t        u sJ d}t        j                  t        |      5  t        |j                  dz
  d       d d d        d}t        j                  t        |      5  t        |j                  dz   d       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   axY w# 1 sw Y   y xY w)NrS   r=   zint too (large|big) to convertrU   r9   zACannot cast -9223372036854775809 from ns to 'ns' without overflowz@Cannot cast 9223372036854775808 from ns to 'ns' without overflow)r   rr   rv   r-   r   r   i8maxr   rY   rZ   OverflowErrorr
   )r   min_tdmax_tdr[   r*   s        r   test_implementation_limitsz)TestTimedeltas.test_implementation_limitsB  sv   9==)9==) }}q(((}}		))) 1d++333.]]=4 	(Yq$''	( ]]=4 	(Yq$''	( v}}q($/SyyQ]]/s; 	/fmma'.	/ Q]]/s; 	/fmma'.	/ 	/	( 	(	( 	(	/ 	/	/ 	/s0   FF)F#(F/FF #F,/F8c                 x   t        d      j                         dk(  sJ t        d      j                         dk(  sJ t        d      j                         dk(  sJ t        d      j                         dk(  sJ t        d      j                         dz
  d	k  sJ dt        d      j                         z
  d	k  sJ y )
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~++-444--/4777"002e;;;% ..0475@@@y'55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 y )NrS   rA   r      r/   r   h)r/   r   rr   )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 22c999aq);;sBBBa+==FFFa+==DDDaa0BBdJJJaa0BBdJJJaQ/AATIIIr   c                     t        dd      }|j                  }|t        d      k(  sJ t         j                  }|t        d      k(  sJ y )N      r!  rS   )r   )r   r{   )r   r*   r^   s      r   test_resolution_deprecatedz)TestTimedeltas.test_resolution_deprecateds  sJ    AQ'q1111 %%q1111r   )!r   r   r   rY   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$V6.BW
#)
0d%<
;  [[[[L   |a'C/kkS(	

s 
t 
 
/>AJ	2r   r   zvalue, expectedr   Tz-10sr   r=   r   Fr   c                 "    t        |       |u sJ y r   )bool)r   r6   s     r   test_truthinessr3    s     ;("""r   c                      t        dd      } | j                  dz  }|| j                  z  }|dz  }|| j                  z  }|dz  }|| j                  z  }| j
                  }||k(  sJ y )Nl   ?2\BT, r=   r   iQ r$   r#   )r   r/   r   r   r   r-   )r*   r^   r6   s      r   "test_timedelta_attribute_precisionr5    sp    	&T	2BWWu_F
bjjF
gF
booF
dNF
bnnFyyHXr   )"__doc__datetimer   r/  
hypothesisr   r   r-  numpyrL   rY   pandas._libsr   pandas._libs.tslibsr   r   pandas._libs.tslibs.dtypesr	   pandas.errorsr
   pandasr   r   pandas._testing_testingr   r   r   r   r   r)  r*  r3  r5  r   r   r   <module>rA     s    !  
    7 . R+ R+j
J, ,<a2 a2H 	5	4 	6	D!	2D	!4(	14	 %(	3T	"D)	4$	d##

r   