
    dB                        d Z ddlm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Zdd	lmZmZmZ ddlmZ  G d
 d          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     )	timedelta)given
strategiesN)lib)NaTiNaT)NpyDatetimeUnit)OutOfBoundsTimedelta)	TimedeltaTimedeltaIndexto_timedeltac                   &    e Zd Zd Zd Zd Zd ZdS )
TestAsUnitc                 R   t          d          }|                    d          |u sJ |                    d          }|j        |j        dz  k    sJ |j        t          j        j        k    sJ |                    d          }|j        |j        k    sJ |j        |j        k    sJ |                    d          }|j        |j        dz  k    sJ |j        t          j        j        k    sJ |                    d          }|j        |j        k    sJ |j        |j        k    sJ |                    d          }|j        |j        d	z  k    sJ |j        t          j        j        k    sJ |                    d          }|j        |j        k    sJ |j        |j        k    sJ d S )
N   daysnsus  ms@B s ʚ;)	r   as_unit_value_cresor	   	NPY_FR_usvalue	NPY_FR_msNPY_FR_s)selftdresrts       h/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/scalar/timedelta/test_timedelta.pytest_as_unitzTestAsUnit.test_as_unit   s   Azz$2%%%%jjzRY$.....z_6<<<<<[[yBI%%%%yBI%%%%jjzRY)33333z_6<<<<<[[yBI%%%%yBI%%%%jjoozRY-77777z_5;;;;;[[yBI%%%%yBI%%%%%%    c                 h   d}t          j        |t          j        j                  }d}t          j        t          |          5  |                    d           d d d            n# 1 swxY w Y   |                    d          }|j	        |dz  k    sJ |j
        t          j        j        k    sJ d S )N     &o>Cannot cast 106752 days 00:00:00 to unit='ns' without overflowmatchr   r   r   )r   _from_value_and_resor	   r   r   pytestraisesr
   r   r   r   r    )r"   r   r#   msgr$   s        r&   test_as_unit_overflowsz!TestAsUnit.test_as_unit_overflows:   s    +B0I0OPPN]/s;;; 	 	JJt	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 jjzR4Z''''z_6<<<<<<<s   A&&A*-A*c                 h   t          d          }|                    d          }t          d          }||k    sJ |j        t          j        j        k    sJ |j        dk    sJ t          j        t          d          5  |                    dd	           d d d            d S # 1 swxY w Y   d S )
