
    bMh0                         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
Zd dl
mZmZmZmZ d dlmZ d dlmZ  G d d          Zd	 Zej                            d
ddg          d             ZdS )    )time	timedeltaN)IS64)OutOfBoundsTimedelta)SeriesTimedeltaIndexisnato_timedelta)TimedeltaArrayc            
       l   e Zd Zd Zej                            dddg          d             Zd Zd Z	d Z
d	 Zej                            d
ddgddgddgddgddgg          d             Zd Zej                            d ej        d                              dd           ej         ej        d                              dd                    g          ej                            dg d          ej                            d          d                                     Zd Zej                            dddgdg          d             Zd Zd  Zd! Zd" Zej                            d#g d$          d%             Zd& Zd' Zd( Zej                            d)ej        ej         ej!        g          d*             Z"ej                            d)ej        ej         ej!        g          d+             Z#ej        $                    e% d,-          d.             Z&d/ Z'd0 Z(ej                            d1 e)d2          dgd3d3gg          d4             Z*ej                            d5g d6          ej                            d7ej+        e,g          d8                         Z-d9 Z.d: Z/d; Z0d3S )<TestTimedeltasc                    d}t          t          j        g          }t          j        t
          |          5  t          |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                                                    t                     d d d            d S # 1 swxY w Y   d S )Nz?dtype datetime64\[ns\] cannot be converted to timedelta64\[ns\]match)	r   pdNaTpytestraises	TypeErrorr
   to_frameapply)selfmsgsers      d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/tools/test_to_timedelta.pytest_to_timedelta_dt64_raisesz,TestTimedeltas.test_to_timedelta_dt64_raises   s(    QbfX]9C000 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	/ 	/LLNN  ...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s#   AAA:-B44B8;B8readonlyTFc                     t          j        g t                    }|r|                    d           t	          |          }t	          g           }t          j        ||           d S )NdtypeF)write)nparrayobjectsetflagsr
   tmassert_index_equal)r   r   arrresultexpecteds        r   test_to_timedelta_readonlyz)TestTimedeltas.test_to_timedelta_readonly#   sg     hr((( 	&LLuL%%%c""##
fh/////    c                 n    t          ddg          }t          |                                          sJ d S )N )r
   r	   all)r   r)   s     r   test_to_timedelta_nullz%TestTimedeltas.test_to_timedelta_null-   s7    r2h''F||!!!!!!!r,   c                    t          t          j        t          j        dd          g                    }t	          j        t          j        t          j        dd          g                    }t          j        ||           d S )N   s)r
   r"   r#   timedelta64r   Indexr&   r'   r   r)   r*   s      r   %test_to_timedelta_same_np_timedelta64z4TestTimedeltas.test_to_timedelta_same_np_timedelta641   si    bhq#(>(>'?@@AA8BHbnQ&<&<%=>>??
fh/////r,   c                     t          t          d          t          dd          g          }t          t          ddg                    }t          j        ||           d S )Nr2   days)r:   seconds1dz1days 00:00:01r   r   r
   r&   assert_series_equalr   r*   r)   s      r   test_to_timedelta_seriesz'TestTimedeltas.test_to_timedelta_series7   s`    9!,,,iQ.J.J.JKLLfd,<%=>>??
vx00000r,   c                     t          t          j        dd          t          j        dd                              d          g          }t	          ddgd          }t          j        ||           d S )Nr   ns
   r3   m8[ns]unit)r   r"   r4   astyper
   r&   r'   r6   s      r   test_to_timedelta_unitsz&TestTimedeltas.test_to_timedelta_units=   sp    ^At$$bnR&=&=&D&DX&N&NO
 
  Bc222
fh/////r,   zdtype, unitint64r3   mhztimedelta64[s]ztimedelta64[D]Dc                     t          j        dgdz  |          }t          ||          }|dk    rdnd}t          t          j        d|          gdz  |          }t          j        ||           d S )Nr2      r   rE   rI   rD   m8[s])r"   r#   r
   r   r4   r&   r'   )r   r    rF   r(   r)   	exp_dtyper*   s          r   test_to_timedelta_units_dtypesz-TestTimedeltas.test_to_timedelta_units_dtypesE   s     hsQwe,,,c--- % 0 0HHg	!2>!T#:#:";a"?yQQQ
