
    Owg                         d Z ddlmZmZ ddlZddlZddl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 G d	 d
      Z G d d      Zd Zd Zy)z+
Tests for scalar Timedelta arithmetic ops
    )datetime	timedeltaN)OutOfBoundsTimedelta)NaT	Timedelta	Timestampoffsets)opsc                   Z   e Zd ZdZej
                  j                  d edd       ed       e	j                  dd       e	j                  dd       ej                  d      g      d	        Zej
                  j                  d
 ed       ed       edd       e	j                  dd       e	j                  dd      z    ej                          ej                  d      z   g      d        Zej
                  j                  dej"                  ej&                  g      d        Zd Zej
                  j                  dej"                  ej&                  g      d        Zej
                  j                  dej"                  ej&                  g      d        Zej
                  j                  dej"                  ej&                  g      d        Zej
                  j                  dej"                  ej&                  g      d        Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&ej
                  j                  dej"                  ej&                  g      d%        Z'ej
                  j                  dej"                  ej&                  g      d&        Z(d' Z)d( Z*d) Z+y*)+ TestTimedeltaAdditionSubtractionz\
    Tests for Timedelta methods:

        __add__, __radd__,
        __sub__, __rsub__
    ten_seconds
   sunitsecondsl    d(	 nsc                 v    t        d      }t        d      }t        d      }||z   }||k(  sJ ||z
  }||k(  sJ y )Nz20130101 09:01:12.123456z20130101 09:01:22.12345620130101 09:01:02.123456r   )selfr   baseexpected_addexpected_subresults         d/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/scalar/timedelta/test_arithmetic.pytest_td_add_sub_ten_secondsz<TestTimedeltaAdditionSubtraction.test_td_add_sub_ten_seconds"   sU     34 !;< !;<#%%%#%%%    one_day_ten_secsz1 day, 00:00:10z1 days, 00:00:10   daysr   Dc                 v    t        d      }t        d      }t        d      }||z   }||k(  sJ ||z
  }||k(  sJ y )Nz20130102 09:01:12.123456z20130103 09:01:22.123456r   r   )r   r    r   r   r   r   s         r   #test_td_add_sub_one_day_ten_secondszDTestTimedeltaAdditionSubtraction.test_td_add_sub_one_day_ten_seconds8   sW     34 !;< !;<((%%%((%%%r   opc                    t        dd      } ||t        ddd            }|t        j                  u rt	        |t
              sJ |t        ddd      k(  sJ  ||t        d            }t	        |t
              sJ |t        d      k(  sJ  ||t        j                  d	            }t	        |t
              sJ |t        d
      k(  sJ  ||t              }|t        u sJ y )Nr   dr     r!      z2018-01-12 18:09z2018-01-22 18:09z
2018-01-12
2018-01-22)	r   r   operatoradd
isinstancer   np
datetime64r   r   r'   tdr   s       r   test_td_add_datetimelike_scalarz@TestTimedeltaAdditionSubtraction.test_td_add_datetimelike_scalarN   s     r$Bq!,- fi0004B////B	"456&),,,#56666Bl34&),,,<0000B}}r   c                 >   t        d      j                  d      }d}t        j                  t        |      5  |t        dd      z    d d d        d}t        j                  t        |      5  |t        d	      z    d d d        y # 1 sw Y   ?xY w# 1 sw Y   y xY w)
Nz
1700-01-01r   z3Cannot cast 259987 from D to 'ns' without overflow.matchi r$   r   z>Cannot cast 259987 days 00:00:00 to unit='ns' without overflowr#   )r   as_unitpytestraisesr   r   r   )r   tsmsgs      r   test_td_add_timestamp_overflowz?TestTimedeltaAdditionSubtraction.test_td_add_timestamp_overflowe   s    |$,,T2C]]/s; 	1:C00	1 O]]/s; 	,
++	, 	,		1 	1	, 	,s   B.BBBc                     t        dd      } ||t        d            }t        |t               sJ |t        d      k(  sJ y )Nr   r)   r   r8      r   r/   r2   s       r   test_td_add_tdz/TestTimedeltaAdditionSubtraction.test_td_add_tdo   sB    r$B	r*+&),,,++++r   c                     t        dd      } ||t        d            }t        |t               sJ |t        d      k(  sJ y )Nr   r)   r   	   r8      r   r   r/   r2   s       r   test_td_add_pytimedeltaz8TestTimedeltaAdditionSubtraction.test_td_add_pytimedeltaw   sB    r$B	q)*&),,,++++r   c                     t        dd      } ||t        j                  dd            }t        |t               sJ |t        d      k(  sJ y )Nr   r)   r   r$      r8   r   r0   timedelta64r/   r2   s       r   test_td_add_timedelta64z8TestTimedeltaAdditionSubtraction.test_td_add_timedelta64~   sH    r$Br3/0&),,,****r   c                     t        dd      } ||t        j                  d            }t        |t               sJ |t        dd      k(  sJ y )Nr   r)   r   rJ   r#   hoursr   r	   Hourr/   r2   s       r   test_td_add_offsetz3TestTimedeltaAdditionSubtraction.test_td_add_offset   sG    r$BQ(&),,,!4444r   c                 t    t        dd      }t        dd      }||z
  }t        |t               sJ ||k(  sJ y Nr   r)   r   r   r   rA   r   r3   expectedr   s       r   test_td_sub_tdz/TestTimedeltaAdditionSubtraction.test_td_sub_td   sA    r$QT*b&),,,!!!r   c                     t        dd      }t        dd      }||j                         z
  }t        |t               sJ ||k(  sJ |j                         |z
  }t        |t               sJ ||k(  sJ y rU   )r   to_pytimedeltar/   rV   s       r   test_td_sub_pytimedeltaz8TestTimedeltaAdditionSubtraction.test_td_sub_pytimedelta   |    r$QT*b''))&),,,!!!""$r)&),,,!!!r   c                     t        dd      }t        dd      }||j                         z
  }t        |t               sJ ||k(  sJ |j                         |z
  }t        |t               sJ ||k(  sJ y rU   )r   to_timedelta64r/   rV   s       r   test_td_sub_timedelta64z8TestTimedeltaAdditionSubtraction.test_td_sub_timedelta64   r\   r   c                 D    t        dd      }|t        z
  }|t        u sJ y Nr   r)   r   r   r   r   r3   r   s      r   test_td_sub_natz0TestTimedeltaAdditionSubtraction.test_td_sub_nat   s#    r$c}}r   c                     t        dd      }t        j                  d      }||z
  }|t        u sJ ||z
  }|t        u sJ y Nr   r)   r   r   r   r0   rL   r   )r   r3   td_natr   s       r   test_td_sub_td64_natz5TestTimedeltaAdditionSubtraction.test_td_sub_td64_nat   sF    r$&f}}"}}r   c                     t        dd      }|t        j                  d      z
  }t        |t               sJ |t        dd      k(  sJ y )Nr   r)   r   r!      hrQ   rc   s      r   test_td_sub_offsetz3TestTimedeltaAdditionSubtraction.test_td_sub_offset   sE    r$gll1o%&),,,3S1111r   c                 ,   t        dd      }d}ddt        j                  d      t        j                  d      fD ]  }t	        j
                  t        |      5  ||z    d d d        t	        j
                  t        |      5  ||z    d d d        t	        j
                  t        |      5  ||z
   d d d        t	        j
                  t        |      5  ||z
   d d d         y # 1 sw Y   xY w# 1 sw Y   jxY w# 1 sw Y   MxY w# 1 sw Y   xY w)Nr   r)   r   unsupported operand type          @r6   )r   r0   int64float64r:   r;   	TypeError)r   r3   r=   others       r   test_td_add_sub_numeric_raisesz?TestTimedeltaAdditionSubtraction.test_td_add_sub_numeric_raises   s    r$(bhhqk2::a=9 	Ey4 U
