a
    Pf3                    @   s  d dl m Z mZ d dlZd dlZd dlmZmZ d dlZ	d dlm
Z
mZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZ dd Zd	d
 ZG dd dZG dd dZ G dd dZ!G dd dZ"G dd dZ#G dd dZ$G dd dZ%dd Z&dS )    )datetime	timedeltaN)OutOfBoundsDatetimePerformanceWarning)
	DataFrameDatetimeIndexIndexNaTSeries	TimedeltaTimedeltaIndex	Timestampoffsetstimedelta_range)NumpyExtensionArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxc                 C   s   t | }||ksJ dS )zT
    Helper to check the dtype for a Series, Index, or single-column DataFrame.
    N)tmZ	get_dtype)objZexpected_dtypedtype r   a/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/arithmetic/test_timedelta64.pyassert_dtype&   s    
r   c                 C   s8   | t u r|d }n"| tjtjfv r,|d }n|d }|S )Nr         )r   r   to_arraypdarray)boxnamesexnamer   r   r   get_expected_name/   s    

r"   c                   @   s^  e Zd Zdd Zejdeddeddedd	 e
dgdd Zejd	d
dededded  ed  ed edgdd Zejdeedededejedeejddddjeejdddeejdddejdddeejddddjejddddeg
dd Zdd ZdS )#TestTimedelta64ArrayLikeComparisonsc                 C   sx   |}|t tjfvr|ntj}tddd}t| d }t||}||k}tg d}t||}t	|| d S )N2h   periodsr   )TFFF)
r   r   r   npndarrayr   to_numpyr   box_expectedassert_equal)selfbox_with_arrayr   xboxtdiotherresexpectedr   r   r    test_compare_timedelta64_zerodimD   s    zDTestTimedelta64ArrayLikeComparisons.test_compare_timedelta64_zerodim	td_scalarr   days   c                 C   sp   |}|t tjfvr|ntj}ttddtddg}t||}||k}tddg}t||}t	|| d S )Nr   r6   r   FT)
r   r   r   r(   r)   r
   r   r   r+   r,   )r-   r.   r5   r   r/   seractualr3   r   r   r   !test_compare_timedeltalike_scalarR   s    zETestTimedelta64ArrayLikeComparisons.test_compare_timedeltalike_scalarinvalidl     x
Ii	 a
2021-01-01UTCr%   c                 C   s,   |}t ddd}t||}t||| d S N1 days
   r&   )r   r   r+   r   )r-   r.   r<   r   rngr   r   r   r   test_td64_comparisons_invalidg   s    zATestTimedelta64ArrayLikeComparisons.test_td64_comparisons_invalidr1   rB   z