fh/////r,   c                    t          j        t          j        j        dz   gd          }d}t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nr2   ztimedelta64[m]r   zPCannot convert -9223372036854775807 minutes to timedelta64\[s\] without overflowr   rO   )r"   r#   r   r   _valuer   r   r   r
   r   r   _from_sequence)r   r(   r   s      r   test_to_timedelta_oob_non_nanoz-TestTimedeltas.test_to_timedelta_oob_non_nanoW   s   h)*2BCCC1 	 ]/s;;; 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]/s;;; 	  	 3	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]/s;;; 	> 	>)#W====	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s6   A##A'*A'	B%%B),B)C//C36C3argrC      rN   errors)ignoreraisecoercez2ignore:errors='ignore' is deprecated:FutureWarningc                     t          j        t          d          5  t          ||           d d d            d S # 1 swxY w Y   d S )Nz	1-d arrayr   rX   )r   r   r   r
   )r   rV   rX   s      r   test_to_timedelta_dataframez*TestTimedeltas.test_to_timedelta_dataframeg   s     ]9K888 	- 	-V,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   ;??c                     d}t          j        t          |          5  t          dgd           d d d            d S # 1 swxY w Y   d S )Nzerrors must be one ofr   fooneverr]   r   r   
ValueErrorr
   r   r   s     r    test_to_timedelta_invalid_errorsz/TestTimedeltas.test_to_timedelta_invalid_errorsq   s    %]:S111 	2 	2%1111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   >AAr2   c                     d}t          j        t          |          5  t          |d           d d d            d S # 1 swxY w Y   d S )Nzinvalid unit abbreviation: foor   r`   rE   rb   )r   rV   r   s      r   test_to_timedelta_invalid_unitz-TestTimedeltas.test_to_timedelta_invalid_unitw   s     /]:S111 	* 	*5))))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*   =AAc                    d}t          j        t          |          5  t          t	          d                     d d d            n# 1 swxY w Y   t          t	          d          d          t
          j        u sJ d S )NzIValue must be Timedelta, string, integer, float, timedelta or convertibler   r2   )secondr[   r]   )r   r   rc   r
   r   r   r   rd   s     r   test_to_timedelta_timez%TestTimedeltas.test_to_timedelta_time~   s     X 	 ]:S111 	) 	)Q(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)DNNN8<<<FFFFFFs   AAAc                     d}t          j        t          |          5  t          ddg           d d d            d S # 1 swxY w Y   d S )Nz*Could not convert 'foo' to NumPy timedeltar   r`   barrb   rd   s     r   test_to_timedelta_bad_valuez*TestTimedeltas.test_to_timedelta_bad_value   s    :]:S111 	) 	)%(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)rh   c                    t          j        t          t          j        t          j        g          t          ddgd                     t          j        t          dt          j        dg          t          g dd                     d S )Nr`   rm   r[   r]   1 day1 min)rp   rm   rq   )r&   r'   r   r   r   r
   )r   s    r   "test_to_timedelta_bad_value_coercez1TestTimedeltas.test_to_timedelta_bad_value_coerce   s    
BFBF+,,%999	
 	
 	

 	GRVW5662228DDD	
 	
 	
 	
 	
r,   c                 H   d}d}t          j        t          |          5  t          |d          }d d d            n# 1 swxY w Y   ||k    sJ ddg}t	          j        |t                    }t          j        t          |          5  t          |d          }d d d            n# 1 swxY w Y   t          j        ||           t          j	        ddg          }t          j        t          |          5  t          |d          }d d d            n# 1 swxY w Y   t          j
        ||           t          ddg          }t          j        t          |          5  t          |d          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nerrors='ignore' is deprecatedappler   rY   r]   z1 daysr   )r&   assert_produces_warningFutureWarningr
   r"   r#   r$   assert_numpy_array_equalr   r5   r'   r   r>   )r   r   invalid_datar)   r*   s        r   'test_to_timedelta_invalid_errors_ignorez6TestTimedeltas.test_to_timedelta_invalid_errors_ignore   s   -'SAAA 	A 	A!,x@@@F	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	Av%%%%*8L777'SAAA 	A 	A!,x@@@F	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A