y4 
y4 U
y4 
 	    s0   C&C2,C>D
&C/	2C;	>D	
D	c                 H   t        d      }t        j                  dg      }d}t        j                  t
        |      5  |t        j                  dg      z    d d d        dj                  ddg      }t        j                  t
        |      5  ||z    d d d        d}t        j                  t
        |      5  ||z
   d d d        d	}t        j                  t
        |      5  ||z
   d d d        y # 1 sw Y   xY w# 1 sw Y   lxY w# 1 sw Y   MxY w# 1 sw Y   y xY w)
N1 dayr!   z;unsupported operand type\(s\) for \+: 'Timedelta' and 'int'r6   |zEunsupported operand type\(s\) for \+: 'numpy.ndarray' and 'Timedelta'z;Concatenation operation is not implemented for NumPy arraysz:unsupported operand type\(s\) for -: 'Timedelta' and 'int'zDunsupported operand type\(s\) for -: 'numpy.ndarray' and 'Timedelta')r   r0   arrayr:   r;   rt   joinr   r3   ru   r=   s       r   test_td_add_sub_int_ndarrayz<TestTimedeltaAdditionSubtraction.test_td_add_sub_int_ndarray   s   w!L]]9C0 	1#	 hh&
 N

 ]]9C0 	BJ	K]]9C0 	J	U]]9C0 	BJ	 	)	 		 		 		 	s/   C4D :D%D4C= D	DD!c                     t        dd      }t        |z
  }|t        u sJ t        j                  d      |z
  }|t        u sJ y rf   )r   r   r0   r1   rc   s      r   test_td_rsub_natz1TestTimedeltaAdditionSubtraction.test_td_rsub_nat   sB    r$r}}u%*}}r   c                     t        j                  d      t        dd      z
  }t        |t              sJ |t        dd      k(  sJ y )Nr!   r   r)   r   irl   )r	   rR   r   r/   r   r   s     r   test_td_rsub_offsetz4TestTimedeltaAdditionSubtraction.test_td_rsub_offset   s@    a9Rc#::&),,,4c2222r   c                     t        j                  t        d      t        d      g      }t        j                  t        d      t        d      g      }|t        d      z
  }t	        j
                  ||       y )N20130101 9:0120121230 9:02z20121231 9:01z20121229 9:021Dr0   rz   r   r   tmassert_numpy_array_equal)r   arrexpress       r   ,test_td_sub_timedeltalike_object_dtype_arrayzMTestTimedeltaAdditionSubtraction.test_td_sub_timedeltalike_object_dtype_array   sZ    hh	/2Io4NOPhh	/2Io4NOPIdO#
##C-r   c                 f   t        d      }t        j                  |t        d      t        j                  dd      g      }t        j                  |t        d      z
  t        d      t        j                  dd      t        d      z
  g      }|t        d      z
  }t        j                  ||       y )N2021-11-09 09:54:00r   rp   rl   0D)r   r0   rz   r   rL   r   r   )r   nowr   r   r   s        r   7test_td_sub_mixed_most_timedeltalike_object_dtype_arrayzXTestTimedeltaAdditionSubtraction.test_td_sub_mixed_most_timedeltalike_object_dtype_array   s    -.hhYt_bnnQ.DEFhhio%$q#&48
 IdO#
##C-r   c                    t        d      }t        j                  |t        d      t        j                  dd      g      }d}t        j                  t        |      5  t        d      |z
   d d d        y # 1 sw Y   y xY w)Nr   r   rp   rl   zAunsupported operand type\(s\) for \-: 'Timedelta' and 'Timestamp'r6   )r   r0   rz   r   rL   r:   r;   rt   )r   r   r   r=   s       r   8test_td_rsub_mixed_most_timedeltalike_object_dtype_arrayzYTestTimedeltaAdditionSubtraction.test_td_rsub_mixed_most_timedeltalike_object_dtype_array  se    -.hhYt_bnnQ.DEFR]]9C0 	"dOc!	" 	" 	"s   A66A?c                     t        j                  t        d      t        d      g      }t        j                  t        d      t        d      g      } ||t        d            }t	        j
                  ||       y )Nr   r   z20130102 9:01z20121231 9:02r   r   )r   r'   r   r   r   s        r   ,test_td_add_timedeltalike_object_dtype_arrayzMTestTimedeltaAdditionSubtraction.test_td_add_timedeltalike_object_dtype_array  s^     hh	/2Io4NOPhh	/2Io4NOPio&
##C-r   c                    t        d      }t        j                  |t        d      g      }t        j                  |t        d      z   t        d      g      } ||t        d            }t	        j
                  ||       y )Nr   r   2D)r   r0   rz   r   r   r   )r   r'   r   r   r   r   s         r   2test_td_add_mixed_timedeltalike_object_dtype_arrayzSTestTimedeltaAdditionSubtraction.test_td_add_mixed_timedeltalike_object_dtype_array  sf     -.hhYt_-.hhio-y?@io&