1970-01-01r'   tzr&   z
1971-01-01Dfreqr'   c                 C   s*   t dddj}t||}t||| d S r@   )r   _datar   r+   r   )r-   r1   r.   rC   r   r   r   "test_td64arr_cmp_arraylike_invalid}   s    zFTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_arraylike_invalidc                 C   sD  t dddj}tddd|d tdg}||k}tg d	}t|| ||k}t||  d
}tjt	|d ||k  W d    n1 s0    Y  tjt	|d ||k W d    n1 s0    Y  tjt	|d ||k W d    n1 s0    Y  tjt	|d ||k W d    n1 s60    Y  d S )NrA      r&   r   r   r      r>   )FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch)
r   rJ   r(   r   r   r   assert_numpy_array_equalpytestraises	TypeError)r-   rC   r1   resultr3   msgr   r   r   test_td64arr_cmp_mixed_invalid   s     &&&zBTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_mixed_invalidN) __name__
__module____qualname__r4   rQ   markparametrizer   r   Zto_timedelta64r   Hourr;   r   nowto_datetime64to_pydatetimedater(   r   rD   listrangearangeastypeZfloat32objectr   
date_rangeZperiod_rangerK   rV   r   r   r   r   r#   ?   sN   	


	

r#   c                   @   s   e Zd Zejddegdd Zejdedde	e	ddge
e
d	d
e
d	d
e
de
de
dd
e
d	d e
dd
e
dd ggdd Zdd ZdS )TestTimedelta64ArrayComparisonsr   Nc                 C   s"  t tdttdg}t tttdg}|| }}|tu rP|t|t }}||k}tg d}t|| ||k}tg d}t|| tg d}t|tk| tt|k| tg d}t|tk| tt|k| tg d}t|tk | tt|k| d S )NrA   3 days)FFT)TTF)FFFTTT)	r   r   r	   re   rd   r(   r   r   rP   )r-   r   leftrightlhsrhsrT   r3   r   r   r   test_comp_nat   s(    
z-TestTimedelta64ArrayComparisons.test_comp_natidx2z2 dayz1 day 00:00:02z5 days 00:00:03r   rG   Znatr   srL   rM   c                 C   s   t dtdtddg}||k }tg d}t|| ||k}tg d}t|| ||k}tg d}t|| ||k}tg d}t|| ||k}tg d}t|| ||k}tg d}t|| d S )N1 dayz1 day 00:00:01z5 day 00:00:03)TFFFTF)TFFFTT)FFFFFT)TTTTTF)r   r	   r(   r   r   rP   )r-   ro   Zidx1rT   r3   r   r   r   test_comparisons_nat   s6    z4TestTimedelta64ArrayComparisons.test_comparisons_natc                 C   s`   t ddd}||d k }tg ddgd  }t|| |t|k}||k}t|| d S )NrA   rB   r&   rM   ri   F   )r   r(   r   r   rP   ra   )r-   rC   rT   r3   expr   r   r   test_comparisons_coverage  s    z9TestTimedelta64ArrayComparisons.test_comparisons_coverage)rW   rX   rY   rQ   rZ   r[   re   rn   r   r	   r(   r   timedelta64rr   ru   r   r   r   r   rg      s(   



%rg   c                   @   s~   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zej	
dddgdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )!TestTimedelta64ArithmeticUnsortedc                 C   sx  t g dddd}|d t|dfD ]>}t|t s8J t g dddd}t|| |jdks&J q&|d t|dfD ]>}t|t sJ t g dd	dd}t|| |jd	kszJ qz| t|fD ]>}t|t sJ t g d
ddd}t|| |jdksJ qt g dd	dd}t	|t
|fD ]D}t|t sBJ t g dd dd}t|| |jd u s.J q.d S )N)r$   4hZ6h8hZ10hr$   xrI   namer   )rx   ry   Z12hZ16hZ20hrx   )1hr$   Z3hrx   Z5hh)-2hz-4hz-6hz-8hz-10hr   )r   z-1h0hr}   r$   )r$   r}   r   r}   r$   )r   r(   multiply
isinstancer   assert_index_equalrI   dividenegativeabsabsolute)r-   idxrT   rt   r   r   r   test_ufunc_coercions  s0    
z6TestTimedelta64ArithmeticUnsorted.test_ufunc_coercionsc                 C   s   t dtdgdd}tjdddd}td}td}d	}tjt|d
 ||  W d    n1 sb0    Y  tjt|d
 ||  W d    n1 s0    Y  d}tjt|d
 ||  W d    n1 s0    Y  d}tjt|d
 ||  W d    n1 s0    Y  || }t g ddd}t	
|| || }t g ddd}t	
|| || }t dtdgdd}t	
|| || }t dtdgdd}t	
|| || }tg ddddd}t	
|| || }tdtdgddd}t	
|| d S )NrA   2 daysfoor|   20130101rM   barr'   r|   z0cannot subtract a datelike from a TimedeltaArrayrN   z#unsupported operand type\(s\) for -z((bad|unsupported) operand type for unary0 days-1 days-2 daysr   rA   r   r   r   20121231r   20130102M8[ns]rG   )r   rI   r|   r   Z20121230r   r|   )r   r	   r   rf   r   r   rQ   rR   rS   r   r   r   )r-   r0   dtitddtrU   rT   r3   r   r   r   test_subtraction_ops4  sJ    &&&(z6TestTimedelta64ArithmeticUnsorted.test_subtraction_opsc                 C   s  t jddd}t||}td}| }t jdddd}t||}tdd}tdd}| }td}	dd }
|| }td	}|
|| || }td	}|
|| || }td	}|
|| d
}tj	t
|d ||  W d    n1 s0    Y  d}tj	t
|d ||  W d    n1 s80    Y  d}tj	t
|d ||  W d    n1 st0    Y  d
}tj	t
|d ||  W d    n1 s0    Y  tj	t
|d ||  W d    n1 s0    Y  tj	t
|d ||  W d    n1 s 0    Y  d}tj	t
|d ||  W d    n1 s\0    Y  tj	t
|d ||  W d    n1 s0    Y  || }tg d}t||}t|| || }tg d}t||}t|| || }tg d}t||}t|| || }tg d}t||}t|| |	|	 }td	}|
|| ||	 }tg dddd}t||}t|| d S )Nr   rM   r&   z
US/EasternZCETrA   c                 S   s   | |ksJ t | tsJ d S N)r   r   rT   r3   r   r   r   _checkr  s    zNTestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tz.<locals>._checkr   z<Cannot subtract tz-naive and tz-aware datetime-like objects.rN   z6can't subtract offset-naive and offset-aware datetimesz%Cannot subtract tz-naive and tz-awarer   r   r   rF   ns)r   rf   r   r+   r   r_   Ztz_localizer   rQ   rR   rS   r   r,   r   Zas_unit)r-   r.   r   tsr   Zdti_tzZts_tzZts_tz2Zdt_tzr   r   rT   r3   rU   r   r   r   test_subtraction_ops_with_tze  s    


&(((((((
z>TestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tzc                 C   s   t dtdgdd}tjdddd}|| }t d	td	gdd}t|| || }t dtd
gdd}t|| || }tdtdgdd}t|| d S )NrA   r   r   r   r   rM   r   r   r   4 daysr   r   r   )r   r	   r   rf   r   r   r   )r-   r0   r   rT   r3   r   r   r   test_dti_tdi_numeric_ops  s    z:TestTimedelta64ArithmeticUnsorted.test_dti_tdi_numeric_opsc                 C   s(  t dtdgdd}tjdddd}td}td}|| }td	td
gddd}t|| || }td	td
gddd}t|| || }t dtdgdd}t|| || }t dtdgdd}t|| d}t	j
t|d  ||dd   W d    n1 s0    Y  t	j
t|d  |dd |  W d    n1 sH0    Y  d}t	j
t|d& |tg dtjd  W d    n1 s0    Y  || }td	tdgdd}t|| || }td	tdgdd}t|| || }td	}||ksJ || }td	}||ks$J d S )NrA   r   r   r   r   rM   r   r   r   Z20130103r   r   rh   z$cannot add indices of unequal lengthrN   r   r   3Addition/subtraction of integers and integer-arraysr   r   rM   r   Z20130105)r   r	   r   rf   r   r   r   r   r   rQ   rR   
ValueErrorrS   r   r(   int64)r-   r0   r   r   r   rT   r3   rU   r   r   r   test_addition_ops  sP    006z3TestTimedelta64ArithmeticUnsorted.test_addition_opsrI   rG   Bc                 C   s   t jdd|d}|td }|td }|d}t|| |dkrt jjd}|j	|ksbJ |j	|kspJ |j	|ksJ n>|j	t jj
dksJ |j	d u sJ |j	t jj
dksJ |td }|td }t|| d S )Nz1/1/20002   r'   rI   r   inferrG   )r   rf   r   
_with_freqr   r   Ztseriesr   DayrI   ZBusinessDay)r-   rI   indexZshiftedbackr3   rT   r   r   r   test_timedelta	  s     
z0TestTimedelta64ArithmeticUnsorted.test_timedeltac                 C   s   t dd}t|}|td }t|td }|td }t|td }|j|jksdJ |	d }t
|| |j|jksJ |	d }t
|| d S )NZ2013Z2014r   i )r   rf   r
   r   r\   r   r(   rv   rI   r   r   r   )r-   rC   rp   Zresult1Zresult2Zresult3Zresult4r   r   r   test_timedelta_tick_arithmetic   s    

z@TestTimedelta64ArithmeticUnsorted.test_timedelta_tick_arithmeticc                 C   s|   t dtdg}|j}tjdddd}|| }|| }t|| || }|| }t|| || }|| }t|| d S )NrA   r   z
1999-12-31rM   rG   r   )r   r	   r   r   rf   r   r   )r-   r0   Ztdar   rT   r3   r   r   r   test_tda_add_sub_index1  s    z8TestTimedelta64ArithmeticUnsorted.test_tda_add_sub_indexc           	      C   s   |}t jdd|d}|d }|| }t||}t||}tt ||t }W d    n1 sl0    Y  t	||t d S )N
2016-01-01rM   rE   )
r   rf   r   r   r+   assert_produces_warningr   rd   re   r,   )	r-   r.   tz_naive_fixturer   r   r0   r   r1   rT   r   r   r   test_tda_add_dt64_object_arrayD  s    
,z@TestTimedelta64ArithmeticUnsorted.test_tda_add_dt64_object_arrayc                 C   s`   t dd}t dddd}t||}t||}|}||7 }t|| |tur\t|| d S NrA   10 daysz1 days 02:00:00z10 days 02:00:00rG   rI   r   r   r+   r,   r   r-   	two_hoursr.   rC   r3   Zorig_rngr   r   r   test_tdi_iadd_timedeltalikeV  s    
z=TestTimedelta64ArithmeticUnsorted.test_tdi_iadd_timedeltalikec                 C   s\   t dd}t dd}t||}t||}|}||8 }t|| |turXt|| d S NrA   r   z0 days 22:00:00z9 days 22:00:00r   r   r   r   r   test_tdi_isub_timedeltalikee  s    