#Hf555x( 344'SAAA 	A 	A!,x@@@F	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A
lF333w122'SAAA 	A 	A!,x@@@F	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A 	A
|V44444sE   >AAB))B-0B-:DDD$FF	Fzval, errors)
)1MT)z1 MT)1YT)z1 YT)1yT)z1 yT)1mF)z1 mF)rp   F)2dayFc                     d}|rEt          j        t          |          5  t          |           d d d            d S # 1 swxY w Y   d S t          |           d S )Nz=Units 'M', 'Y' and 'y' do not represent unambiguous timedeltar   rb   )r   valrX   r   s       r   !test_unambiguous_timedelta_valuesz0TestTimedeltas.test_unambiguous_timedelta_values   s    $ N 	z555 " "S!!!" " " " " " " " " " " " " " " " " " s   =AAc                 *   t          t          j        dd          g          }t          dg                              t                    }t          j        ||           t          t	          d          g          }t          j        ||           d S )Nr2   r3   00:00:01)r   r"   r4   r   r
   r&   r>   r?   s      r   test_to_timedelta_via_applyz*TestTimedeltas.test_to_timedelta_via_apply   s    2>!S11233%%++L99
vx000j11233
vx00000r,   c                    dt           j        g}t          j        d           5  t	          |          }d d d            n# 1 swxY w Y   t          t          j        d          t           j        g          }t          j        ||           d S )Nr   r2   )r;   )r   r   r&   rv   r
   r   	Timedeltar'   )r   valsr)   r*   s       r   +test_to_timedelta_inference_without_warningz:TestTimedeltas.test_to_timedelta_inference_without_warning   s     BF#'-- 	( 	(!$''F	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( "2<#:#:#:BF"CDD
fh/////s   ?AAc                    t          j        d          }t          t          dt           j        g                    }t          t          j        dd          |gt
          j         d          }t          j        ||           t          dt          j	        gd          }t          |          }t          j        ||           d S )Nr   r    ʚ;rB   rD   r   )
r"   r4   r
   r   nanr&   ENDIANr>   r   r   )r   timedelta_NaTactualr*   r   s        r   #test_to_timedelta_on_missing_valuesz2TestTimedeltas.test_to_timedelta_on_missing_values   s    u--fj"&%9::;;^J--}=Y&&&
 
 
 	vx000j"&):::c""
vx00000r,   r   c                     t          |          }|j        t          j        d                              d          k    sJ d S )Nr   rI   r
   rS   r"   r4   rG   r   r   r   s      r   *test_to_timedelta_on_missing_values_scalarz9TestTimedeltas.test_to_timedelta_on_missing_values_scalar   s@    c""}u 5 5 < <W E EEEEEEEr,   c                     t          |g          }|d         j        t          j        d                              d          k    sJ d S )Nr   r   rI   r   r   s      r   (test_to_timedelta_on_missing_values_listz7TestTimedeltas.test_to_timedelta_on_missing_values_list   sG    se$$ay2>%#8#8#?#?#H#HHHHHHHr,   zFloating point error)reasonc                     t          j        ddd          dd          }t          |d          }t          j        ddd	d
          }t          j        |j        |           d S )Nr   r2   gư>ir3   rE   i;r   i  rI   r   )r"   aranger
   r&   rx   asi8)r   r(   r)   expected_asi8s       r   test_to_timedelta_floatz&TestTimedeltas.test_to_timedelta_float   se     i1d##CDD)c,,,	)UDHHH
#FK?????r,   c                     t          j        g dt                    }t          |dd          }t          ddt          j        gd          }t          j        ||           d S )	Nr2   rW   errorr   rB   r[   rF   rX   r2   rW   rE   )r"   r#   r$   r
   r   r   r&   r'   )r   r(   r)   r*   s       r   %test_to_timedelta_coerce_strings_unitz4TestTimedeltas.test_to_timedelta_coerce_strings_unit   sa    hf555cX>>>ArvT:::
fh/////r,   c                     t          j        g dt                    }d}t          j        t
          |          5  t          |dd          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   rt   r   rB   rY   r   )r"   r#   r$   r&   rv   rw   r
   rx   )r   r(   r   r)   s       r   %test_to_timedelta_ignore_strings_unitz4TestTimedeltas.test_to_timedelta_ignore_strings_unit  s    hf555-'SAAA 	C 	C!#DBBBF	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C
#FC00000s   AA!Azexpected_val, result_valr9   Nc                     t          t          d          |g          }t          t          d|gd          d          }t          j        ||           d S )Nr2   r9   Int64r   r:   rE   r=   )r   expected_val
result_valr*   r)   s        r   &test_to_timedelta_nullable_int64_dtypez5TestTimedeltas.test_to_timedelta_nullable_int64_dtype  s]    
 9!,,,l;<<fa_GDDD6RRR
