
    .id                        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
jB                  jE                  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&y)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y)TestNonNano)smsus)paramsc                     |j                   S N)param)selfrequests     j/var/www/app/trading-bot/venv/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.td7   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_reso;   sJ    ++C6yyCyyD   ww&   r   c                     t        |      j                  |k(  sJ | j                  |k(  sJ |j                  |k(  sJ y r   )absr0   )r   r,   r#   s      r   test_unary_non_nanozTestNonNano.test_unary_non_nanoB   s@    2w~~%%%||t###||t###r   c                 j    ||z
  }t        j                  d|      }||k(  sJ |j                  |k(  sJ y )Nr   )r   r+   r0   )r   r,   r#   resexpecteds        r   test_sub_preserves_resoz#TestNonNano.test_sub_preserves_resoG   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/   r0   r   r,   r#   r7   s       r   test_mul_preserves_resoz#TestNonNano.test_mul_preserves_resoM   s9     1fzzRYY]***zzT!!!r   c                 T    t        d      }||k  sJ ||kD  sJ ||k(  rJ ||k7  sJ y )Ni r1   r   )r   r,   others      r   test_cmp_cross_resozTestNonNano.test_cmp_cross_resoT   s<    v&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,   r7   r8   s       r   test_to_pytimedeltazTestNonNano.test_to_pytimedelta\   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_timedelta64b   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   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; 	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 Nr;   g       @)rN   nanr   r/   r0   r   r,   r7   s      r   test_truediv_numericz TestNonNano.test_truediv_numeric   s    BFF{c!!!1fzzRYY]***zzRYY&&&3hzzRYY]***zzRYY&&&r   c                     d}t        j                  t        |      5  |t        z   d d d        d}t        j                  t        |      5  t        |z   d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w)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   st    L 	 ]]9,>? 	G	 M 	 ]]9,>? 	G	 		 		 	   
A 
A, A),A5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)	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; 	%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 rc   )rN   rd   r   r/   r0   arrayre   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                     d}t        j                  t        |      5  |t        z   d d d        d}t        j                  t        |      5  t        |z   d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w)Nz>unsupported operand type\(s\) for //: 'Timedelta' and 'NAType'rW   z>unsupported operand type\(s\) for //: 'NAType' and 'Timedelta'rh   rj   s       r   #test_floordiv_na_type_not_supportedz/TestNonNano.test_floordiv_na_type_not_supported   st    M 	 ]]9,>? 	"H	 N 	 ]]9,>? 	"H	 		 		 	rn   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)NrU   r?   r     rp   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}},,,{{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 NrU   )minr0   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   )maxr0   r/   rN   iinfoint64r   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 r}   )r   r+   r0   
resolution)r   r,   r8   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   ry   r   hash)r   second_resolution_maxs     r   	test_hashzTestNonNano.test_hash  s,     )! 4 4S 9 = =)***r   )returnN)__name__
__module____qualname__r[   fixturer   r#   r)   r,   r2   r5   r9   r=   rB   rF   rS   ra   rf   rm   rq   rt   rv   r{   r   r   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 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     ==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 ~rW   z0ufunc 'invert' not supported for the input types)r   r[   r\   ri   rD   rJ   )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   r4   r   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 ej                  j                  dg d      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!   r8   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_secondsrN   rd   isnan)r   rngexpts      r   test_total_seconds_scalarz(TestTimedeltas.test_total_seconds_scalarJ  sT    45G
s002D9xx))+,,,r   c                 ,   t        dd      t        d      fD ]  }|j                  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.012345nsz1 days, 10:11:12.012345678)	r   ry   rD   rM   r   rN   rO   r/   rJ   )r   r,   pydttd64s       r   test_conversionzTestTimedeltas.test_conversionS  s   Rc*I6O,PQ 	4BD!B$$&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   )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  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DDD,-44DDD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 )NrU   r   r   
P0DT0H0M1Sr   )r   r8   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Mr   rd   )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                    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   )r   rN   rO   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 )	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-."..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 ignoredrW   rI   T)copy)r   rJ   rK   r[   r\   
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   rM   r   r   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 d}t        j                  t
        |      5  t        d      t        j                  d