z=TestTimedelta64ArithmeticUnsorted.test_tdi_isub_timedeltalikec                 C   s^  t ddddd}|d|j  }t ddddd}t|| |jdksHJ |d|j  }t d	dddd}t|| |jdksJ |d }t ddd
dd}t|| |jd
ksJ |d }t ddddd}t|| |jdksJ | }t d	dddd}t|| |jdksJ t d	dddd}t|}tg ddd}t|| |jd u sZJ d S )Nr   rL   Z2Drz   )r'   rI   r|   r   r   r   r   Z4DrA   rG   z-2D)r   rA   r   rA   r   r   )r   rI   r   r   r   r   )r-   rC   rT   rt   r   r   r   test_tdi_ops_attributesv  s8    z9TestTimedelta64ArithmeticUnsorted.test_tdi_ops_attributesN)rW   rX   rY   r   r   r   r   r   rQ   rZ   r[   r   r   r   r   r   r   r   r   r   r   r   rw     s   1V=
rw   c                   @   s.   e Zd Zejdddgdd Zdd ZdS )	TestAddSubNaTMaskingstr_tsz
1950-01-01z
1980-01-01c           	      C   s   t ddg}t||}t|}|| | d| dg}|D ]8}|| }|tu rr|j	d t
u sJ qJ|d t
u sJJ qJd S )Nz24658 days 11:15:00r	   zdatetime64[ns]zdatetime64[D])r   r   r   )r   to_timedeltar   r+   r   r_   r^   rd   r   ilocr	   )	r-   r.   r   ZtdinatZtdobjr   Zts_variantsvariantr2   r   r   r   $test_tdarr_add_timestamp_nat_masking  s    z9TestAddSubNaTMasking.test_tdarr_add_timestamp_nat_maskingc                 C   s  t jtdd$ tddtd  W d    n1 s80    Y  t jtdd$ tdtdd  W d    n1 sz0    Y  tjd }d}t jt|d& tdgdtd  W d    n1 s0    Y  t jt|d& tdtdgd  W d    n1 s0    Y  t jt|d$ t|gt	d  W d    n1 sV0    Y  t jt|d& td	|gt	d  W d    n1 s0    Y  t jt|d0 t|d	d
gtd|dg  W d    n1 s0    Y  t
tg}ttgt	d }t|| t
dtg}td	tgt	d }t|| t
ttdg}ttd	d
gtdtdg }t|| d S )NZ10155196800000000000rN   iT rG   2000r   zOverflow in int64 additionrA   z5 days1 hoursz	7 secondsz4 hoursr   z5 hours)rQ   rR   r   r   r   r   r	   _valueOverflowErrorr   r   r   r   )r-   Z_NaTrU   rt   rT   r   r   r   test_tdi_add_overflow  s<    22
4646"
z*TestAddSubNaTMasking.test_tdi_add_overflowN)rW   rX   rY   rQ   rZ   r[   r   r   r   r   r   r   r     s   
r   c                	   @   s  e Zd Zdd Zdd Zdd Zdd Zej	d	e
eejgd
d Zdd Zdd Zdd Zej	dg dej	dddgdd Zej	ddddedgdd Zejj	d eg d!eg d!eg d!eg d!ggd"d# d$d%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zej	d1ed2egd3d4 Z d5d6 Z!d7d8 Z"d9d: Z#d;d< Z$d=d> Z%ej	d?ejeegd@dA Z&dBdC Z'dS )DTestTimedeltaArraylikeAddSubOpsc                 C   s<   t tdgd}|t }ttgdd}t|| d S )N00:00:01zm8[s]r   )r   r   r
   rd   r	   r   assert_series_equal)r-   r9   rT   r3   r   r   r   test_sub_nat_retain_unit  s    z8TestTimedeltaArraylikeAddSubOps.test_sub_nat_retain_unitc                 C   s   t tdg}t tdg}t ttgdd}tdgt j}tdgt j}ttjgt j}t d}t d}t d}	|| }
|
|ksJ || }
|
|ksJ || }
t|
| || }
t|
| || }
t|
| || }
t|
| || }
t|
| | | }
t|
| ||	 }
t|
| |	| }
t|
| ||	 }
t|
| |	 | }
t|
| d}t	j
t|d |tj  W d    n1 s0    Y  t	j
t|d tj|  W d    n1 s0    Y  t	j
t|d |tj  W d    n1 s&0    Y  t	j
t|d tj |  W d    n1 sb0    Y  |t }
t|
| |t }
t|
| || }
t|
| || }
t|
| || }
t|
| || }
t|
| || }
t|
| || }
t|
| || }
t|
| || }
t|
| ||	 }
t|
| ||	 }
t|
| d}t	j
t|d |tj  W d    n1 s0    Y  t	j
t|d |tj  W d    n1 s0    Y  |t }
t|
| |t }
t|
| d S )	Nr   z00:00:02m8[ns]r   r	   unsupported operand typerN   z8cannot subtract a datelike from|unsupported operand type)r   r   r
   r	   r   applyr   r   r   rQ   rR   rS   r(   nanZassert_frame_equal)r-   s1s2ZsnZdf1Zdf2dfnZscalar1Zscalar2Ztimedelta_NaTr:   rU   r   r   r   &test_timedelta_ops_with_missing_values  s    




***,**zFTestTimedeltaArraylikeAddSubOps.test_timedelta_ops_with_missing_valuesc              	   C   s  t jdddd}t jdddd}t|t| }td|jdd}t|| |jdksbJ td	|i}td
d t	dD }|jdksJ |d	 |d	 
  }|jdksJ |d	 | }|jdksJ |d	  }t|tsJ |d	 |d	   }	|	jdksJ |	|d	  }tdtdtdg}