##C-r   c                    t        d      }t        j                  |j                         g      }t        j                  t        d      j                         g      }||z   }t	        j
                  ||       ||z   }t	        j
                  ||       ||z
  }t	        j
                  ||dz         ||z
  }t	        j
                  ||dz         y )Nrx   2 Daysr   r   r0   rz   r^   r   r   r   r3   ru   rW   r   s        r   test_td_add_sub_td64_ndarrayz=TestTimedeltaAdditionSubtraction.test_td_add_sub_td64_ndarray&  s    w"++-./88Yx0??ABCe
##FH5
##FH5e
##FHqL9
##FHqL9r   c                 t   t        d      }t        j                  dgd      }t        j                  dgd      }t        j                  ||z   |       t        j                  ||z   |       t        j                  dgd      }t        j                  | |z   |       t        j                  ||z
  |       y )Nrx   z
2000-01-01zM8[ns]dtypez
2000-01-02z
1999-12-31r   r0   rz   r   r   )r   r3   ru   rW   s       r   test_td_add_sub_dt64_ndarrayz=TestTimedeltaAdditionSubtraction.test_td_add_sub_dt64_ndarray6  s    w,x888\N(;
##BJ9
##EBJ988\N(;
##RC%K:
##EBJ9r   c                 `   t        d      }t        j                  |j                        }||z   }t	        |t               sJ |d|z  k(  sJ ||z   }t	        |t               sJ |d|z  k(  sJ ||z
  }t	        |t               sJ |d|z  k(  sJ ||z
  }t	        |t               sJ |d|z  k(  sJ y )Nrx   rp   r   )r   r0   rz   asm8r/   )r   r3   ru   r   s       r   test_td_add_sub_ndarray_0dz;TestTimedeltaAdditionSubtraction.test_td_add_sub_ndarray_0dB  s    w!e&),,,R&),,,R&),,,Re&),,,Rr   N),__name__
__module____qualname____doc__r:   markparametrizer   r   r0   rL   r	   Secondr   Dayr&   r-   r.   r
   raddr4   r>   rB   rG   rM   rS   rX   r[   r_   rd   ri   rm   rv   r}   r   r   r   r   r   r   r   r   r   r    r   r   r   r      s    [[bs#b!BNN2s#BNN;-GNN2	
	
&	
& [['(()1b)BNN1c"^R^^B%<<GKKMNGNN2..	
	
&	
& [[THLL#((#;< =,, [[THLL#((#;<, =, [[THLL#((#;<, =, [[THLL#((#;<+ =+ [[THLL#((#;<5 =5"
"
"283
.." [[THLL#((#;<. =. [[THLL#((#;<. =.: 
: r   r   c                   b   e Zd ZdZej
                  j                  de ej                  dd       ej                  d      g      ej
                  j                  de
j                  ej                  g      d               Zej
                  j                  dej                   ej                   d       ed      g      ej
                  j                  de
j                  ej                  g      d	               Zej
                  j                  de
j                  ej                  g      d
        Zd Zd Zd Zd Zd Zd Zej
                  j                  dej                   ej                   d       ed      g      d        Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d  Z)d! Z*d" Z+d# Z,d$ Z-d% Z.d& Z/d' Z0d( Z1d) Z2d* Z3d+ Z4d, Z5d- Z6d. Z7d/ Z8d0 Z9d1 Z:d2 Z;d3 Z<d4 Z=d5 Z>d6 Z?ej
                  j                  de
j                  ej                  e
j                  ej                  ej                  g      ej
                  j                  d7 ej                   eDd8       eDd9      g       ej                   eDd:       eEd;      g      g      d<               ZFy=)>#TestTimedeltaMultiplicationDivisionz
    Tests for Timedelta methods:

        __mul__, __rmul__,
        __div__, __rdiv__,
        __truediv__, __rtruediv__,
        __floordiv__, __rfloordiv__,
        __mod__, __rmod__,
        __divmod__, __rdivmod__
    rh   r   r   r'   c                     t        dd      }dj                  g d      }dj                  d| d| dd	g      }t        j                  t        |
      5   |||       d d d        y # 1 sw Y   y xY w)Nr   r)   r   ry   )znumpy.timedelta64NaTTyper   z'unsupported operand type\(s\) for \*: 'z' and ''z1ufunc '?multiply'? cannot use operands with typesr6   r   r{   r:   r;   rt   )r   r'   rh   r3   typsr=   s         r   test_td_mul_natz3TestTimedeltaMultiplicationDivision.test_td_mul_natf  su     r$xxEFhh:4&vQOD
 ]]9C0 	r6N	 	 	s   
A))A2nanNaNc                 D    t        dd      } |||      }|t        u sJ y ra   rb   )r   r'   r   r3   r   s        r   test_td_mul_nanz3TestTimedeltaMultiplicationDivision.test_td_mul_nanw  s'     r$B}}r   c           	      V   t        d      } ||d      }|t        d      k(  sJ  ||d      }|t        dd      k(  sJ  ||t        j                        t        u sJ  |d	|      j                  d	|j                  z  k(  sJ  |d
|      j                  d
|j                  z  k(  sJ d}t        j                  t        |      5   ||t        ddd             d d d        t        j                  t        |      5   |||       d d d        y # 1 sw Y   7xY w# 1 sw Y   y xY w)N   minutesrp   rJ   g      ?      r   r   g      ro   r6   r*   r!   )	r   r0   r   r   _valuer:   r;   rt   r   )r   r'   r3   r   r=   s        r   test_td_mul_scalarz6TestTimedeltaMultiplicationDivision.test_td_mul_scalar  s    q!B1----B1b9999"bff~$$$"bz  BN222$|""dRYY&6666(]]9C0 	*r9T1a()	* ]]9C0 	r2J	 			* 	*	 	s   D 
DDD(c                    t        d      }t        j                  dg      }t        j                  t        d      j                         g      }||z  }t	        j
                  ||       ||z  }t	        j
                  ||       y )Nrx   rp   r   r   r   s        r   test_td_mul_numeric_ndarrayz?TestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray  sl    w!88Yx0??ABCe