Ni  microsecondsr   r   )millisecondszCannot losslessly convert unitsr,   F)round_ok)
r   r   r   r	   r    r   r   r/   r0   
ValueErrorr"   r#   r$   expecteds       r&   test_as_unit_roundingz TestAsUnit.test_as_unit_roundingG   s    D)))jj!,,,hz_6<<<<<zQ]:-NOOO 	- 	-JJteJ,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   B''B+.B+c                    t          d                              d          }|j        dk    sJ |j        dk    sJ |j        j        dk    sJ |j        dk    sJ |                                dk    sJ |                    d          }|j        dk    sJ |j        j        dk    sJ |j        j        dk    sJ |j        dk    sJ |j        dk    sJ |                                dk    sJ d S )	Nr   r   r   i \&Q r   l    `;P r   )	r   r   r   r   
components_dtotal_secondshours_hr"   r#   r$   s      r&   test_as_unit_non_nanoz TestAsUnit.test_as_unit_non_nanoT   s   A&&t,,w!||||yJ&&&&}!Q&&&&uzzzz!!U****jjz^++++~"a''''~#q((((v{{{{v{{{{  ""e++++++r(   N)__name__
__module____qualname__r'   r2   r;   rD    r(   r&   r   r      sP        & & &:= = =- - -, , , , ,r(   r   c                       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S )TestNonNano)r   r   r   )paramsc                     |j         S N)param)r"   requests     r&   unit_strzTestNonNano.unit_strg   s
    }r(   c                 @    d| }t          t          |          j        S )NNPY_FR_)getattrr	   r   )r"   rP   attrs      r&   unitzTestNonNano.unitk   s$     $##--33r(   c                 z    d}|t           j        j        k    r|}n |t           j        j        k    r|dz  }n|dz  }|S )Nr*   r   r   )r	   r   r   r    )r"   rU   r   r   s       r&   valzTestNonNano.valq   sK     ?,222EE_.444$JEE)OEr(   c                 ,    t          j        ||          S rM   )r   r.   )r"   rU   rW   s      r&   r#   zTestNonNano.td}   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.   r   r   r   )r"   rU   rW   r#   s       r&   test_from_value_and_resoz$TestNonNano.test_from_value_and_reso   sS    +C66yCyD    w&      r(   c                 r    t          |          j        |k    sJ | j        |k    sJ |
 j        |k    sJ d S rM   )absr   )r"   r#   rU   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#   rU   r$   r:   s        r&   test_sub_preserves_resoz#TestNonNano.test_sub_preserves_reso   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#   rU   r$   s       r&   test_mul_preserves_resoz#TestNonNano.test_mul_preserves_reso   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 r   )r   rU   r   )r"   r#   others      r&   test_cmp_cross_resozTestNonNano.test_cmp_cross_reso   sL    vD111rzzzzEzzzzB;;;;U{{{{{{r(   c                     |                                 }t          d          }t          |          t          u sJ ||k    sJ d S )NrZ   r   )to_pytimedeltar   typer9   s       r&   test_to_pytimedeltazTestNonNano.test_to_pytimedelta   sK    !!&)))CyyI%%%%hr(   c                    |                                 |                                |j        fD ]}t          |t          j                  sJ |                    d          |j        k    sJ |t          j	        j
        k    r|j        dk    sJ a|t          j        j
        k    r|j        dk    sJ |t          j        j
        k    r|j        dk    sJ d S )Ni8m8[s]zm8[ms]zm8[us])to_timedelta64to_numpyasm8
isinstancenptimedelta64viewr   r	   r!   r   dtyper    r   rc   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 )Nr         @z?Cannot cast 106752 days 00:00:00 to unit='ns' without overflow.r,   2   gMbP?r   r   r   r/   r0   r
   rj   r.   r	   r   r   r    )	r"   r#   rg   r1   r$   r:   leftrightresults	            r&   test_truediv_timedeltalikez&TestNonNano.test_truediv_timedeltalike   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 Nrb   g       @)rt   nanr   r   r   rC   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 )	Nr   rz   rb   r+   r,   r   i  r{   r|   )r"   r#   rg   r1   r$   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{{{{${{{{{{r   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 r   )rt   r   r   r   r   arrayrC   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 )Nr   r   r   i  r+   r,   )r   r   r   r   r/   r0   r
   )r"   r#   rg   r   other2r1   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 Nr   )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 rM   )maxr   r   rt   iinfoint64r   s     r&   test_maxzTestNonNano.test_max)  sR    v||||v}	))))v} 2 2 6666666r(   c                 |    t          j        d|j                  }|j        }||k    sJ |j        |j        k    sJ d S r   )r   r.   r   
resolution)r"   r#   r:   r   s       r&   test_resolutionzTestNonNano.test_resolution.  sI    1!RY??!!!!}//////r(   N)rE   rF   rG   r/   fixturerP   rU   rW   r#   r[   r^   r`   rd   rh   rl   rx   r   r   r   r   r   r   r   r   rH   r(   r&   rJ   rJ   f   s}       V^,,,---  .- ^4 4 ^4
 ^	 	 ^	 ^9 9 ^9! ! !$ $ $
" " "" " "    	- 	- 	-  2	' 	' 	'  .' ' '*  B/ / /
7 7 7
0 0 0 0 0r(   rJ   c                      t           j        t          t          j        dz             k    sJ t           j        j        t
          j        j        k    sJ t           j        t          t          j
        t          j                  j                  k    sJ t           j        j        t
          j        j        k    sJ t           j        t          d          k    sJ t           j        j        t
          j        j        k    sJ d S r   )r   r   r   r   r   r	   	NPY_FR_nsr   r   rt   r   r   r   rH   r(   r&   'test_timedelta_class_min_max_resolutionr   5  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rU   zbad operand type for unary ~r,   z0ufunc 'invert' not supported for the input types)r   r/   r0   	TypeErrorrj   rp   )r"   r#   r1   umsgs       r&   test_invertz!TestTimedeltaUnaryOps.test_invertC  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   r]   r   s     r&   test_unary_opsz$TestTimedeltaUnaryOps.test_unary_opsR  s    r$$$ si#.......si''''''si------- 2ww"}}}}B3xx2~~~~B3xx9U++++++++r(   N)rE   rF   rG   r   r   rH   r(   r&   r   r   B  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ej                            d	d
 dD             d dD             z   d dD             z   d dD             z   d dD             z   d dD             z   d dD             z             ej                            dej        eej        g          d                         Zej                            dg d          d             Zd Zd Zd Zej                            d d! ed"           ed#          fd$ ed%           ed&          fd' ed(           ed)          fd* ed+           ed,          fd- ed.           ed/          fd0 ed1           ed2          fd3 ed4           ed5          fd6 ed7           ed8          fd9 ed:           ed;          fd< ed=           ed>          fg
          d?             Zd@ ZdA Zej                            dBdCD           e ej        edEz   ej         F          G          ej                            dHej!        ej"        ej#        g          dI                                     Z$ej                            dg dJ          dK             Z%dL Z&dM Z'dN Z(dO Z)dP Z*dQ Z+dR Z,dS Z-dT Z.dUS )V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"   rU   r   r:   r   s        r&   &test_rounding_on_int_unit_constructionz5TestTimedeltas.test_rounding_on_int_unit_constructiona  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_equalr@   rt   r   isnan)r"   rngexpts      r&   test_total_seconds_scalarz(TestTimedeltas.test_total_seconds_scalarp  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   rj   rs   r   rt   ru   r   rp   )r"   r#   pydttd64s       r&   test_conversionzTestTimedeltas.test_conversiony  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 rM   )rs   int)r   s    r&   checkz)TestTimedeltas.test_fields.<locals>.check  s    eS)))))))r(   z1 days, 10:11:12r   i@  r   z('Timedelta' object has no attribute '{}'rA   r,   minutesr6   z-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   secondsr5   nanosecondsr/   r0   AttributeErrorformatrA   r   r6   r   r]   r   r   r>   )r"   r   r   r1   r#   tups         r&   test_fieldszTestTimedeltas.test_fields  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 )Nr   r   r   
P0DT0H0M1S)r   r   )r"   r:   s     r&   test_iso_conversionz"TestTimedeltas.test_iso_conversion  s3    QS)))L))X555555r(   c                 R   t          d                                          }|j        j        dk    sJ |                    d          t
          k    sJ t          d                                          }|j        j        dk    sJ |                    d          t
          k    sJ d S )NnatMr   r   )r   rq   rw   kindastyper   )r"   r   s     r&   test_nat_convertersz"TestTimedeltas.test_nat_converters  s    e$$--//| C''''}}W%%----e$$--//| C''''}}W%%------r(   zunit, np_unitc                     g | ]}|d fS )WrH   .0r   s     r&   
<listcomp>zTestTimedeltas.<listcomp>  s    ...%%...r(   )r   wc                     g | ]}|d fS )DrH   r   s     r&   r   zTestTimedeltas.<listcomp>  s    
N
N
NEE3<
N
N
Nr(   )r   r   r   dayDaysDayc                     g | ]}|d fS )mrH   r   s     r&   r   zTestTimedeltas.<listcomp>  s,     
 
 
 CL
 
 
r(   )	r   minuter   r   tMinuteMinMinutesTc                     g | ]}|d fS )r   rH   r   s     r&   r   zTestTimedeltas.<listcomp>  s,     
 
 
 CL
 
 
r(   )r   r   secsecondSSecondsSecSecondc                     g | ]}|d fS )r   rH   r   s     r&   r   zTestTimedeltas.<listcomp>  ,     
 
 
 DM
 
 
r(   )r   r6   millisecondmillimillislMSMillisecondsMillisecondMilliMillisLc                     g | ]}|d fS )r   rH   r   s     r&   r   zTestTimedeltas.<listcomp>  r   r(   )r   r5   microsecondmicromicrosuUSMicrosecondsMicrosecondMicroMicrosUc                     g | ]}|d fS )r   rH   r   s     r&   r   zTestTimedeltas.<listcomp>%  r   r(   )r   r   
nanosecondnanonanosnNSNanoseconds
NanosecondNanoNanosNwrapperc                    t          fdt          j        d                                          D             d          }t	           |t          d                              }t          j        ||           t           |t          d                              }t          j        ||           fdt          j        d          D             }t	           ||                    }t          j        ||           t	           ||                    }t          j        ||           t          t          j	        d          
                    d                    }t	          d          }||k    sJ t          d          }||k    sJ t	          d	           }||k    sJ t          d	           }||k    sJ d S )
Nc                 :    g | ]}t          j        |          S rH   )rt   ru   )r   inp_units     r&   r   z3TestTimedeltas.test_unit_parser.<locals>.<listcomp><  s%    GGGAR^Aw''GGGr(      m8[ns])rw   r   c                     g | ]}|  	S rH   rH   )r   xrU   s     r&   r   z3TestTimedeltas.test_unit_parser.<locals>.<listcomp>E  s!    777QqL$LL777r(   rb   ztimedelta64[ns]2)r   rt   arangetolistr   ranger   assert_index_equalr   ru   r   )r"   rU   r  r  r:   r   str_reprs    ``    r&   test_unit_parserzTestTimedeltas.test_unit_parser  s   n "GGGG11D1D1F1FGGG
 
 

 ggeAhh//d;;;
fh///a 1 1===
fh///7777")A,,777ggh//00
fh///ggh//00
fh/// R^Aw77>>?PQQRRad+++!!!!14(((!!!!j$jj))!!!!:t::&&!!!!!!r(   rU   )Yyr   c                    d}t          j        t          |          5  t          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          d|           d d d            n# 1 swxY w Y   t          j        t          |          5  t	          ddg|           d d d            d S # 1 swxY w Y   d S )Nz/Units 'M', 'Y', and 'y' are no longer supportedr,   r   r   rb   )r/   r0   r8   r   r   )r"   rU   r1   s      r&   test_unit_m_y_raisesz#TestTimedeltas.test_unit_m_y_raisesW  s   ?]:S111 	  	 b$	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]:S111 	# 	#T"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ]:S111 	' 	'!Q&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's1   ;??!A>>BB$CCCc                 J   t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd          k    sJ t          dd          t          j        dd	          k    sJ d S )
Nr   r   r   r   r   r   r   r   r   )r   rt   ru   r"   s    r&   test_numeric_conversionsz'TestTimedeltas.test_numeric_conversionsc  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 )	Nr   r   r   r  r4   r   r   r   )r   r   rt   ru   r   r%  s    r&   test_timedelta_conversionsz)TestTimedeltas.test_timedelta_conversionsm  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 ignoredr,   ro   T)copy)r   rp   rq   r/   r0   r8   )r"   r#   r1   s      r&   test_to_numpy_aliasz"TestTimedeltas.test_to_numpy_aliasv  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	z
freq,s1,s2r  1 days 02:34:56.789123456-1 days 02:34:56.789123456r  z1 days 02:34:56.789123000z-1 days 02:34:56.789123000r   z1 days 02:34:56.789000000z-1 days 02:34:56.789000000r   1 days 02:34:57z-1 days 02:34:572Sz1 days 02:34:56z-1 days 02:34:565Sz1 days 02:34:55z-1 days 02:34:55r   1 days 02:35:00z-1 days 02:35:0012Tz1 days 02:36:00z-1 days 02:36:00Hz1 days 03:00:00z-1 days 03:00:00r   z1 daysz-1 daysc                     t          d          }t          d          }|                    |          }||k    sJ |                    |          }||k    sJ d S )Nr.  r/  )r   round)r"   freqs1s2t1t2r1r2s           r&   
test_roundzTestTimedeltas.test_round  s\    : 233344XXd^^RxxxxXXd^^Rxxxxxxr(   c                     t          d          }dD ]M\  }}t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   Nd S )Nr.  ))r   z,<YearEnd: month=12> is a non-fixed frequency)r   z#<MonthEnd> is a non-fixed frequency)foobarzInvalid frequency: foobarr,   )r   r/   r0   r8   r7  )r"   r;  r8  r1   s       r&   test_round_invalidz!TestTimedeltas.test_round_invalid  s    233
 	 	ID#
 z555                	 	s   AA	A	c                    t           j                            d          }t           j        t          d          z   t          d          z
  }||k    sJ t           j                            d          }t           j        t          d          z
  }||k    sJ t          j        t          d          5  t           j                            d           d d d            n# 1 swxY w Y   d                    d	d
g          }t          j        t          |          5  t           j                            d           d d d            d S # 1 swxY w Y   d S )Nr   r   r(  ii2zvalue too larger,   |z)Python int too large to convert to C longzint too big to convert)	r   r   ceilr   floorr/   r0   OverflowErrorjoin)r"   r   r:   r1   s       r&    test_round_implementation_boundsz/TestTimedeltas.test_round_implementation_bounds  s    ##C((=9Q#7#7#77)I:N:NN!!!!$$S))=9Y#7#77!!!!]=0ABBB 	% 	%M$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% hh8:RS
 
 ]=444 	$ 	$Ms###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   3 CC#&C# E		EEzFailing on buildsF)reasonstrictr   )	min_value	max_value)rW   methodc                 p   t          j        |          }t          |          } ||d          |k    sJ  ||d          }d}t          j        ||z
  j                  |k     sJ |j        |z  dk    sJ  ||d          }d}t          j        ||z
  j                  |k     sJ |j        |z  dk    sJ  ||d          }d}t          j        ||z
  j                  |k     sJ |j        |z  dk    sJ  ||d	          }d
}t          j        ||z
  j                  |k     sJ |j        |z  dk    sJ  ||d          }d}t          j        ||z
  j                  |k     sJ |j        |z  dk    sJ  ||d          }d}t          j        ||z
  j                  |k     sJ |j        |z  dk    sJ d S )Nr   r   r   r   r   r   r   r   r   l    Xp7 hl     qar   l     "R: )rt   r   r   r]   r   )r"   rW   rN  r#   r$   r  s         r&   test_round_sanityz TestTimedeltas.test_round_sanity  s    hsmms^^vb$2%%%%fRvsRx&''%////y5 A%%%%fRvsRx&''%////y5 A%%%%fRoovsRx&''%////y5 A%%%%fR"vsRx&''%////y5 A%%%%fRoo'vsRx&''%////y5 A%%%%fRoo,vsRx&''%////y5 A%%%%%%r(   )r   r   r   r   c                    t          d                              |          }|                    d          }|t          d          k    sJ |j        |j        k    sJ |                    d          }|t          d          k    sJ |j        |j        k    sJ |                    d          }|t          d          k    sJ |j        |j        k    sJ d S )Nr0  r   r3  z1 days 02:34:00)r   r   r7  r   rF  rE  )r"   rU   r#   r$   s       r&   test_round_non_nanoz"TestTimedeltas.test_round_non_nano  s    ())11$77hhuooi 1222222zRY&&&&hhuooi 1222222zRY&&&&ggenni 1222222zRY&&&&&&r(   c                     t          dd          }t          |t                     sJ t          |t                    sJ d S )Nr   r   r   )r   rs   r   r   s     r&   test_identityzTestTimedeltas.test_identity   sF    r$$$"i((((("i(((((((r(   c                 &   d }t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d          t          j        dd          k    sJ t          d	          t          j        d
d          k    sJ t          d          t          j        d
d          k    sJ 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 1000msr   z-1s1s10sl    d(	 100sl    h] 1000sl    J)1dr   r   z-1d1D10D100D1000D10000Dz 10000D z
 - 10000D zinvalid unit abbreviationr,   1foozunit abbreviation w/o a numberfoo)r   rt   ru   r/   r0   r8   )r"   r\  r1   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 rX  rY  rZ  s    r&   r\  z8TestTimedeltas.test_full_format_converters.<locals>.conv8  r]  r(   r   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 unitsr,   z- 1days, 00)rt   ru   r   r/   r0   r8   )r"   r\  d1r1   s       r&   test_full_format_convertersz*TestTimedeltas.test_full_format_converters7  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_pickleU  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 )	Nr   r   r   rb   c                 P    g | ]#}t          d           t          |          z   $S )r   r(  r   rf   )r   r	  s     r&   r   z?TestTimedeltas.test_timedelta_hash_equality.<locals>.<listcomp>c  s3    KKKAy###iQ&7&7&77KKKr(      c              3   z   K   | ]6}t          |          t          |                                          k    V  7d S rM   )hashrj   )r   r#   s     r&   	<genexpr>z>TestTimedeltas.test_timedelta_hash_equality.<locals>.<genexpr>d  sA      GGR488tB$5$5$7$7888GGGGGGr(   r   )r   r   r  r  allrj   )r"   r[  r#   r   tdsns_tds         r&   test_timedelta_hash_equalityz+TestTimedeltas.test_timedelta_hash_equalityZ  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(   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 )Nr   r   zint too (large|big) to convertr,   rb   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/   r0   rG  r
   )r"   min_tdmax_tdr1   r#   s        r&   test_implementation_limitsz)TestTimedeltas.test_implementation_limitsj  s   9=))9=)) }q((((}	)))) 1d+++3333.]=444 	( 	(Yq$''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( ]=444 	( 	(Yq$''''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( v}q($//SyyyyQ]/s;;; 	/ 	/fma'...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ Q]/s;;; 	/ 	/fma'...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/sH   B88B<?B<C>>DD	E..E25E2F<<G G c                    t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dk    sJ t          d                                          dz
  d	k     sJ dt          d                                          z
  d	k     sJ d S )