t|
dd	d}t|| |d	 tddd }tdd t	dD d	d}t|| |jdksJ tddddd}|d	 | }|jdksJ || }	t|d	 |	 tdd}|d	 | }|| }	t|	|d	  |	jdksJ tddd}|d	 | }|| }	t|d	 |	 |	jdksTJ |d ttddd }|d  ttddd7  < |d |ksJ d S )Nz2012-1-1rM   rG   r   z2012-1-2g  S$Br   timedelta64[ns]Ac                 S   s   g | ]}t |d qS )r6   r   .0ir   r   r   
<listcomp>S      zNTestTimedeltaArraylikeAddSubOps.test_operators_timedelta64.<locals>.<listcomp>r   Z20111230Z20120101Z20120103r   i  r   c                 S   s   g | ]}t d | dqS )i  r6   r   r   r   r   r   r   l  r   r   r   r%   r6   rL   minutessecondsr   )r   rf   r
   r   rd   r   r   r   r   rb   shiftmaxr   r   r   r   r(   rv   )r-   Zv1Zv2rsZxpZdfr   rT   ZmaxaZresultbvaluesr3   dZresultavaluer   r   r   test_operators_timedelta64I  sV    
z:TestTimedeltaArraylikeAddSubOps.test_operators_timedelta64c                 C   s  t ttdg}t ttgdd}t tgdd}t|t | tt | | t|| | t| | | t|t | tt| | t|| | t|| | t|t | tt| | t|| | t|| | t|t | tt| | t|| | t|| | t|d | td| | t|d | td| | t|d t ttdg td| t ttdg t|tj | ttj| | t|d t ttd	g t|d
 t ttd	g t|tj | d S )N1sr   r         ?r         ?z1.5sr   z0.5s       @)r
   r	   r   r   r   r(   r   )r-   Ztimedelta_seriesZnat_series_dtype_timedeltaZsingle_nat_dtype_timedeltar   r   r   test_timedelta64_ops_nat  s|    
z8TestTimedeltaArraylikeAddSubOps.test_timedelta64_ops_natclsc                 C   s*  |}t d|d}|tu r"| }n4|tju rR|d urHt| d|  | }n|}tddd}t	j
dd|d}t||}	t||}t||	 | t|	| | t	j
d	dd
|d}
t|
|}
t||	 |
 t||	  |
 d}tjt|d |	|  W d    n1 s0    Y  d S )Nz
2012-01-01r   z doesn support rq   rM   r&   z
2012-01-02rE   z
2011-12-31z-1D)r'   rI   rF   zcannot subtract a datelikerN   )r   r   r_   r(   
datetime64rQ   skipr^   r   r   rf   r   r+   r,   rR   rS   )r-   r   r.   r   rF   Z	dt_scalarr   r0   r3   tdarrZ	expected2rU   r   r   r   (test_td64arr_add_sub_datetimelike_scalar  s,    


zHTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_datetimelike_scalarc                 C   sb   t d}tddd}tg ddd}t||}t||}t|| | t|| | d S )Nr	   rq   rM   r&   )r	   r	   r	   r   r   )r(   r   r   r   r   r+   r,   )r-   r.   r1   r0   r3   tdserr   r   r   test_td64arr_add_datetime64_nat  s    
z?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_datetime64_natc                 C   s   t jddd}tdgd }|j}t|| }t||}t||}d}tjt	|d ||  W d    n1 sv0    Y  || }t
|| d S )Nr   rM   r&   -1 Dayzcannot subtract a datelike fromrN   )r   rf   r   r   r   r   r+   rQ   rR   rS   r,   )r-   r.   r   r0   dtarrr3   rU   rT   r   r   r   test_td64arr_sub_dt64_array  s    &z;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_dt64_arrayc                 C   sr   t jddd}tdgd }|j}t|| }t||}t||}|| }t|| || }t|| d S )Nr   rM   r&   r   )r   rf   r   r   r   r   r+   r,   )r-   r.   r   r0   r   r3   rT   r   r   r   test_td64arr_add_dt64_array"  s    z;TestTimedeltaArraylikeAddSubOps.test_td64arr_add_dt64_arraypi_freq)rG   WQr~   tdi_freqNr~   c           
      C   s   t ddg|d}td| }||}|d }t||}t||}d}	tjt|	d ||  W d    n1 sv0    Y  tjt|	d ||  W d    n1 s0    Y  d S )Nr   z2 hoursr   z2018-03-07 17:16:40r   z(cannot subtract|unsupported operand typerN   )r   r   Z	to_periodr   r+   rQ   rR   rS   )
r-   r.   Zbox_with_array2r  r   r0   r   piZperrU   r   r   r   test_td64arr_sub_periodlike3  s    
&z;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_periodliker1   r=   r   r   r   c                 C   s*   t g ddd}t||}t|| d S N59 Daysr  r	   r   r   )r
   r   r+   r   )r-   r.   r1   r   r   r   r   r   *test_td64arr_addsub_numeric_scalar_invalidH  s    zJTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_scalar_invalidvecr   c                 C   s
   t | jS r   typerW   rz   r   r   r   <lambda>b  r   z(TestTimedeltaArraylikeAddSubOps.<lambda>Zidsc                 C   s4   t g ddd}t||}||}t|| d S r  )r
   r   r+   rd   r   )r-   r.   r
  any_real_numpy_dtyper   r   vectorr   r   r   'test_td64arr_addsub_numeric_arr_invalidZ  s    
zGTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_arr_invalidc                 C   s   t dddd}t||}d}t||| tjt|d ||7 }W d    n1 sV0    Y  tjt|d ||8 }W d    n1 s0    Y  d S )N1 days 09:00:00r~   rB   rH    Addition/subtraction of integersrN   )r   r   r+   r   rQ   rR   rS   )r-   r.   onerC   r   rU   r   r   r   test_td64arr_add_sub_intm  s    &z8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_intc                 C   sV   |}|t ju rtjn|}tdddd}t||}tg d|}d}t||| d S )Nr  r~   rM   rH   )r%   rM   r   r   )r   r   r(   r)   r   r   r+   r   )r-   r.   r   r/   rC   r   r1   rU   r   r   r   "test_td64arr_add_sub_integer_array{  s    zBTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_integer_arrayc                 C   sT   |}|t ju rtjn|}tg d}t||}tg d|}d}t||| d S )N)1 Dayr	   z3 Hours)   r      r  )r   r   r(   r)   r   r   r+   r   )r-   r.   r   r/   r0   r   r1   rU   r   r   r   )test_td64arr_addsub_integer_array_no_freq  s    zITestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_integer_array_no_freqc           	      C   s   |}t jddd}||d }|j}d| }t||}t||}|| }t|| || }t|| d| }|| }t|| || }t|| d S )Nr   rM   r&   r   r   r   )r   rf   r   r   r   r+   r,   )	r-   r.   r   r   r0   r   r3   rT   expected_subr   r   r   test_td64arr_add_sub_td64_array  s     z?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_arrayc           	      C   s>  |}t ||}tddg|d d}|tjtjfv r<t|n|}ttddtddg|d d}ttddtddd	g|d}t	||}t	||}|| }t
|| t|d
 || }t