d      k(  sJ 	 d d 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 d&}t        j                  t
        |      5  t        d'       |t        j                  d(d)            k(  sJ 	 d d 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        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        d4}t        j                  t        |      5  t        d5       d d d        y # 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   UxY w# 1 sw Y   y xY w)6Nc                 $    | j                  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":::: BNN2t$<<<<2>>#t#<<<<!R^^C%>>>> BNN4$>>>>"bnnT4&@@@@K''cB 	EX&"..t*DDDD	E  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J''cB 	CT?d2>>!S+A&BBBB	C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	 	O	E 	E*	C 	C	 		 	s0   9%T&=+T3 U U&T03T= U	U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   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#!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                 T    t        d      }t        j                  ||      }||k(  sJ y )Nz1 days 10:11:12.0123456)r   r   round_trip_pickle)r   	temp_filer   v_ps       r   test_picklezTestTimedeltas.test_pickle:  s*    /0""1i0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 )	NrU   r   r?   r;      r   c              3   f   K   | ])  }t        |      t        |j                               k(   + y wr   )r   rD   ).0r,   s     r   	<genexpr>z>TestTimedeltas.test_timedelta_hash_equality.<locals>.<genexpr>I  s'     GR48tB$5$5$788Gs   /1r   )r   r   r   rangeallrD   )r   r   r,   d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).)reasonrU   rx   )	min_value	max_valuehalf_microsecondsr   Nc                     |dz  }t        |      }t        j                  |      }||k7  st        |      t        |      k(  sJ y y )Nrx   )r   rN   rO   r   )r   r  r   pandas_timedeltanumpy_timedeltas        r   test_hash_equality_invariancez,TestTimedeltas.test_hash_equality_invarianceO  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)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  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_precision  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 )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 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/  rU   r   )r   )r   r   )r   r,   r`   s      r   test_resolution_deprecatedz)TestTimedeltas.test_resolution_deprecated  sJ    AQ'2222 %%q1111r   zunit,unit_depr))Ww)r   r  )r~   MIN)r   S)r0  H)r   MS)r   USc                     d| d}t        j                  t        |      5  t        d|      }d d d        t        d|      k(  sJ y # 1 sw Y   xY w)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  sY     )TU''c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,  r2  r6  rA  r   r   r   r   r   :  s9   [[	
))-)(H$V6.BW
#)
5n%<
;  [[[[L   |a'C/kkS(	

s 
t 
 
/>AJ	2 [[	
,,r   r   zvalue, expectedr   Tz-10sr   r   r   Fr   c                 "    t        |       |u sJ y r   )bool)r!   r8   s     r   test_truthinessrL    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   r1   r   r   r   r/   r,   r`   r8   s      r   "test_timedelta_attribute_precisionrO    sp    	&T	2BWWu_F
bjjF
gF
booF
dNF
bnnFyyHXr   c                  h    t        dd      } | j                         }t        ddd      }||k(  sJ y )Nl   /k_      r   r   i4  i Q iN	 )r1   r   r   )r   rD   r   rN  s      r    test_to_pytimedelta_large_valuesrQ    s9    	&T	2B FeUHHXr   c                  f    t        d      } t        dd      }|| k(  sJ t        d      }|| k(  sJ y )Nz7 daysrU   r7  r   1Wr@   )r8   r`   s     r   test_timedelta_week_suffixrT    s=    "Hqs#FXt_FXr   )'__doc__datetimer   rH  
hypothesisr   r   rF  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   rB  rC  rL  rO  rQ  rT  r   r   r   <module>ra     s      
    # 7
 l+ l+^
J, ,<{, {,| 	5	4 	6	D!	2D	!4(	14	 %(	3T	"D)	4$	d##

r   