##FH5
##FH5r   c                    t        d      }t        j                  dt        j                        }|j                  dk(  sJ t        d      }||z  }t        |      t         u sJ ||k(  sJ ||z  }t        |      t         u sJ ||k(  sJ y )Nrx   rp   r   r   2 days)r   r0   rz   rr   ndimtype)r   r3   ru   rW   r   s        r   test_td_mul_numeric_ndarray_0dzBTestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray_0d  s    w"((+zzQX&5jCyI%%%hbjCyI%%%hr   c                    t        d      }t        j                  t        d      j                         g      }dt        j
                   dt        j
                   d}t        j                  t        |      5  ||z   d d d        t        j                  t        |      5  ||z   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nrx   r   z:ufunc '?multiply'? cannot use operands with types dtype\('zm8\[ns\]'\) and dtype\('zm8\[ns\]'\)r6   )	r   r0   rz   r^   r   ENDIANr:   r;   rt   r|   s       r    test_td_mul_td64_ndarray_invalidzDTestTimedeltaMultiplicationDivision.test_td_mul_td64_ndarray_invalid  s    w)H-<<>?@		{":299+[R 	 ]]9C0 	J	]]9C0 	BJ	 		 		 	s   9B1"B=1B:=Cc                     t        dd      }|t        j                  d      z  }|dk(  sJ ||z  dk(  sJ |t        j                  dd      z  dk(  sJ t        j
                  |t        z        sJ y )	Nr   r)   r   r!      <   rl   r   )r   r	   rR   r0   rL   isnanr   rc   s      r    test_td_div_timedeltalike_scalarzDTestTimedeltaMultiplicationDivision.test_td_div_timedeltalike_scalar  sp    r$gll1o%}}Bw!||BNN2s++q000xxS!!!r   c                    t        d      }|t        j                  dd      z  }||j                  dz  k(  sJ |t        j                  dd      z  }||j                  dz  k(  sJ |t        j                  dd      z  }||j                  k(  sJ t        d      }|t        j                  dd      z  }|dk(  sJ |t        j                  dd      z  }|dk(  sJ |t        j                  dd      z  }||j                  k(  sJ y )	Nz1 days 2 hours 3 nsr!   r$   l     "R: r    ʚ;r   im )r   r0   rL   r   rc   s      r   test_td_div_td64_non_nanoz=TestTimedeltaMultiplicationDivision.test_td_div_td64_non_nano  s   ,-bnnQ,,m4444bnnQ,,U****bnnQ--""" ,-r~~a--{{r~~a--r~~a.."""r   c                     t        dd      }|dz  }t        |t               sJ |t        d      k(  sJ |dz  }t        |t               sJ |t        d      k(  sJ y )Nr   r)   r   rp      r8   rA   rc   s      r   test_td_div_numeric_scalarz>TestTimedeltaMultiplicationDivision.test_td_div_numeric_scalar  sf    r$a&),,,****a&),,,****r   c                 Z    t        dd      }||z  }|t        u sJ ||z  }|t        u sJ y ra   rb   )r   r   r3   r   s       r   test_td_div_nanz3TestTimedeltaMultiplicationDivision.test_td_div_nan  s:     r$c}}s}}r   c                    t        d      }t        j                  t        d      j                         g      }t        j                  dg      }||z  }t	        j
                  ||       ||z  }t	        j
                  ||dz         y )Nrx   r   g      ?r   r   r   s        r   test_td_div_td64_ndarrayz<TestTimedeltaMultiplicationDivision.test_td_div_td64_ndarray  sp    w)H-<<>?@88SE?e
##FH5
##FHqL9r   c                     t        d      }t        j                  d      }||z  }t        |t               sJ ||k(  sJ y )Nrx   r!   )r   r0   rz   r/   )r   r3   ru   r   s       r   test_td_div_ndarray_0dz:TestTimedeltaMultiplicationDivision.test_td_div_ndarray_0d	  s>    w5j#y)))byyr   c                     t        dd      }t        j                  d      |z  }|dk(  sJ t        j                  dd      |z  dk(  sJ y )	Nr   r)   r   r!   gq?r   rl   g      ?)r   r	   rR   r0   rL   rc   s      r   !test_td_rdiv_timedeltalike_scalarzETestTimedeltaMultiplicationDivision.test_td_rdiv_timedeltalike_scalar  sL    r$a2%"""~~b#&+t333r   c                    t        dd      }t        |z  }t        j                  |      sJ d |z  }t        j                  |      sJ t        j                  d      |z  }t        j                  |      sJ d}t        j                  t        |      5  t        j                  d      |z   d d d        d}t        j                  t        |      5  t        j                  |z   d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)Nr   r)   r   r   zGunsupported operand type\(s\) for /: 'numpy.datetime64' and 'Timedelta'r6   <unsupported operand type\(s\) for /: 'float' and 'Timedelta')
r   r   r0   r   rL   r:   r;   rt   r1   r   )r   r3   r   r=   s       r   test_td_rdiv_na_scalarz:TestTimedeltaMultiplicationDivision.test_td_rdiv_na_scalar  s    r$rxxxx&+xxX]]9C0 	&MM% 2%	& N]]9C0 	FFRK	 			& 	&	 	s   C1C=1C:=Dc                    t        dd      }t        j                  |gt              }||z  }t        j                  dgt        j                        }t        j                  ||       t        j                  d g      }||z  }t        j                  t        j                  g      }t        j                  ||       t        j                  t        j                  gt              }d}t        j                  t        |      5  ||z   d d d        t        j                  t        j                  gt        j                        }d}t        j                  t        |      5  ||z   d d d        y # 1 sw Y   ixY w# 1 sw Y   y xY w)	Nr   r)   r   r   r!   r   r6   z$cannot use operands with types dtype)r   r0   rz   objectrs   r   r   r   r:   r;   rt   )r   r3   r   r   rW   r=   s         r   test_td_rdiv_ndarrayz8TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray1  s!   r$hht6*r88QCrzz2
##FH5hhvr88RVVH%
##FH5hhxv.M]]9C0 	"H	 hhxrzz24]]9C0 	"H	 		 	
	 	s   E5&F5E>F