|| t|d
 ttddtddd	g|d}t	||}|| }t
|| t|d
 || }t
||  t|d
 d S )Nr   rq   r   r   rM   )hoursr%   r   )r7   r  r   )r"   r   r   r   r   r   r(   r
   r   r+   r,   r   )	r-   r.   r    r   r!   r0   r9   r3   rT   r   r   r   test_td64arr_add_sub_tdi  s0    
 


z8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_tditdnatr	   c                 C   s   |}t ttdg}t dgd }t||}t||}|| }t|| || }t|| || }t|| || }t|| d S )Nr   r	   r   )r   r	   r   r   r+   r,   )r-   r.   r"  r   r0   r3   r   rT   r   r   r   test_td64arr_add_sub_td64_nat  s    z=TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_natc                 C   s`   |}t dd}t dddd}t||}t||}|| }t|| || }t|| d S r   r   r   r+   r,   r-   r   r.   r   rC   r3   rT   r   r   r   test_td64arr_add_timedeltalike  s    
z>TestTimedeltaArraylikeAddSubOps.test_td64arr_add_timedeltalikec                 C   s^   |}t dd}t dd}t||}t||}|| }t|| || }t||  d S r   r$  r%  r   r   r   test_td64arr_sub_timedeltalike  s    

z>TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_timedeltalikec           
         s  |}t ||}tddg|d dttjddtjddg|d d |tjtj	fv r`t
	 n  t fdd	ttD d
|d}t fdd	ttD d
|d}t|t||jtdd}t||jtdd}tt   }W d    n1 s0    Y  t|| tt   }W d    n1 sR0    Y  t|| tt   }	W d    n1 s0    Y  t|	| d S )N1 days 00:00:003 days 04:00:00r   r   r   nc                    s   g | ]}|  |  qS r   r   r   r+  r1   r0   r   r   r     r   zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index.<locals>.<listcomp>r   r{   c                    s   g | ]}|  |  qS r   r   r-  r.  r   r   r     r   F)copy)r"   r   r   r   r\   Minuter   r   r   r   r(   rb   lenr+   rd   re   r   r   r,   )
r-   r    r.   r   r!   r3   r  r2   res2res_subr   r.  r   !test_td64arr_add_sub_offset_index  s.    
$(((zATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_indexc                    sf  |}t ddgttjddtjddg t  fddttD dd	}t  fd
dttD dd	}t	|t	||
t}tt   }W d    n1 s0    Y  t|| tt   }W d    n1 s0    Y  t|| t	||
t}tt   }W d    n1 sL0    Y  t|| d S )Nr(  r)  r   r*  r,  c                    s   g | ]}|  |  qS r   r   r-  r.  r   r   r   ,  r   zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array.<locals>.<listcomp>r   r   c                    s   g | ]}|  |  qS r   r   r-  r.  r   r   r   /  r   )r   r(   r   r   r\   r0  rb   r1  r   r+   rd   re   r   r   r,   )r-   r.   r   r3   r  r2   r2  r3  r   r.  r   !test_td64arr_add_sub_offset_array%  s*    &&(zATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_arrayc                    s  |}|t tjtjfv rtn|}t||}tddg|d dttj	ddtj
ddg|d d t fdd	ttD |td
}t|}t||t}tt |  }W d    n1 s0    Y  t|| tt  | }	W d    n1 s0    Y  t|	| t fdd	ttD |td
}
t|
|t}
tt |  }W d    n1 s0    Y  t||
 d S )Nr(  r)  r   r   r   r*  r,  c                    s   g | ]}|  |  qS r   r   r-  r.  r   r   r   L  r   zSTestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series.<locals>.<listcomp>)r|   r   c                    s   g | ]}|  |  qS r   r   r-  r.  r   r   r   Z  r   )r   r   r   r   r   r
   r"   r   r   r\   r0  rb   r1  re   r+   rd   r   r   r,   )r-   r    r.   r   Zbox2r!   Zexpected_addr   r2   r2  r  Zres3r   r.  r   test_td64arr_with_offset_seriesB  s.    
$&((z?TestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_seriesoboxc              	   C   s  t ddg}t||}|t tjddg}d}tjt|dB t	t
 ||  W d    n1 sl0    Y  W d    n1 s0    Y  tjt|dB t	t
 ||  W d    n1 s0    Y  W d    n1 s0    Y  tjt|dD t	t
 ||  W d    n1 s.0    Y  W d    n1 sN0    Y  tjt|dD t	t
 ||  W d    n1 s0    Y  W d    n1 s0    Y  d S )Nr(  r)  r   r*  z/has incorrect type|cannot add the type MonthEndrN   )r   r   r+   r   ZMonthEndr   rQ   rR   rS   r   r   )r-   r7  r.   r0   ZanchoredrU   r   r   r   -test_td64arr_addsub_anchored_offset_arraylikeb  s     DDHzMTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_anchored_offset_arraylikec           
   	   C   s  |}|t ju rtjn|}tdddd}t||}ttddt	dt
dg}tt || }W d    n1 sz0    Y  ttddtd	dt
d
g}t||t}t|| d}	tjt|	dB tt ||  W d    n1 s0    Y  W d    n1 s0    Y  tt || }W d    n1 sP0    Y  ttdtdt
dg}t||t}t|| d S )Nrq   rM   rG   r   r   r6   r   z
2000-01-04r%   z
2000-01-07z3unsupported operand type|cannot subtract a datelikerN   r   z
2000-01-01)r   r   r(   r)   r   r   r+   r   r   r   r   r   r   r   rd   re   r,   rQ   rR   rS   )
r-   r.   r   r/   r0   r   r1   rT   r3   rU   r   r   r   !test_td64arr_add_sub_object_array}  s*     &F(zATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_object_array)(rW   rX   rY   r   r   r   r   rQ   rZ   r[   r   r   r(   r   r   r   r   r   r  r   r	  r   r
   r   r  r  r  r  r  r!  rv   r	   r#  r&  r'  r4  r5  r6  r8  r9  r   r   r   r   r     s\   	`BU