N30Sg      >@0g        z-2Sg       z5.324SgK@g#B;)r   r@   r%  s    r&   test_total_seconds_precisionz+TestTimedeltas.test_total_seconds_precision  s    --//47777~~++--4444--//47777""0022e;;;;%  ..00475@@@@y''557775@@@@@@r(   c                    t          d          j        dk    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ t          dd	          j        d
k    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ t          dd          j        dk    sJ d S )Nr   r   r      r   rA   r5  )r   r   r   )r   r   r   )r   r6   r   )r   r5   r  )r   r   r  )r   resolution_stringr%  s    r&   test_resolution_stringz%TestTimedeltas.test_resolution_string  s    a   2c9999aq)));sBBBBa+++=DDDDa+++=DDDDaa000BcIIIIaa000BcIIIIaQ///ASHHHHHHr(   c                     t          dd          }|j        }|t          d          k    sJ t           j        }|t          d          k    sJ d S )N      r  r   )r   )r   r   )r"   r#   r   s      r&   test_resolution_deprecatedz)TestTimedeltas.test_resolution_deprecated  sc    AQ'''q1111111 %q111111111r(   N)/rE   rF   rG   r/   markparametrizer   r   r   r   r   r   rt   r   listpdIndexr  r#  r&  r)  r-  r   r?  rB  rI  xfailr   stintegersr   r   r  r7  rF  rE  rQ  rS  rU  r{  r  r  r  r  r  r  r  rH   r(   r&   r   r   `  sJ       [	
 	
 	
 ) ) )- - -) ) )&H$ H$ H$T6 6 6