c                 p    t        dd      }t        j                  |j                        }||z  dk(  sJ y )Nr   r)   r   r!   )r   r0   rz   r   )r   r3   r   s      r   test_td_rdiv_ndarray_0dz;TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray_0dH  s0    r$hhrwwRx1}}r   c                     t        dd      }t        dd      }||z  dk(  sJ | |j                         z  dk(  sJ d|z  |j                         z  dk(  sJ y )Nr   r   rP   r   r!   rp   )r   rZ   r^   r   r3   scalars      r   %test_td_floordiv_timedeltalike_scalarzITestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_scalarR  sj    Q*A.V|q   sf++--333B60022a777r   c                     t        dd      }|t        j                  z  t        u sJ t        j                  |t        z        sJ t        j                  |t        j
                  d      z        sJ y )Nr   r   r   r   )r   r0   r   r   r   rL   r   r3   s     r   test_td_floordiv_null_scalarz@TestTimedeltaMultiplicationDivision.test_td_floordiv_null_scalar[  sZ    Q*RVV|s"""xxc	"""xxbnnU33444r   c                     t        dd      }|t        j                  d      z  dk(  sJ |t        j                  d      z  dk(  sJ y )Nr   r   r   r!   rp   \   )r   r	   rR   Minuter   s     r   test_td_floordiv_offsetsz<TestTimedeltaMultiplicationDivision.test_td_floordiv_offsetsc  sE    Q*W\\!_$)))W^^A&&",,,r   c                     t        dd      }dj                  g d      }t        j                  t        |      5  |t        j                  dd	      z   d d d        y # 1 sw Y   y xY w)
Nr   r   r   ry   )z.Invalid dtype datetime64\[D\] for __floordiv__z8'dtype' is an invalid keyword argument for this functionz8this function got an unexpected keyword argument 'dtype'z5ufunc '?floor_divide'? cannot use operands with typesr6   
2016-01-01zdatetime64[us]r   )r   r{   r:   r;   rt   r0   r1   r   r3   r=   s      r   test_td_floordiv_invalid_scalarzCTestTimedeltaMultiplicationDivision.test_td_floordiv_invalid_scalari  s^    Q*hh
 ]]9C0 	F"--4DEE	F 	F 	Fs   A  A)c                    t        dd      }t        dd      }|dz  |k(  sJ |dz  |k(  sJ |t        j                  d      z  |k(  sJ |t        j                  d      z  |k(  sJ |t        j                  d      z  |k(  sJ y )Nr   r   r   r!       rp   rq   )r   r0   rs   int32uint8)r   r3   rW   s      r   test_td_floordiv_numeric_scalarzCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_scalarx  s    Q*1b1Qw("""SyH$$$RZZ_$000RXXc]"h...RXXc]"h...r   c                 L   t        dd      }t        dd      }|t        j                  |j                               z  dk(  sJ d|z  t        j                  |j                         g      z  }t        j                  dgt        j                        }t        j                  ||       d|z  t        j                  |j                         t        j                  d      g      z  }t        j                  dt        j                  g      }t        j                  ||       y )Nr   r   r   r!   r   r   r   )	r   r0   rz   r^   rr   r   r   rL   r   )r   r3   r   r   rW   s        r   $test_td_floordiv_timedeltalike_arrayzHTestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_array  s    Q*A. RXXf33566!;;;2v"((F$9$9$;#<==88QCrxx0
##C2Bw288V%:%:%<bnnU>S$TUU88RL)
##C2r   c                     t        dd      }t        j                  dgt        j                        }||z  }|j
                  j                  dk(  sJ y )Nr   r   r   r!   r   m)r   pdSeriesr0   rr   r   kind)r   r3   serr   s       r   test_td_floordiv_numeric_serieszCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_series  sC    Q*ii288,Ciyy~~$$$r   c                     t        dd      }t        dd      }|j                  |      dk(  sJ | j                  |j                               dk(  sJ d|z  j                  |j                               dk(  sJ y )Nr   r   r   r!   r   rp   r   )r   __rfloordiv__rZ   r^   r   s      r   &test_td_rfloordiv_timedeltalike_scalarzJTestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_scalar  s    Q*A. '1,,,""6#8#8#:;rAAAB%%f&;&;&=>!CCCr   c                     t        dd      }t        j                  |j                  t                    sJ t        j                  |j                  t        j
                  d                  sJ y )Nr   r   r   )r   r0   r   r  r   rL   r   s     r   test_td_rfloordiv_null_scalarzATestTimedeltaMultiplicationDivision.test_td_rfloordiv_null_scalar  sQ    Q*xx((-...xx(()>?@@@r   c                 R    t        j                  d      t        d      z  dk(  sJ y )Nr!      r   rp   )r	   rR   r   r   s    r   test_td_rfloordiv_offsetsz=TestTimedeltaMultiplicationDivision.test_td_rfloordiv_offsets  s"    ||A)B"771<<<r   c                     t        dd      }t        j                  dd      }|j                  |      t        u sJ d}t        j                  t        |      5  ||z   d d d        y # 1 sw Y   y xY w)Nr   r   r   uszHunsupported operand type\(s\) for //: 'numpy.datetime64' and 'Timedelta'r6   )r   r0   r1   r  NotImplementedr:   r;   rt   )r   r3   dt64r=   s       r    test_td_rfloordiv_invalid_scalarzDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_invalid_scalar  sn    Q*}}\40%777 X 	 ]]9C0 	BJ	 	 	s   A))A2c                    t        dd      }|j                  t        j                        t        u sJ |j                  d      t        u sJ |j                  d      t        u sJ |j                  t        j
                  d            t        u sJ |j                  t        j                  d            t        u sJ |j                  t        j                  d            t        u sJ d}t        j                  t        |      5  t        j
                  d      |z   d d d        t        j                  t        |      5  t        j                  d      |z   d d d        t        j                  t        |      5  t        j                  d      |z   d d d        y # 1 sw Y   xY w# 1 sw Y   RxY w# 1 sw Y   y xY w)	Nr   r   g      @rp   rq   rD   z9unsupported operand type\(s\) for //: '.*' and 'Timedeltar6   )r   r  r0   r   r  rs   r   r   r:   r;   rt   r   s      r    test_td_rfloordiv_numeric_scalarzDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_scalar  sc   Q*'>999$666"n444