#




	#
  
r   c                
   @   sP  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	j
jdeddeeddejeeddejeeddejeddgdd ddd Zdd Zdd Zdd Zdd Ze	j
dg de	j
dg d d!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Ze	j
 d-d.d/ Z!d0d1 Z"d2d3 Z#d4d5 Z$d6d7 Z%d8d9 Z&d:d; Z'd<d= Z(d>d? Z)e	j
d@dAdBe*dAe*dBgdCdD Z+e	j
d@dAdBe*dAe*dBgdEdF Z,e	j
jdGe*g dHeg dHe-g dHgdId ddJdK Z.e	j
jdGe*g dHeg dHe-g dHgdLd ddMdN Z/dOdP Z0dQdR Z1dSdT Z2dUS )VTestTimedeltaArraylikeMulDivOpsc                 C   sJ   t tjddd}t||}|d }t|| d| }t|| d S )NrL   r   r   r   )r   r(   rc   r   r+   r,   r-   r.   r   rT   r   r   r   test_td64arr_mul_int  s    z4TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_intc                 C   sX   t dddd}t||}d}tjt|d ||  W d    n1 sJ0    Y  d S )NrA   r   r   r   z@argument must be an integer|cannot use operands with types dtyperN   )r   r   r+   rQ   rR   rS   )r-   r   r.   rC   rU   r   r   r   %test_td64arr_mul_tdlike_scalar_raises  s
    zETestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdlike_scalar_raisesc                 C   s\   t jddd}t|}t|d }t||}t||}|t jddd }t|| d S )NrL   r   r   )r(   rc   r   r   r+   r   r,   r-   r.   Zrng5r   r3   rT   r   r   r   test_tdi_mul_int_array_zerodim  s    z>TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array_zerodimc                 C   sR   t jddd}t|}t|d }t||}t||}|| }t|| d S NrL   r   r   r   )r(   rc   r   r   r+   r,   r>  r   r   r   test_tdi_mul_int_array  s    z6TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_arrayc                 C   s   |}|t tjtjfv rtn|}ttjddd}ttjdddd }t	||}t	||}|ttjddd }t
|| d S r@  r   r   r   r   r   r
   r   r(   rc   r+   r,   )r-   r.   r   r/   r   r3   rT   r   r   r   test_tdi_mul_int_series  s    z7TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_seriesc                 C   s   |}|t tjtjfv rtn|}ttjddd}t	||}tjddd}t||d  }t	||}|t|d  }t
|| d S )NrL   r   r   float64r   rB  )r-   r.   r   r/   r   Zrng5fr3   rT   r   r   r   test_tdi_mul_float_series  s    z9TestTimedeltaArraylikeMulDivOps.test_tdi_mul_float_seriesr1   r      c                 C   s
   t | jS r   r  r  r   r   r   r    r   z(TestTimedeltaArraylikeMulDivOps.<lambda>r  c           	      C   sp   |}t dgd }tddd }t||}t||}t||}|| }t|| || }t|| d S )Nr  rB   rA   r   )r   r   r   r   r+   r   r,   )	r-   r1   r.   r   r0   r3   r/   rT   Zcommuter   r   r   test_tdi_rmul_arraylike  s    
z7TestTimedeltaArraylikeMulDivOps.test_tdi_rmul_arraylikec                 C   s  t dddd}t||}tjtdd |t  W d    n1 sF0    Y  tjtdd t|  W d    n1 s|0    Y  tdd	}d
	g d}tjt|d ||  W d    n1 s0    Y  tjt|d ||  W d    n1 s0    Y  d S )NrA   r   r   r   r   rN   zCannot divide NaTType byr	   r   |)z0ufunc '(true_divide|divide)' cannot use operandszcannot perform __r?truediv__z*Cannot divide datetime64 by TimedeltaArray)
r   r   r+   rQ   rR   rS   r	   r(   r   join)r-   r.   rC   Zdt64natrU   r   r   r   test_td64arr_div_nat_invalid  s    &&&z<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_nat_invalidc                 C   s   |}|t ju rtjn|}tdd}t||}td}ttjgd }t||}|| }t	|| || }t	|| d S )NrA   r   r	   rB   )
r   r   r(   r)   r   r   r+   rv   r   r,   )r-   r.   r   r/   rC   r1   r3   rT   r   r   r   test_td64arr_div_td64nat  s    

z8TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64natc                 C   sl   t tjddd}t||}|d }t|| tjtdd d|  W d    n1 s^0    Y  d S )NrL   r   r   r   Cannot dividerN   	r   r(   rc   r   r+   r,   rQ   rR   rS   r;  r   r   r   test_td64arr_div_int0  s    z4TestTimedeltaArraylikeMulDivOps.test_td64arr_div_intc                 C   s   |}|t ju rtjn|}tdddd}ttdd d tjdd}t	||}t	||}|| }t
|| || }d| }t
|| d S )	NrA   r   r   r   rB   r      r   )r   r   r(   r)   r   r   rc   rD  r   r+   r,   r-   r   r.   r   r/   rC   r3   rT   r   r   r   test_td64arr_div_tdlike_scalar;  s    z>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalarm)r   rM   rB   unit)rG   r~   rR  rp   msusr   c           
         s   |}|t ju rtjn|}ttddgd }tj|d< |}t||}t fdd|D }t||}|t	  }	t
|	| t fdd|D }t||}t	 | }	t
|	| d S )N;   r6   rM   r   c                    s   g | ]}|t   qS r   )r(   rv   r   rz   rR  rS  r   r   r   Y  r   zPTestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar.<locals>.<listcomp>c                    s    g | ]}t t | qS r   )r   r(   rv   rW  rX  r   r   r   _  r   )r   r   r(   r)   r
   r   r   r   r+   rv   r,   )