vx00000r,   )inputr*   ))z8:53:08.71800000001z8:53:08.718)8:53:08.718001r   )8:53:08.7180000001r   )z-8:53:08.71800000001z-8:53:08.718)z8:53:08.7180000089z8:53:08.718000008funcc                 T    t          j        |          } ||          }||k    sJ d S )N)r   r   )r   r   r*   r   r)   s        r   &test_to_timedelta_precision_over_nanosz5TestTimedeltas.test_to_timedelta_precision_over_nanos  s7     <))e!!!!!!r,   c                    |                                 }t          j        |          }d}t          j        t
          |          5  t          |           d d d            n# 1 swxY w Y   |                    d          }t          |          }t          |t          j
                  sJ |j        |                    d          k    sJ d S )NzYValue must be Timedelta, string, integer, float, timedelta or convertible, not datetime64r   rD   i8)to_datetime64r"   r#   r   r   rc   r
   view
isinstancer   r   rS   )r   fixed_now_tsdt64rV   r   arg2r)   s          r   test_to_timedelta_zerodimz(TestTimedeltas.test_to_timedelta_zerodim'  s    ))++htnn- 	 ]:S111 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 xx!!d##&",/////}		$//////s   A""A&)A&c                     t          dt          j        g|          }t          |          }t          t          j        dd          t          j        g          }t          j        ||           d S )Nr2   r   rB   rE   )r   r   NAr
   r   r   r&   r>   )r   any_numeric_ea_dtyper   r)   r*   s        r   test_to_timedelta_numeric_eaz+TestTimedeltas.test_to_timedelta_numeric_ea8  sd    aZ';<<<c""2<555rv>??
vx00000r,   c                 `    t          dd          }t          j        d          }||k    sJ d S )NgUUUUUU?rK   rE   z0 days 00:19:59.999999998)r
   r   r   r6   s      r   test_to_timedelta_fractionz)TestTimedeltas.test_to_timedelta_fraction?  s;    gC000< ;<<!!!!!!r,   )1__name__
__module____qualname__r   r   markparametrizer+   r0   r7   r@   rH   rQ   rU   r"   r   reshaper   	DataFramefilterwarningsr^   re   rg   rk   rn   rr   rz   r   r   r   r   r   r   r   r   r   xfailr   r   r   r   r   r   r   r
   r   r   r   r    r,   r   r   r      sh       	/ 	/ 	/ [Z$770 0 870" " "0 0 01 1 10 0 0 [cNcNcNs#s#	
	 	0 0	 	0> > >  [		"%%a++\R\)")B--:O:OPQST:U:U-V-VW  [X'D'D'DEE[ TUU- - VU FE 
-
2 2 2 [UaVQK00* * 10*G G G) ) )
	
 	
 	
5 5 54 [	
 	
 	
 	 	 	1 1 10 0 01 1 1 [URVRVRU$;<<F F =<F [URVRVRU$;<<I I =<I [4x(>??@ @ @?@0 0 01 1 1 ["iiQ&7&7&7%;dD\$J 1 1 1 [	
 	
 	
	 	 [VblL%ABB" " CB	 	"0 0 0"1 1 1" " " " "r,   r   c                     t          j        d           t          ddg|                                  d          }t	          |          }t          ddgd          }t          j        ||           d S )Npyarrowr2   rW   z	[pyarrow]r   ztimedelta64[ns])r   importorskipr   lowerr
   r&   r>   )r   r   r)   r*   s       r   test_from_numeric_arrow_dtyper   E  s|    
	"""
!Q"6"<"<">">III
J
J
JC#Fq!f$5666H68,,,,,r,   rF   rB   msc                     t          j        d           t          t          d          gd|  d          }t	          |          }t          j        ||           d S )Nr   r2   z	duration[z
][pyarrow]r   )r   r   r   r   r
   r&   r>   )rF   r*   r)   s      r   test_from_timedelta_arrow_dtyper   N  sa     	"""y||n,H,H,H,HIIIH(##F68,,,,,r,   )datetimer   r   numpyr"   r   pandas.compatr   pandas.errorsr   pandasr   r   r   r	   r
   pandas._testing_testingr&   pandas.core.arraysr   r   r   r   r   r   r   r,   r   <module>r      sR         
            . . . . . .                      - - - - - -k" k" k" k" k" k" k" k"\	- - - $..- - /.- - -r,   