30NBBB,>>>..@@@J]]9C0 	"JJsOr!	"]]9C0 	HHQK2	]]9C0 	 HHSMR	  	 		" 	"	 		  	 s$   F"F. F:"F+.F7:Gc                    t        dd      }t        dd      }|j                  t        j                  |j	                                     dk(  sJ |j                  t        j                  d|z  j	                         g            }t        j                  dgt        j
                        }t        j                  ||       t        j                  d|z  j	                         t        j                  d      g      }|j                  |      }t        j                  dt        j                  g      }t        j                  ||       y )Nr   r   r   r!   r   r   r   )
r   r  r0   rz   r^   rr   r   r   rL   r   )r   r3   r   r   rW   r   s         r   %test_td_rfloordiv_timedeltalike_arrayzITestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_array  s    Q*A. )>)>)@ ABaGGGrxx!f*)D)D)F(GHI88QCrxx0
##C2hhf446u8MNOs#88RL)
##C2r   c                     t        j                  g d      dz  }d}t        j                  t        |      5  |t        dd      z   d d d        y # 1 sw Y   y xY w)N)irPi isPitPi vPr   Invalid dtyper6   r!   r   r   )r0   rz   r:   r;   rt   r   )r   intsr=   s      r   test_td_rfloordiv_intarrayz>TestTimedeltaMultiplicationDivision.test_td_rfloordiv_intarray  sM    xxHIEQ]]9C0 	+Iac**	+ 	+ 	+s   AAc                    t        dd      }t        j                  dgt        j                        }|j                  |      }|t        u sJ d}t        j                  t        |      5  ||z   d d d        y # 1 sw Y   y xY w)Nr   r   r!   r   r  r6   )
r   r  r  r0   rr   r  r  r:   r;   rt   )r   r3   r	  r   r=   s        r    test_td_rfloordiv_numeric_serieszDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_series  sq    Q*ii288,s#n$$$]]9C0 	2I	 	 	s   ,A;;Bc                    t        d      }|t        d      z  }t        |t               sJ |t        d      k(  sJ |t        d      z  }t        |t               sJ |t        d      k(  sJ |t        z  }|t        u sJ y )N%   rP   rJ   r!   r   r   r   )r   r/   r   r   rc   s      r   test_mod_timedeltalikez:TestTimedeltaMultiplicationDivision.test_mod_timedeltalike  s    R  ia((&),,,++++i++&),,,1%%%c}}r   c                 b    t        d      }|t        j                  dd      z  }|t        u sJ y )Nr$  r%  r   r   rg   rc   s      r   test_mod_timedelta64_natz<TestTimedeltaMultiplicationDivision.test_mod_timedelta64_nat  s-    R bnnUD11}}r   c                     t        d      }|t        j                  dd      z  }t        |t               sJ |t        d      k(  sJ y )Nr$  r%  rp   rl   r!   rK   rc   s      r   test_mod_timedelta64z8TestTimedeltaMultiplicationDivision.test_mod_timedelta64  sD    R bnnQ,,&),,,++++r   c                     t        d      }|t        j                  d      z  }t        |t               sJ |t        d      k(  sJ y )Nr$  r%  r   rp   rQ   rc   s      r   test_mod_offsetz3TestTimedeltaMultiplicationDivision.test_mod_offset   sA    R gll1o%&),,,++++r   c                     t        d      }|dz  }t        |t               sJ |t        d      k(  sJ |dz  }t        |t               sJ |t        dd      k(  sJ |t        d      z  }t        |t               sJ |t        dd      k(  sJ y )	Nr$  r%  rp   r   g   mBr   r@   r   )r   r/   intrc   s      r   test_mod_numericz4TestTimedeltaMultiplicationDivision.test_mod_numeric(  s    R  a&),,,1%%%d&),,,1b9999c$i&),,,1b9999r   c                    t        d      }d}t        j                  t        |      5  |t	        d      z   d d d        t        j                  t        |      5  |g z   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nr$  r%  ro   r6   r,   )r   r:   r;   rt   r   r   s      r   test_mod_invalidz4TestTimedeltaMultiplicationDivision.test_mod_invalid9  sr    R (]]9C0 	)<((	) ]]9C0 	G	 		) 	)	 	s   A+A7+A47B c                     t        d      }t        d      |z  }t        |t               sJ |t        d      k(  sJ y )Nr   r   r   r!   rF   rc   s      r   test_rmod_pytimedeltaz9TestTimedeltaMultiplicationDivision.test_rmod_pytimedeltaC  s>    q!1%*&),,,1----r   c                     t        d      }t        j                  dd      |z  }t        |t               sJ |t        d      k(  sJ y )Nr   r   r   r  rp   rK   rc   s      r   test_rmod_timedelta64z9TestTimedeltaMultiplicationDivision.test_rmod_timedelta64K  sD    q!3'",&),,,1----r   c                    t        d      }d}t        j                  t        |      5  t	        d      |z   d d d        t        j                  t        |      5  d|z   d d d        t        j                  t        |      5  d|z   d d d        d}t        j                  t        |      5  t        j                  d	d
g      |z   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   bxY w# 1 sw Y   y xY w)Nr   r   zunsupported operandr6   r,            0@Invalid dtype int      )r   r:   r;   rt   r   r0   rz   r   s      r   test_rmod_invalidz5TestTimedeltaMultiplicationDivision.test_rmod_invalidR  s    q!#]]9C0 	)l#b(	) ]]9C0 	G	 ]]9C0 	2I	 "]]9C0 	$HHb"X#	$ 	$	) 	)	 		 		$ 	$s/   CC C,0C8C C),C58Dc                 "   t        dd      }t        |d      }|d   t        dd      k(  sJ t        |d   t               sJ |d   t        d	      k(  sJ |sJ t        |t        j                        }|d   t
        u sJ |d   t
        u sJ y )