r-   rR  rS  r.   r   r/   r9   Zflatr3   rT   r   rX  r   test_td64arr_div_td64_scalarM  s    
z<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalarc                 C   s   |}|t ju rtjn|}tdtdgdd}tdtjdgtjdd}t	
||}t	
||}|| }t	|| || }d| }t	|| d S )	NrA   r   r   r   rO  r8   r   r   )r   r   r(   r)   r   r	   r   r   rD  r   r+   r,   rP  r   r   r   'test_td64arr_div_tdlike_scalar_with_natd  s    zGTestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar_with_natc                 C   s<  |}|t ju rtjn|}tdtdg}tdtjdgtjd}t	
||}t	
||}tjg ddd}|| }t	|| |t	
|| }t	|| ||t }t	||t |t| }t	|| d| }|| }t	|| t	
||| }t	|| |t| }t	|| t|| }t	|| d S )	NrA   r   rO  r8   r   )r   r%   r   zm8[h]r   )r   r   r(   r)   r   r	   r   r   rD  r   r+   r,   rd   re   ra   )r-   r.   r   r/   rC   r3   r1   rT   r   r   r   test_td64arr_div_td64_ndarrayu  s0    z=TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_ndarrayc              
   C   s   t dtdg}g d}t||}d}||d d fD ]}|t|t|fD ]p}tjt	|d ||  W d    n1 s~0    Y  tjt	|d ||  W d    qN1 s0    Y  qNq6d S )NrA   r   )r   r   rM   r%   z0Cannot divide vectors|Unable to coerce to Seriesr   rN   )
r   r	   r   r+   r(   r   r   rQ   rR   r   )r-   r.   rC   Z
mismatchedrU   r   r1   r   r   r   test_tdarr_div_length_mismatch  s    &z>TestTimedeltaArraylikeMulDivOps.test_tdarr_div_length_mismatchc                 C   sD  t ddddt}tj||dd}tj|d dd	|d
 gtd}tj||dd}|| }tdt	dd|d dgtd}tj||dd}t
|tr| }t|| |tu rt
|jd tj	sJ || }tdt	dd|d dgtd}tj||dd}t
|tr| }t|| |tu r@t
|jd tj	s@J d S )Nr  rM   r&   r   FZ	transposer   r   r   r   r   r   r	   r   )r   r   )r   insertr	   r   r+   r(   r   re   r   rv   r   r   r*   r,   r   r   )r-   r.   origr0   r1   r2   r3   r   r   r   !test_td64_div_object_mixed_result  s(     
 
zATestTimedeltaArraylikeMulDivOps.test_td64_div_object_mixed_resultc           	      C   s:  |}|t ju rtjn|}tg ddd}tg ddd}t||}t||}tjddtjgtjd}t||}|t	u r|r|ddg 
d|ddg< tjt|t ju d	d
 || }W d    n1 s0    Y  t|| tjt|t ju d	d
 t|| }W d    n1 s 0    Y  t|| d S )N)  zd    r   r   )ra  rb  Nr   r   r   r   F)Zcheck_stacklevel)r   r   r(   r)   r
   r   r+   r   rD  r   rd   Zmaybe_produces_warningRuntimeWarningr,   Zasarray)	r-   r.   Zusing_array_managerr   r/   rj   rk   r3   rT   r   r   r   &test_td64arr_floordiv_td64arr_with_nat  s(    &.zFTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_td64arr_with_natz/ignore:invalid value encountered:RuntimeWarningc           	      C   s   |}|t ju rtjn|}td}t||tgdd}tj||dd}tddtj	g}tj||dd}|| }t
|| tddtj	g}tj||dd}|| }t
|| ||}t
|| d S )NZ5m3sr   r   Fr]  r   r   )r   r   r(   r)   r   r
   r	   r   r+   r   r,   __rfloordiv__)	r-   r.   	scalar_tdr   r/   r   td1r3   rT   r   r   r   test_td64arr_floordiv_tdscalar  s    
z>TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_tdscalarc                 C   sp   t tjddd}t||}|d }t|| d}tjt|d d|  W d    n1 sb0    Y  d S )NrL   r   r   r   z@floor_divide cannot use operands|Cannot divide int by Timedelta*rN   rM  )r-   r.   r   rT   patternr   r   r   test_td64arr_floordiv_int	  s    z9TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_intc                 C   s   t dd}t||}tg dd }t||}|| }t|| d }|tu rlt|tjrlt	}|
t}t| t||}W d    n1 s0    Y  t|d | t|d ||  d S )Nr  9 days)r  z2 Days0 DaysrM   r   r   )r   r   r+   r   r,   r   r   r   Z
DateOffsetr   rd   re   r   divmod)r-   r.   
three_daysr0   r   r3   rT   warnr   r   r   test_td64arr_mod_tdscalar  s    

(z9TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_tdscalarc                 C   s   t dddd}t||}tddgd }t||}|d }t|| d}tjt|d	 d|  W d    n1 sz0    Y  t|d}t|d
 | t|d |d  d S )Nz1 nsz10 nsrB   r&   z0 nsrL   r   zCannot divide int byrN   r   r   )	r   r   r+   r   r,   rQ   rR   rS   rn  )r-   r.   r0   r   r3   rT   rU   r   r   r   test_td64arr_mod_int0  s    &
z4TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_intc                 C   s   t dd}t||}g ddgd  }t|}t||}|| }t|| t||}t|d | t|d ||  d S )Nr  rl  )rm  r  rm  z3 Days   r   r   )r   r   r+   r   r,   rn  )r-   r.   ro  r0   r   r3   rT   r   r   r   test_td64arr_rmod_tdscalarB  s    