. . . [..:...
N
N%M
N
N
N	O
 


 
 
	
 
 
	
 
 
!	
:
 

 
 
;-	
\
 

 
 
]>	
~
 

 
 
O	
R Rf [Y4(BCC" " DCgR Rh"> [V___55	' 	' 65	'B B BW W W
# 
# 
# [ 	566	677 	566	677 	566	677
 ))-..		:L0M0MN99.//;M1N1NO99.//;M1N1NO))-..		:L0M0MNII/00))<N2O2OP))-..		:L0M0MN))H%%yy';';</	
 8 9 8	 	 	$ $ $* [1%@@
U{r{TAXCCCDDD[9?IOY^D "& "&  ED A@
"&H [V%<%<%<==' ' >=') ) )
0 0 0d% % %<  
; ; ; / / />A A AI I I	2 	2 	2 	2 	2r(   r   zvalue, expected10STz-10Sr   r   r   Fr   c                 ,    t          |           |u sJ d S rM   )bool)r   r:   s     r&   test_truthinessr    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   r=   r   r   )r   r   r   r5   r   r   )r#   r   r:   s      r&   "test_timedelta_attribute_precisionr    su    	&T	2	2	2BWu_F
bjF
gF
boF
dNF
bnFyHXr(   )$__doc__datetimer   
hypothesisr   r   r  numpyrt   r/   pandas._libsr   pandas._libs.tslibsr   r   pandas._libs.tslibs.dtypesr	   pandas.errorsr
   pandasr  r   r   r   pandas._testing_testingr   r   rJ   r   r   r   r  r  r  r  rH   r(   r&   <module>r     s   ! !                                7 6 6 6 6 6 . . . . . .             
      G, G, G, G, G, G, G, G,TL0 L0 L0 L0 L0 L0 L0 L0^
J 
J 
J, , , , , , , ,<D	2 D	2 D	2 D	2 D	2 D	2 D	2 D	2N 	5		4 	6		D!	2D	!	!	!4(	14	 	 	 %(	3T	"	"	"D)	4$	d # # #

 
 
 
 
r(   