Nrp   rJ   rO   g  $Br   r!   r   r   r%  )r   divmodr/   r0   r   r   rc   s      r   test_divmod_numericz7TestTimedeltaMultiplicationDivision.test_divmod_numericg  s    AQ'O,ayIad3333&)Y///ayIA....vBFF#ayCayCr   c                    t        dd      }t        |t        d            }|d   dk(  sJ t        |d   t               sJ |d   t        d      k(  sJ t        |d      }|d   t        d      k(  sJ t        |d   t               sJ |d   t        d      k(  sJ t        |t              }t        j                  |d         sJ |d   t        u sJ y )	Nrp   rJ   rO   r!   r8   r   r%  6   )r   r>  r   r/   r   r0   r   rc   s      r   test_divmodz/TestTimedeltaMultiplicationDivision.test_divmodu  s    AQ'I1-.ayA~~&)Y///ayIA....BayIA....&)Y///ayIaL(((Cxxq	"""ayCr   c                     t        dd      }t        |t        j                  d            }|d   dk(  sJ t	        |d   t               sJ |d   t        d	      k(  sJ y )
Nrp   rJ   rO   rI   r   r!   r   r%  )r   r>  r	   rR   r/   rc   s      r   test_divmod_offsetz6TestTimedeltaMultiplicationDivision.test_divmod_offset  s`    AQ'GLL,-ayC&)Y///ayIB////r   c                     t        dd      }d}t        j                  t        |      5  t	        |t        d             d d d        y # 1 sw Y   y xY w)Nrp   rJ   rO   zAunsupported operand type\(s\) for //: 'Timedelta' and 'Timestamp'r6   r,   )r   r:   r;   rt   r>  r   r   s      r   test_divmod_invalidz7TestTimedeltaMultiplicationDivision.test_divmod_invalid  sE    AQ'R]]9C0 	02y./	0 	0 	0s   A

Ac                     t        t        dd      t        d            }|d   dk(  sJ t        |d   t              sJ |d   t        d      k(  sJ y )Nrp   rJ   rO   r!   r8   r   r%  )r>  r   r   r/   r   s     r   test_rdivmod_pytimedeltaz<TestTimedeltaMultiplicationDivision.test_rdivmod_pytimedelta  sU    	q2I14EFayA~~&)Y///ayIA....r   c                     t        t        j                  d      t        d            }|d   dk(  sJ t	        |d   t              sJ |d   t        d      k(  sJ y )NrA  rI   r%  r   rD  r!   r   )r>  r	   rR   r   r/   r   s     r   test_rdivmod_offsetz7TestTimedeltaMultiplicationDivision.test_rdivmod_offset  sY    R()"*=>ayC&)Y///ayIB////r   c                 @   t        d      }d}t        j                  t        |      5  t	        t        d      |       d d d        t        j                  t        |      5  t	        d|       d d d        t        j                  t        |      5  t	        d|       d d d        d}t        j                  t        |      5  t	        t        j                  d	d
g      |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   y xY w)Nr   r   ro   r6   r,   r7  r8  r9  r:  r;  )r   r:   r;   rt   r>  r   r0   rz   r   s      r   test_rdivmod_invalidz8TestTimedeltaMultiplicationDivision.test_rdivmod_invalid  s    q!(]]9C0 	09\*B/	0 ]]9C0 	2rN	 ]]9C0 	4	 "]]9C0 	+288RH%r*	+ 	+	0 	0	 		 		+ 	+s/   C0#C<D"D0C9<DDDr   r   r   r   r   c                     d}t        j                  t        |      5   ||t        d             d d d        y # 1 sw Y   y xY w)Nz7unsupported operand type|cannot use operands with typesr6   r   )r:   r;   rt   r   )r   r'   r   r=   s       r   (test_td_op_timedelta_timedeltalike_arrayzLTestTimedeltaMultiplicationDivision.test_td_op_timedelta_timedeltalike_array  s;     H]]9C0 	%sIdO$	% 	% 	%s	   :AN)Gr   r   r   r   r:   r   r   r   r0   rL   r-   mulr
   rmulr   r   rs   floatr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r  r  r  r  r   r"  r&  r(  r*  r,  r/  r1  r3  r5  r<  r?  rB  rE  rG  rI  rK  rM  truedivrdivrsubrz   r   r   rO  r   r   r   r   r   W  s   	 [[3ud3^R^^E5JK [[THLL#((#;< = [[URVVZRZZ->e$MN[[THLL#((#;< = O [[THLL#((#;< =0	6 
"#&
+ [[FFBJJu%L	

:4*.85-F	/3 %DA= (3"+
 ,,:"..$*  $00/0+( [[x||SXXx'7'7388L [[BHHi0)O2LMNBHHi 56	$HI	
%%r   r   c                       e Zd Zej                  j
                  d        Zd Zd Zd Z	d Z
d Zd Zej                  j                  dd	d
g      d        Zy)TestTimedeltaComparisonc                 `   dD ]Q  }t         j                  j                  |      j                  }t         j                  j                  |      j                  }|t        j                  k  sJ |t        j                  k  sJ |t        j                  kD  rJ |t        j                  k\  rJ |t        j                  k7  sJ |t        j                  k(  rJ |t        j                  kD  sJ |t        j                  k\  sJ |t        j                  k  rJ |t        j                  k  rJ |t        j                  k7  sJ |t        j                  k(  sRJ  dD ]Q  }t         j                  j                  |      j                  }t         j                  j                  |      j                  }|t        j                  kD  sJ |t        j                  k\  sJ |t        j                  k  rJ |t        j                  k  rJ |t        j                  k7  sJ |t        j                  k(  rJ |t        j                  k  sJ |t        j                  k  sJ |t        j                  kD  rJ |t        j                  k\  rJ |t        j                  k7  sJ |t        j                  k(  sRJ  y )N)r   r  )msr   )r   maxr9   minr   )r   r   tdmaxtdmins       r   test_compare_pytimedelta_boundsz7TestTimedeltaComparison.test_compare_pytimedelta_bounds  s<    ! 	.DMM))$/33EMM))$/33E9==(((IMM)))y}},,,	---IMM)))	---9==(((IMM)))y}},,,	---IMM)))	---!	.&   	.DMM))$/33EMM))$/33E9==(((IMM)))y}},,,	---IMM)))	---9==(((IMM)))y}},,,	---IMM)))	---!	.r   c                    t        dd      }t        j                  |j                  d      t        j                  |j                  d      z   }t        |      }|j                  |j                  k(  sJ |j                  |j                  k(  sJ ||k(  sJ ||k7  rJ ||k  rJ ||kD  rJ ||k  sJ ||k\  sJ |t        d      j                  d      z
  }||k7  sJ ||k(  rJ ||k  sJ ||k  sJ ||kD  rJ ||k\  rJ y )Niɚ;iQ r"   r$   r   r!   r   )r   r0   rL   r#   r   r   r9   )r   pytdtd64r3   td2s        r    test_compare_pytimedelta_bounds2z8TestTimedeltaComparison.test_compare_pytimedelta_bounds2  s   i7~~dii-t||S0QQt_ww$))###zzT\\)))Tzz:~9}9}TzzTzz9Q'//44d{{$;Tzzd{{:~$;;r   c                     |} |d      }|j                   }t        |t              sJ ||k(  sJ ||k7  rJ ||k  sJ ||k\  sJ ||k  rJ ||kD  rJ |d|z  k(  rJ |d|z  k7  sJ |d|z  k  sJ |d|z  k  sJ |d|z  k\  rJ |d|z  kD  rJ y )Nr   rp   )_as_pd_timedeltar/   r   )r   tick_classesclsoffr3   s        r   test_compare_tickz)TestTimedeltaComparison.test_compare_tick  s    !f!!"i(((Syy9}SyySyy8|8|S=  QW}}QW}}AG||S=  C<<r   c                    t        d      }t        d      }t        j                  ||gt              }||k(  }t        j                  ddgt              }||k(  j                         sJ t        j                  ||g||ggt              }||k7  }t        j                  ddgddggt              }|j                  |j                  k(  sJ ||k(  j                         sJ y )Nr   z3 hoursr   FT)r   r0   rz   r   boolallshape)r   r3   ru   r   r   rW   s         r   test_comparison_object_arrayz4TestTimedeltaComparison.test_comparison_object_array   s    x )$hhr{&1Ri88UDM6x$$&&& hhb%[1@Ri88dE]UDM:$GyyHNN***x$$&&&r   c                     t        d      t        d      g}t        j                  |      }|d   |kD  }t        j                  ddg      }t        j                  ||       y )Nz0 days 01:00:00r   Fr   )r   periodsr   r   rW   s        r   test_compare_timedelta_ndarrayz6TestTimedeltaComparison.test_compare_timedelta_ndarray1  sU    ./;L1MNhhwQ#88UEN+