z:TestTimedeltaArraylikeMulDivOps.test_td64arr_rmod_tdscalarc                 C   s   t tdddgd }tj|jd< t||}d}tjt	|d ||  W d    n1 s^0    Y  tjt	|d ||  W d    n1 s0    Y  d S NrL   rM   r   r   z(operate|unsupported|cannot|not supportedrN   
r
   r   r(   r   r   r   r+   rQ   rR   rS   )r-   r.   rg  rh  rj  r   r   r   !test_td64arr_mul_tdscalar_invalidT  s    &zATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdscalar_invalidc                 C   s   t tjddd}t||}dg d}tjt|d  ||d d   W d    n1 s`0    Y  tjt	|d" |t
dd	g  W d    n1 s0    Y  d S )
NrL   r   r   rH  )$cannot use operands with types dtypez$Cannot multiply with unequal lengthszUnable to coerce to SeriesrN   rM   r   r   )r   r(   rc   r   r+   rI  rQ   rR   rS   r   r   r-   r.   r   rU   r   r   r   !test_td64arr_mul_too_short_raisesc  s    .zATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_too_short_raisesc                 C   s\   t tjddd}t||}d}tjt|d ||  W d    n1 sN0    Y  d S )NrL   r   r   rx  rN   )r   r(   rc   r   r+   rQ   rR   rS   ry  r   r   r   test_td64arr_mul_td64arr_raisess  s
    z?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_td64arr_raisesc                 C   s   t g ddd}t g ddd}t||}t||}||  }t|| | | }t|| t g ddd}t||}|d|  }t|| d| | }t|| d S )Nr  r   r   )-59 Daysr|  r	   r   )118 Daysr}  r	   r   )r
   r   r+   r,   )r-   r.   r  r   r3   rT   r   r   r   test_td64arr_mul_numeric_scalar}  s    

z?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_numeric_scalartwor   r   c                 C   s   t g ddd}t g ddd}t||}t||}|| }t|| tjtdd ||  W d    n1 sx0    Y  d S Nr  r   r   )29.5Dr  r	   r   rL  rN   r
   r   r+   r,   rQ   rR   rS   r-   r.   r  r   r3   rT   r   r   r   test_td64arr_div_numeric_scalar  s    z?TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_scalarc                 C   s   t g ddd}t g ddd}t||}t||}|| }t|| tjtdd ||  W d    n1 sx0    Y  d S r  r  r  r   r   r   $test_td64arr_floordiv_numeric_scalar  s    zDTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_numeric_scalarr  )   rc  (   c                 C   s
   t | jS r   r  r  r   r   r   r    r   c                 C   sx   t g ddd}||}t g ddd}t||}t||}t||}|| }t|| || }t|| d S )Nr  r   r   )z	1180 Daysz	1770 Daysr	   r   )r
   rd   r   r+   r   r,   )r-   r.   r  r  r   r3   r/   rT   r   r   r   test_td64arr_rmul_numeric_array  s    

z?TestTimedeltaArraylikeMulDivOps.test_td64arr_rmul_numeric_arrayc                 C   s
   t | jS r   r  r  r   r   r   r    r   c           	         s  t g ddd |t g ddd}t | t }t||}  }t|| dg d}tjt	|d    W d    n1 s0    Y   t
 }|tu r> fd	d
ttD }t||t
}d}tjt|d. |d jtdddd|d< W d    n1 s20    Y  nT fdd
tt D }dd
 |D }|tju rt|t
}n||t
d}t|| tjt	|d t
   W d    n1 s0    Y  d S )Nr  r   r   )z2.95Dz
1D 23h 12mr	   r   rH  )z!true_divide'? cannot use operandszcannot perform __div__zcannot perform __truediv__zunsupported operandrL  z-ufunc 'divide' cannot use operands with typesrN   c                    s"   g | ]} j d |f |  qS )r   )r   r-  r   r  r   r   r     r   zRTestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array.<locals>.<listcomp>z The 'downcast' keyword in fillnar   r	   r   FZdowncastc                    s   g | ]} | |  qS r   r   r-  r  r   r   r     r   c                 S   s$   g | ]}|t ur|n
td dqS )r	   r   )r	   r(   rv   rW  r   r   r   r     s   )r
   rd   r   r+   r   r,   rI  rQ   rR   rS   re   r   rb   r1  r   FutureWarningfillnar(   rv   r   )	r-   r.   r  r  r3   r/   rT   rj  rU   r   r  r   test_td64arr_div_numeric_array  s@    


&
,z>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_arrayc           
      C   s   |}t ||}tg d|d d}tg dtj|d d}tg dd|d}t||}t||}t||}|| }	t|	| || }	t|	| d S )	N0days1dayZ2daysZ3days4daysr   r   )r   r   r   rM   r%   r   r   )r  r  r  Z9daysZ16daysr   )	r"   r   r
   r(   r   r   r+   r   r,   )
r-   r.   r    r   r!   r0   r9   r3   r/   rT   r   r   r   test_td64arr_mul_int_series  s$    

z;TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int_seriesc                    s   |}t g d|d dtg dtj|d d |tjtjfvrH|d n|d }t fdd	tt	 D d
|d}t
|t }t
||} }|tu r|tu sJ nt|| d S )Nr  r   r   )r   rM   g      @rs  g      @r   r   r   c                    s   g | ]}|  |  qS r   r   r-  r9   r0   r   r   r   3  r   zRTestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arr.<locals>.<listcomp>r   )r   r
   r(   rD  r   r   r   r   rb   r1  r+   r   __rtruediv__r   NotImplementedr,   )r-   r.   r    r   Zxnamer3   r/   rT   r   r  r   test_float_series_rdiv_td64arr)  s$     

z>TestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arrc           	      C   s   t ttg}t||}tjddgtd}tdd}t|gd td}|turt||	t}|t
tfv rd}tjt|d |j|dd	}W d    n1 s0    Y  || }t|| || }t|| d S )
Nr   r   r   r	   r   z.The 'downcast' keyword in fillna is deprecatedrN   Fr  )r   r	   r   r+   r(   r   re   rv   r   rd   r
   r   r   r  r  r,   )	r-   r.   r0   rj   rk   r"  r3   rU   rT   r   r   r   -test_td64arr_all_nat_div_object_dtype_numericB  s    ,zMTestTimedeltaArraylikeMulDivOps.test_td64arr_all_nat_div_object_dtype_numericN)3rW   rX   rY   r<  r=  r?  rA  rC  rE  rQ   rZ   r[   r(   rc   r   r   rb   Zuint64rD  r   Z
RangeIndexrG  rJ  rK  rN  rQ  rY  rZ  r[  r\  r`  re  filterwarningsri  rk  rq  rr  rt  rw  rz  r{  r~  r   r  r  r
   r  r  r  r  r  r   r   r   r   r:    st   



&"#


 
 
"
"
8r:  c                   @   s   e Zd Zdd ZdS )"TestTimedelta64ArrayLikeArithmeticc                 C   s   t tdddgd }tj|jd< t||}d}tjt	|d ||  W d    n1 s^0    Y  tjt	|d ||  W d    n1 s0    Y  d S ru  rv  )r-   rg  r.   rh  rj  r   r   r   test_td64arr_pow_invalid^  s    &z;TestTimedelta64ArrayLikeArithmetic.test_td64arr_pow_invalidN)rW   rX   rY   r  r   r   r   r   r  Y  s   r  c                     sD   t d  tdddd } t fddtdD }t| | d S )Nr>   Z0sr      r&   c                    s6   g | ].} t d | t dt|dd    qS )z0.033333333sz0.000000001srM   r   )r   r   rn  r   	timestampr   r   r   t  s   z3test_add_timestamp_to_timedelta.<locals>.<listcomp>)r   r   r   rb   r   r   r   r   r  r   test_add_timestamp_to_timedeltao  s    

r  )'r   r   numpyr(   rQ   Zpandas.errorsr   r   Zpandasr   r   r   r   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingr   Zpandas.core.arraysr   Zpandas.tests.arithmetic.commonr   r   r   r   r"   r#   rg   rw   r   r   r:  r  r  r   r   r   r   <module>   s>   0	kg   A     D     B