##FH5r   c                 ~   t        j                  d      j                  d      }t        |d         }t        j                  g dt
              }||k(  }t        j                  ||       ||k(  }t        j                  ||       ||k7  }t        j                  ||        ||k7  }t        j                  ||        y )Nr   ztimedelta64[ns]r!   )FTFFFr   )r0   arangeastyper   rz   rk  r   r   )r   r   r3   rW   r   s        r   test_compare_td64_ndarrayz1TestTimedeltaComparison.test_compare_td64_ndarray9  s    iil!!"34s1v88>dKs
##FH5
##FH5s
##FXI6
##FXI6r   c                      G d d      }t        d      }|dk7  sJ |dk7  sJ | |       k7  sJ | |d      k7  sJ | |d      k  sJ | |d      k  rJ | |d      k(  sJ y	)
z
        Make sure non supported operations on Timedelta returns NonImplemented
        and yields to other operand (GH#20829).
        c                   (    e Zd ZdddZd Zd Zd Zy)GTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClassNc                     || _         y N
cmp_result)r   r|  s     r   __init__zPTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__init__S  s	    ",r   c                 >    | j                   t        S | j                   S rz  )r|  r  r  s    r   generic_resultzVTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.generic_resultV  s    ??*))??*r   c                 "    | j                         S rz  r  r   ru   s     r   __eq__zNTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__eq__\      **,,r   c                 "    | j                         S rz  r  r  s     r   __gt__zNTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__gt___  r  r   rz  )returnN)r   r   r   r}  r  r  r  r   r   r   CustomClassrx  R  s    -+--r   r  1sstringr!   Fr{  TN)r   )r   r  ts      r   test_compare_custom_objectz2TestTimedeltaComparison.test_compare_custom_objectL  s    	- 	-  dOH}}AvvKM!!!K51111;$////{e4444K40000r   valr  r!   c                    t        d      }d}t        j                  t        |      5  ||k\   d d d        t        j                  t        |      5  ||kD   d d d        t        j                  t        |      5  ||k   d d d        t        j                  t        |      5  ||k   d d d        y # 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   KxY w# 1 sw Y   y xY w)Nr  z>not supported between instances of 'Timedelta' and '(int|str)'r6   )r   r:   r;   rt   )r   r  r  r=   s       r   test_compare_unknown_typez1TestTimedeltaComparison.test_compare_unknown_typen  s     dON]]9C0 	H	]]9C0 	G	]]9C0 	H	]]9C0 	G	 		 		 		 		 	s/   B3B?;C$C3B<?CCC N)r   r   r   r:   r   
skip_ubsanr^  rc  ri  rn  rq  ru  r  r   r  r   r   r   rW  rW    sg    [[&. &.P0 *'"67& 1D [[UXqM2 3r   rW  c                  6    G d d      }  |        }t        d      }|j                  |      t        u sJ |j                  |      t        u sJ |j	                  |      t        u sJ |j                  |      t        u sJ |j                  |      t        u sJ y )Nc                       e Zd Zy)&test_ops_notimplemented.<locals>.OtherN)r   r   r   r   r   r   Otherr  ~  s    r   r  rx   )r   __add__r  __sub____truediv____mul____floordiv__)r  ru   r3   s      r   test_ops_notimplementedr  }  s      GE	7	B::e...::e...>>% N222::e...??5!^333r   c                  T   t        d      } | dfd| ffD ]z  \  }}dj                  g d      }t        j                  t        |      5  ||z    d d d        d}t        j                  t        |      5  ||kD   d d d        ||k(  rJ ||k7  rzJ  y # 1 sw Y   ExY w# 1 sw Y   &xY w)Nrx   ary   )ro   z3can only concatenate str \(not "Timedelta"\) to strzmust be str, not Timedeltar6   z"not supported between instances ofr   )r3   leftrightr=   s       r   test_ops_error_strr    s    	7	BS	C9- ehh
 ]]9C0 	5L	 3]]9C0 	5L	 5=  u}}!	 		 	s   B3BB	B'	)r   r   r   r-   numpyr0   r:   pandas.errorsr   pandasr  r   r   r   r	   pandas._testing_testingr   pandas.corer
   r   r   rW  r  r  r   r   r   <module>r     sc       .    z  z z	o	% o	%dq qh4r   