
    Mh                         S r SSKJrJr  SSKrSSKrSSKrSSKJr  SSK	r
SSK	JrJrJrJr  SSKJr  SSKJr   " S S5      r " S	 S
5      r " S S5      rS rS rg)z+
Tests for scalar Timedelta arithmetic ops
    )datetime	timedeltaN)OutOfBoundsTimedelta)NaT	Timedelta	Timestampoffsets)opsc                   P   \ rS rSrSr\R                  R                  S\" SSS9\	" SS9\
R                  " SS5      \
R                  " SS	5      \R                  " S5      /5      S
 5       r\R                  R                  S\" S5      \" S5      \	" SSS9\
R                  " SS5      \
R                  " SS5      -   \R                  " 5       \R                  " S5      -   /5      S 5       r\R                  R                  S\R$                  \R(                  /5      S 5       rS r\R                  R                  S\R$                  \R(                  /5      S 5       r\R                  R                  S\R$                  \R(                  /5      S 5       r\R                  R                  S\R$                  \R(                  /5      S 5       r\R                  R                  S\R$                  \R(                  /5      S 5       rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'\R                  R                  S\R$                  \R(                  /5      S& 5       r(\R                  R                  S\R$                  \R(                  /5      S' 5       r)S( r*S) r+S* r,S+r-g,)- TestTimedeltaAdditionSubtraction   zL
Tests for Timedelta methods:

    __add__, __radd__,
    __sub__, __rsub__
ten_seconds
   sunitsecondsl    d(	 nsc                 r    [        S5      n[        S5      n[        S5      nX!-   nXS:X  d   eX!-
  nXT:X  d   eg )Nz20130101 09:01:12.123456z20130101 09:01:22.12345620130101 09:01:02.123456r   )selfr   baseexpected_addexpected_subresults         _/var/www/html/env/lib/python3.13/site-packages/pandas/tests/scalar/timedelta/test_arithmetic.pytest_td_add_sub_ten_seconds<TestTimedeltaAdditionSubtraction.test_td_add_sub_ten_seconds"   sM     34 !;< !;<#%%%#%%%    one_day_ten_secsz1 day, 00:00:10z1 days, 00:00:10   daysr   Dc                 r    [        S5      n[        S5      n[        S5      nX!-   nXS:X  d   eX!-
  nXT:X  d   eg )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_secondsDTestTimedeltaAdditionSubtraction.test_td_add_sub_one_day_ten_seconds8   sM     34 !;< !;<(%%%(%%%r!   opc                    [        SSS9nU" U[        SSS5      5      nU[        R                  L a  [	        U[
        5      (       d   eU[        SSS5      :X  d   eU" U[        S5      5      n[	        U[
        5      (       d   eU[        S5      :X  d   eU" U[        R                  " S	5      5      n[	        U[
        5      (       d   eU[        S
5      :X  d   eU" U[        5      nU[        L d   eg )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_scalar@TestTimedeltaAdditionSubtraction.test_td_add_datetimelike_scalarN   s     r$Bq!,- fi0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                 >   [        S5      R                  S5      nSn[        R                  " [        US9   U[        SSS9-     S S S 5        Sn[        R                  " [        US9   U[        SS	9-     S S S 5        g ! , (       d  f       N?= f! , (       d  f       g = f)
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_overflow?TestTimedeltaAdditionSubtraction.test_td_add_timestamp_overflowe   s}    |$,,T2C]]/s;:C00 < O]]/s;
++ <;	 <; <;s   A='B=
B
Bc                     [        SSS9nU" U[        SS95      n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r,   r   r<      r   r2   r5   s       r   test_td_add_td/TestTimedeltaAdditionSubtraction.test_td_add_tdo   sE    r$B	r*+&),,,,++++r!   c                     [        SSS9nU" U[        SS95      n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r,   r   	   r<      r   r   r2   r5   s       r   test_td_add_pytimedelta8TestTimedeltaAdditionSubtraction.test_td_add_pytimedeltaw   sE    r$B	q)*&),,,,++++r!   c                     [        SSS9nU" U[        R                  " SS5      5      n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r,   r   r&      r<   r   r3   timedelta64r2   r5   s       r   test_td_add_timedelta648TestTimedeltaAdditionSubtraction.test_td_add_timedelta64~   sK    r$Br3/0&),,,,****r!   c                     [        SSS9nU" U[        R                  " S5      5      n[        U[         5      (       d   eU[        SSS9:X  d   eg )Nr   r,   r   rQ   r%   hoursr   r	   Hourr2   r5   s       r   test_td_add_offset3TestTimedeltaAdditionSubtraction.test_td_add_offset   sJ    r$BQ(&),,,,!4444r!   c                 p    [        SSS9n[        SSS9nX-
  n[        U[         5      (       d   eX2:X  d   eg Nr   r,   r   r   r   rF   r   r6   expectedr   s       r   test_td_sub_td/TestTimedeltaAdditionSubtraction.test_td_sub_td   s@    r$QT*&),,,,!!!r!   c                     [        SSS9n[        SSS9nXR                  5       -
  n[        U[         5      (       d   eX2:X  d   eUR                  5       U-
  n[        U[         5      (       d   eX2:X  d   eg r^   )r   to_pytimedeltar2   r_   s       r   test_td_sub_pytimedelta8TestTimedeltaAdditionSubtraction.test_td_sub_pytimedelta   |    r$QT*''))&),,,,!!!""$r)&),,,,!!!r!   c                     [        SSS9n[        SSS9nXR                  5       -
  n[        U[         5      (       d   eX2:X  d   eUR                  5       U-
  n[        U[         5      (       d   eX2:X  d   eg r^   )r   to_timedelta64r2   r_   s       r   test_td_sub_timedelta648TestTimedeltaAdditionSubtraction.test_td_sub_timedelta64   rg   r!   c                 @    [        SSS9nU[        -
  nU[        L d   eg Nr   r,   r   r   r   r   r6   r   s      r   test_td_sub_nat0TestTimedeltaAdditionSubtraction.test_td_sub_nat   s#    r$c}}r!   c                     [        SSS9n[        R                  " S5      nX-
  nU[        L d   eX!-
  nU[        L d   eg Nr   r,   r   r   r   r3   rS   r   )r   r6   td_natr   s       r   test_td_sub_td64_nat5TestTimedeltaAdditionSubtraction.test_td_sub_td64_nat   sB    r$&}}}}r!   c                     [        SSS9nU[        R                  " S5      -
  n[        U[         5      (       d   eU[        SSS9:X  d   eg )Nr   r,   r   r#      hrY   ro   s      r   test_td_sub_offset3TestTimedeltaAdditionSubtraction.test_td_sub_offset   sH    r$gll1o%&),,,,3S1111r!   c                 @   [        SSS9nSnSS[        R                  " S5      [        R                  " S5      4 H  n[        R
                  " [        US9   X-     S S S 5        [        R
                  " [        US9   X1-     S S S 5        [        R
                  " [        US9   X-
    S S S 5        [        R
                  " [        US9   X1-
    S S S 5        M     g ! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       N[= f! , (       d  f       M  = f)Nr   r,   r   unsupported operand type          @r:   )r   r3   int64float64r>   r?   	TypeError)r   r6   rA   others       r   test_td_add_sub_numeric_raises?TestTimedeltaAdditionSubtraction.test_td_add_sub_numeric_raises   s    r$(bhhqk2::a=9Ey4
 5y4
 5y4
 5y4
 54 :44444444s0   C=C,#C=	D
C)	,
C:	=
D	
D	c                 ^   [        S5      n[        R                  " S/5      nSn[        R                  " [
        US9   U[        R                  " S/5      -     S S S 5        SR                  SS/5      n[        R                  " [
        US9   X!-     S S S 5        Sn[        R                  " [
        US9   X-
    S S S 5        S	n[        R                  " [
        US9   X!-
    S S S 5        g ! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       NY= f! , (       d  f       g = f)
N1 dayr#   z;unsupported operand type\(s\) for \+: 'Timedelta' and 'int'r:   |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   r3   arrayr>   r?   r   joinr   r6   r   rA   s       r   test_td_add_sub_int_ndarray<TestTimedeltaAdditionSubtraction.test_td_add_sub_int_ndarray   s    w!L]]9C01# 1 hh&
 N

 ]]9C0J 1K]]9C0J 1U]]9C0J 10) 10 10 10 10s/   C+C<5DD+
C9<
D

D
D,c                     [        SSS9n[        U-
  nU[        L d   e[        R                  " S5      U-
  nU[        L d   eg rs   )r   r   r3   r4   ro   s      r   test_td_rsub_nat1TestTimedeltaAdditionSubtraction.test_td_rsub_nat   sB    r$r}}u%*}}r!   c                     [         R                  " S5      [        SSS9-
  n[        U[        5      (       d   eU[        SSS9:X  d   eg )Nr#   r   r,   r   irz   )r	   rZ   r   r2   r   r   s     r   test_td_rsub_offset4TestTimedeltaAdditionSubtraction.test_td_rsub_offset   sC    a9Rc#::&),,,,4c2222r!   c                     [         R                  " [        S5      [        S5      /5      n[         R                  " [        S5      [        S5      /5      nU[        S5      -
  n[        R
                  " X25        g )N20130101 9:0120121230 9:02z20121231 9:01z20121229 9:021Dr3   r   r   r   tmassert_numpy_array_equal)r   arrexpress       r   ,test_td_sub_timedeltalike_object_dtype_arrayMTestTimedeltaAdditionSubtraction.test_td_sub_timedeltalike_object_dtype_array   sX    hh	/2Io4NOPhh	/2Io4NOPIdO#
##C-r!   c                 n   [        S5      n[        R                  " U[        S5      [        R                  " SS5      /5      n[        R                  " U[        S5      -
  [        S5      [        R                  " SS5      [        S5      -
  /5      nU[        S5      -
  n[
        R                  " XC5        g )N2021-11-09 09:54:00r   r   rz   0D)r   r3   r   r   rS   r   r   )r   nowr   r   r   s        r   7test_td_sub_mixed_most_timedeltalike_object_dtype_arrayXTestTimedeltaAdditionSubtraction.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                    [        S5      n[        R                  " U[        S5      [        R                  " SS5      /5      nSn[
        R                  " [        US9   [        S5      U-
    S S S 5        g ! , (       d  f       g = f)Nr   r   r   rz   zAunsupported operand type\(s\) for \-: 'Timedelta' and 'Timestamp'r:   )r   r3   r   r   rS   r>   r?   r   )r   r   r   rA   s       r   8test_td_rsub_mixed_most_timedeltalike_object_dtype_arrayYTestTimedeltaAdditionSubtraction.test_td_rsub_mixed_most_timedeltalike_object_dtype_array  s\    -.hhYt_bnnQ.DEFR]]9C0dOc! 100s   A66
Bc                     [         R                  " [        S5      [        S5      /5      n[         R                  " [        S5      [        S5      /5      nU" U[        S5      5      n[        R
                  " XC5        g )Nr   r   z20130102 9:01z20121231 9:02r   r   )r   r*   r   r   r   s        r   ,test_td_add_timedeltalike_object_dtype_arrayMTestTimedeltaAdditionSubtraction.test_td_add_timedeltalike_object_dtype_array  s\     hh	/2Io4NOPhh	/2Io4NOPio&
##C-r!   c                    [        S5      n[        R                  " U[        S5      /5      n[        R                  " U[        S5      -   [        S5      /5      nU" U[        S5      5      n[        R
                  " XT5        g )Nr   r   2D)r   r3   r   r   r   r   )r   r*   r   r   r   r   s         r   2test_td_add_mixed_timedeltalike_object_dtype_arraySTestTimedeltaAdditionSubtraction.test_td_add_mixed_timedeltalike_object_dtype_array  sd     -.hhYt_-.hhio-y?@io&
##C-r!   c                    [        S5      n[        R                  " UR                  5       /5      n[        R                  " [        S5      R                  5       /5      nX-   n[        R
                  " XC5        X!-   n[        R
                  " XC5        X-
  n[        R
                  " XCS-  5        X!-
  n[        R
                  " XCS-  5        g )Nr   2 Daysr   r   r3   r   ri   r   r   r   r6   r   r`   r   s        r   test_td_add_sub_td64_ndarray=TestTimedeltaAdditionSubtraction.test_td_add_sub_td64_ndarray&  s    w"++-./88Yx0??ABC
##F5
##F5
##FqL9
##FqL9r!   c                 j   [        S5      n[        R                  " S/SS9n[        R                  " S/SS9n[        R                  " X-   U5        [        R                  " X!-   U5        [        R                  " S/SS9n[        R                  " U* U-   U5        [        R                  " X!-
  U5        g )Nr   z
2000-01-01zM8[ns]dtypez
2000-01-02z
1999-12-31r   r3   r   r   r   )r   r6   r   r`   s       r   test_td_add_sub_dt64_ndarray=TestTimedeltaAdditionSubtraction.test_td_add_sub_dt64_ndarray6  s    w,x888\N(;
##BJ9
##EJ988\N(;
##RC%K:
##EJ9r!   c                    [        S5      n[        R                  " UR                  5      nX-   n[	        U[         5      (       d   eUSU-  :X  d   eX!-   n[	        U[         5      (       d   eUSU-  :X  d   eX!-
  n[	        U[         5      (       d   eUSU-  :X  d   eX-
  n[	        U[         5      (       d   eUSU-  :X  d   eg )Nr   r   r   )r   r3   r   asm8r2   )r   r6   r   r   s       r   test_td_add_sub_ndarray_0d;TestTimedeltaAdditionSubtraction.test_td_add_sub_ndarray_0dB  s    w!&),,,,R&),,,,R&),,,,R&),,,,Rr!    N).__name__
__module____qualname____firstlineno____doc__r>   markparametrizer   r   r3   rS   r	   Secondr   Dayr(   r0   r1   r
   raddr7   rB   rG   rM   rT   r[   ra   re   rj   rp   rv   r{   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r!   r   r   r      s    [[bs#b!NN2s#NN;-NN2	
	
&	
& [['(()1b)NN1c"R^^B%<<KKMGNN2..	
	
&	
& [[THLL#((#;< =,, [[THLL#((#;<, =, [[THLL#((#;<, =, [[THLL#((#;<+ =+ [[THLL#((#;<5 =5"
"
"283
.." [[THLL#((#;<. =. [[THLL#((#;<. =.: 
: r!   r   c                   j   \ rS rSrSr\R                  R                  S\\	R                  " SS5      \	R                  " S5      /5      \R                  R                  S\R                  \R                  /5      S 5       5       r\R                  R                  S\	R                   \	R"                  " S	5      \" S5      /5      \R                  R                  S\R                  \R                  /5      S
 5       5       r\R                  R                  S\R                  \R                  /5      S 5       rS rS rS rS rS rS r\R                  R                  S\	R                   \	R"                  " S	5      \" S5      /5      S 5       rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S  r)S! r*S" r+S# r,S$ r-S% r.S& r/S' r0S( r1S) r2S* r3S+ r4S, r5S- r6S. r7S/ r8S0 r9S1 r:S2 r;S3 r<S4 r=S5 r>S6 r?S7 r@\R                  R                  S\R                  \R                  \R                  \R                  \R                  /5      \R                  R                  S8\	R                  " \E" S95      \E" S:5      /5      \	R                  " \E" S;5      \F" S<5      /5      /5      S= 5       5       rGS>rHg?)@#TestTimedeltaMultiplicationDivisioniW  z
Tests for Timedelta methods:

    __mul__, __rmul__,
    __div__, __rdiv__,
    __truediv__, __rtruediv__,
    __floordiv__, __rfloordiv__,
    __mod__, __rmod__,
    __divmod__, __rdivmod__
ru   r   r   r*   c                     [        SSS9nSR                  / SQ5      nSR                  SU SU S3S	/5      n[        R                  " [        US
9   U" X25        S S S 5        g ! , (       d  f       g = f)Nr   r,   r   r   )znumpy.timedelta64NaTTyper   z'unsupported operand type\(s\) for \*: 'z' and ''z1ufunc '?multiply'? cannot use operands with typesr:   r   r   r>   r?   r   )r   r*   ru   r6   typsrA   s         r   test_td_mul_nat3TestTimedeltaMultiplicationDivision.test_td_mul_natf  sj     r$xxEFhh:4&vQOD
 ]]9C0rN 100s   	A##
A1nanNaNc                 >    [        SSS9nU" X25      nU[        L d   eg rm   rn   )r   r*   r   r6   r   s        r   test_td_mul_nan3TestTimedeltaMultiplicationDivision.test_td_mul_nanw  s%     r$B}}r!   c           	      X   [        SS9nU" US5      nU[        SS9:X  d   eU" US5      nU[        SSS9:X  d   eU" U[        R                  5      [        L d   eU" S	U5      R                  S	UR                  -  :X  d   eU" S
U5      R                  S
UR                  -  :X  d   eSn[
        R                  " [        US9   U" U[        SSS5      5        S S S 5        [
        R                  " [        US9   U" X"5        S S S 5        g ! , (       d  f       N9= f! , (       d  f       g = f)N   minutesr   rQ   g      ?      r   r   g      r~   r:   r-   r#   )	r   r3   r   r   _valuer>   r?   r   r   )r   r*   r6   r   rA   s        r   test_td_mul_scalar6TestTimedeltaMultiplicationDivision.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() 1 ]]9C0rJ 10	 10 10s   D
8	D

D
D)c                    [        S5      n[        R                  " S/5      n[        R                  " [        S5      R                  5       /5      nX-  n[        R
                  " XC5        X!-  n[        R
                  " XC5        g )Nr   r   r   r   r   s        r   test_td_mul_numeric_ndarray?TestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray  sd    w!88Yx0??ABC
##F5
##F5r!   c                    [        S5      n[        R                  " S[        R                  S9nUR                  S:X  d   e[        S5      nX-  n[        U5      [         L d   eXC:X  d   eX!-  n[        U5      [         L d   eXC:X  d   eg )Nr   r   r   r   2 days)r   r3   r   r   ndimtype)r   r6   r   r`   r   s        r   test_td_mul_numeric_ndarray_0dBTestTimedeltaMultiplicationDivision.test_td_mul_numeric_ndarray_0d  s    w"((+zzQX&jCyI%%%jCyI%%%r!   c                    [        S5      n[        R                  " [        S5      R                  5       /5      nS[        R
                   S[        R
                   S3n[        R                  " [        US9   X-    S S S 5        [        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)Nr   r   z:ufunc '?multiply'? cannot use operands with types dtype\('zm8\[ns\]'\) and dtype\('zm8\[ns\]'\)r:   )	r   r3   r   ri   r   ENDIANr>   r?   r   r   s       r    test_td_mul_td64_ndarray_invalidDTestTimedeltaMultiplicationDivision.test_td_mul_td64_ndarray_invalid  s    w)H-<<>?@		{":299+[R 	 ]]9C0J 1]]9C0J 10 1000s   8B,B=,
B:=
Cc                     [        SSS9nU[        R                  " S5      -  nUS:X  d   eX-  S:X  d   eU[        R                  " SS5      -  S:X  d   e[        R
                  " U[        -  5      (       d   eg )	Nr   r,   r   r#      <   rz   r   )r   r	   rZ   r3   rS   isnanr   ro   s      r    test_td_div_timedeltalike_scalarDTestTimedeltaMultiplicationDivision.test_td_div_timedeltalike_scalar  sq    r$gll1o%}}w!||BNN2s++q000xxS!!!!r!   c                    [        S5      nU[        R                  " SS5      -  nX!R                  S-  :X  d   eU[        R                  " SS5      -  nX!R                  S-  :X  d   eU[        R                  " SS5      -  nX!R                  :X  d   e[        S5      nU[        R                  " SS5      -  nUS:X  d   eU[        R                  " SS5      -  nUS:X  d   eU[        R                  " SS5      -  nX!R                  :X  d   eg )	Nz1 days 2 hours 3 nsr#   r&   l     "R: r    ʚ;r   im )r   r3   rS   r   ro   s      r   test_td_div_td64_non_nano=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                     [        SSS9nUS-  n[        U[         5      (       d   eU[        SS9:X  d   eUS-  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r,   r   r      r<   rF   ro   s      r   test_td_div_numeric_scalar>TestTimedeltaMultiplicationDivision.test_td_div_numeric_scalar  sl    r$a&),,,,****a&),,,,****r!   c                 T    [        SSS9nX!-  nU[        L d   eX!-  nU[        L d   eg rm   rn   )r   r   r6   r   s       r   test_td_div_nan3TestTimedeltaMultiplicationDivision.test_td_div_nan  s6     r$}}}}r!   c                    [        S5      n[        R                  " [        S5      R                  5       /5      n[        R                  " S/5      nX-  n[        R
                  " XC5        X!-  n[        R
                  " XCS-  5        g )Nr   r   g      ?r   r   r   s        r   test_td_div_td64_ndarray<TestTimedeltaMultiplicationDivision.test_td_div_td64_ndarray  sh    w)H-<<>?@88SE?
##F5
##FqL9r!   c                     [        S5      n[        R                  " S5      nX-  n[        U[         5      (       d   eX1:X  d   eg )Nr   r#   )r   r3   r   r2   )r   r6   r   r   s       r   test_td_div_ndarray_0d:TestTimedeltaMultiplicationDivision.test_td_div_ndarray_0d	  s=    wj#y))))yyr!   c                     [        SSS9n[        R                  " S5      U-  nUS:X  d   e[        R                  " SS5      U-  S:X  d   eg )	Nr   r,   r   r#   gq?r   rz   g      ?)r   r	   rZ   r3   rS   ro   s      r   !test_td_rdiv_timedeltalike_scalarETestTimedeltaMultiplicationDivision.test_td_rdiv_timedeltalike_scalar  sL    r$a2%"""~~b#&+t333r!   c                 @   [        SSS9n[        U-  n[        R                  " U5      (       d   eS U-  n[        R                  " U5      (       d   e[        R                  " S5      U-  n[        R                  " U5      (       d   eSn[
        R                  " [        US9   [        R                  " S5      U-    S S S 5        Sn[
        R                  " [        US9   [        R                  U-    S S S 5        g ! , (       d  f       NF= f! , (       d  f       g = f)Nr   r,   r   r   zGunsupported operand type\(s\) for /: 'numpy.datetime64' and 'Timedelta'r:   <unsupported operand type\(s\) for /: 'float' and 'Timedelta')
r   r   r3   r   rS   r>   r?   r   r4   r   )r   r6   r   rA   s       r   test_td_rdiv_na_scalar:TestTimedeltaMultiplicationDivision.test_td_rdiv_na_scalar  s    r$rxxxx&+xxX]]9C0MM% 2% 1 N]]9C0FFRK 10	 10 10s   $C>!D>
D
Dc                    [        SSS9n[        R                  " U/[        S9nX!-  n[        R                  " S/[        R                  S9n[
        R                  " X45        [        R                  " S /5      nX!-  n[        R                  " [        R                  /5      n[
        R                  " X45        [        R                  " [        R                  /[        S9nSn[        R                  " [        US9   X!-    S S S 5        [        R                  " [        R                  /[        R                  S9nSn[        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       Ni= f! , (       d  f       g = f)	Nr   r,   r   r   r#   r  r:   z$cannot use operands with types dtype)r   r3   r   objectr   r   r   r   r>   r?   r   )r   r6   r   r   r`   rA   s         r   test_td_rdiv_ndarray8TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray1  s   r$hht6*88QCrzz2
##F5hhv88RVVH%
##F5hhxv.M]]9C0H 1 hhxrzz24]]9C0H 10 10
 10s   <E$E5$
E25
Fc                 l    [        SSS9n[        R                  " UR                  5      nX!-  S:X  d   eg )Nr   r,   r   r#   )r   r3   r   r   )r   r6   r   s      r   test_td_rdiv_ndarray_0d;TestTimedeltaMultiplicationDivision.test_td_rdiv_ndarray_0dH  s.    r$hhrwwx1}}r!   c                     [        SSS9n[        SSS9nX-  S:X  d   eU* UR                  5       -  S:X  d   eSU-  UR                  5       -  S:X  d   eg )Nr   r   rX   r   r#   r   )r   rd   ri   r   r6   scalars      r   %test_td_floordiv_timedeltalike_scalarITestTimedeltaMultiplicationDivision.test_td_floordiv_timedeltalike_scalarR  sh    Q*A.|q   sf++--333B60022a777r!   c                     [        SSS9nU[        R                  -  [        L d   e[        R                  " U[        -  5      (       d   e[        R                  " U[        R
                  " S5      -  5      (       d   eg )Nr   r   r  r   )r   r3   r   r   r   rS   r   r6   s     r   test_td_floordiv_null_scalar@TestTimedeltaMultiplicationDivision.test_td_floordiv_null_scalar[  s`    Q*RVV|s"""xxc	""""xxbnnU334444r!   c                     [        SSS9nU[        R                  " S5      -  S:X  d   eU[        R                  " S5      -  S:X  d   eg )Nr   r   r  r#   r   \   )r   r	   rZ   Minuter!  s     r   test_td_floordiv_offsets<TestTimedeltaMultiplicationDivision.test_td_floordiv_offsetsc  sE    Q*W\\!_$)))W^^A&&",,,r!   c                     [        SSS9nSR                  / SQ5      n[        R                  " [        US9   U[
        R                  " SSS	9-    S S S 5        g ! , (       d  f       g = f)
Nr   r   r  r   )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 typesr:   
2016-01-01zdatetime64[us]r   )r   r   r>   r?   r   r3   r4   r   r6   rA   s      r   test_td_floordiv_invalid_scalarCTestTimedeltaMultiplicationDivision.test_td_floordiv_invalid_scalari  sQ    Q*hh
 ]]9C0"--4DEE 100s   A
A'c                    [        SSS9n[        SSS9nUS-  U:X  d   eUS-  U:X  d   eU[        R                  " S5      -  U:X  d   eU[        R                  " S5      -  U:X  d   eU[        R                  " S5      -  U:X  d   eg )Nr   r   r  r#       r   r   )r   r3   r   int32uint8)r   r6   r`   s      r   test_td_floordiv_numeric_scalarCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_scalarx  s    Q*1b1Qw("""SyH$$$RZZ_$000RXXc]"h...RXXc]"h...r!   c                 H   [        SSS9n[        SSS9nU[        R                  " UR                  5       5      -  S:X  d   eSU-  [        R                  " UR                  5       /5      -  n[        R                  " S/[        R                  S9n[
        R                  " X45        SU-  [        R                  " UR                  5       [        R                  " S5      /5      -  n[        R                  " S[        R                  /5      n[
        R                  " X45        g )Nr   r   r  r#   r   r   r   )	r   r3   r   ri   r   r   r   rS   r   )r   r6   r  r   r`   s        r   $test_td_floordiv_timedeltalike_arrayHTestTimedeltaMultiplicationDivision.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                     [        SSS9n[        R                  " S/[        R                  S9nX-  nUR
                  R                  S:X  d   eg )Nr   r   r  r#   r   m)r   pdSeriesr3   r   r   kind)r   r6   serr   s       r   test_td_floordiv_numeric_seriesCTestTimedeltaMultiplicationDivision.test_td_floordiv_numeric_series  sA    Q*ii288,iyy~~$$$r!   c                     [        SSS9n[        SSS9nUR                  U5      S:X  d   eU* R                  UR                  5       5      S:X  d   eSU-  R                  UR                  5       5      S:X  d   eg )Nr   r  r   r#   r  r   r   )r   __rfloordiv__rd   ri   r  s      r   &test_td_rfloordiv_timedeltalike_scalarJTestTimedeltaMultiplicationDivision.test_td_rfloordiv_timedeltalike_scalar  s    Q*A. '1,,,""6#8#8#:;rAAAB%%f&;&;&=>!CCCr!   c                     [        SSS9n[        R                  " UR                  [        5      5      (       d   e[        R                  " UR                  [        R
                  " S5      5      5      (       d   eg )Nr   r  r   )r   r3   r   r@  r   rS   r!  s     r   test_td_rfloordiv_null_scalarATestTimedeltaMultiplicationDivision.test_td_rfloordiv_null_scalar  sW    Q*xx((-....xx(()>?@@@@r!   c                 P    [         R                  " S5      [        SS9-  S:X  d   eg )Nr#      r   r   )r	   rZ   r   r   s    r   test_td_rfloordiv_offsets=TestTimedeltaMultiplicationDivision.test_td_rfloordiv_offsets  s"    ||A)B"771<<<r!   c                     [        SSS9n[        R                  " SS5      nUR                  U5      [        L d   eSn[
        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       g = f)Nr   r  r*  uszHunsupported operand type\(s\) for //: 'numpy.datetime64' and 'Timedelta'r:   )r   r3   r4   r@  NotImplementedr>   r?   r   )r   r6   dt64rA   s       r    test_td_rfloordiv_invalid_scalarDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_invalid_scalar  sc    Q*}}\40%777 X 	 ]]9C0J 100s   A%%
A3c                    [        SSS9nUR                  [        R                  5      [        L d   eUR                  S5      [        L d   eUR                  S5      [        L d   eUR                  [        R
                  " S5      5      [        L d   eUR                  [        R                  " S5      5      [        L d   eUR                  [        R                  " S5      5      [        L d   eSn[        R                  " [        US9   [        R
                  " S5      U-    S S S 5        [        R                  " [        US9   [        R                  " S5      U-    S S S 5        [        R                  " [        US9   [        R                  " S5      U-    S S S 5        g ! , (       d  f       N= f! , (       d  f       N[= f! , (       d  f       g = f)	Nr   r  g      @r   r   rJ   z9unsupported operand type\(s\) for //: '.*' and 'Timedeltar:   )r   r@  r3   r   rM  r   r1  r0  r>   r?   r   r+  s      r    test_td_rfloordiv_numeric_scalarDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_scalar  sH   Q*'>999$666"n444

30NBBB,>>>..@@@J]]9C0JJsOr! 1]]9C0HHQK2 1]]9C0HHSMR 10	 100000s$   F%F6G%
F36
G
Gc                    [        SSS9n[        SSS9nUR                  [        R                  " UR	                  5       5      5      S:X  d   eUR                  [        R                  " SU-  R	                  5       /5      5      n[        R                  " S/[        R
                  S9n[        R                  " X45        [        R                  " SU-  R	                  5       [        R                  " S5      /5      nUR                  U5      n[        R                  " S[        R                  /5      n[        R                  " X45        g )Nr   r  r   r#   r   r   r   )
r   r@  r3   r   ri   r   r   r   rS   r   )r   r6   r  r   r`   r   s         r   %test_td_rfloordiv_timedeltalike_arrayITestTimedeltaMultiplicationDivision.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                     [         R                  " / SQ5      S-  nSn[        R                  " [        US9   U[        SSS9-    S S S 5        g ! , (       d  f       g = f)N)irPi isPitPi vPr   Invalid dtyper:   r#   r   r   )r3   r   r>   r?   r   r   )r   intsrA   s      r   test_td_rfloordiv_intarray>TestTimedeltaMultiplicationDivision.test_td_rfloordiv_intarray  sD    xxHIEQ]]9C0Iac** 100s   A
Ac                 
   [        SSS9n[        R                  " S/[        R                  S9nUR                  U5      nU[        L d   eSn[        R                  " [        US9   X!-    S S S 5        g ! , (       d  f       g = f)Nr   r  r#   r   rX  r:   )
r   r9  r:  r3   r   r@  rM  r>   r?   r   )r   r6   r<  r   rA   s        r    test_td_rfloordiv_numeric_seriesDTestTimedeltaMultiplicationDivision.test_td_rfloordiv_numeric_series  sf    Q*ii288,s#n$$$]]9C0I 100s   &A44
Bc                 
   [        SS9nU[        SS9-  n[        U[         5      (       d   eU[        SS9:X  d   eU[        SS9-  n[        U[         5      (       d   eU[        S5      :X  d   eU[        -  nU[        L d   eg )N%   rX   rQ   r#   r   r   r   )r   r2   r   r   ro   s      r   test_mod_timedeltalike:TestTimedeltaMultiplicationDivision.test_mod_timedeltalike  s    R  ia((&),,,,++++i++&),,,,1%%%c}}r!   c                 `    [        SS9nU[        R                  " SS5      -  nU[        L d   eg )Nr`  ra  r   r   rt   ro   s      r   test_mod_timedelta64_nat<TestTimedeltaMultiplicationDivision.test_mod_timedelta64_nat  s-    R bnnUD11}}r!   c                     [        SS9nU[        R                  " SS5      -  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr`  ra  r   rz   r#   rR   ro   s      r   test_mod_timedelta648TestTimedeltaMultiplicationDivision.test_mod_timedelta64  sG    R bnnQ,,&),,,,++++r!   c                     [        SS9nU[        R                  " S5      -  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr`  ra  r   r   rY   ro   s      r   test_mod_offset3TestTimedeltaMultiplicationDivision.test_mod_offset   sD    R gll1o%&),,,,++++r!   c                 2   [        SS9nUS-  n[        U[         5      (       d   eU[        S5      :X  d   eUS-  n[        U[         5      (       d   eU[        SSS9:X  d   eU[        S5      -  n[        U[         5      (       d   eU[        SSS9:X  d   eg )	Nr`  ra  r   r   g   mBr   rE   r   )r   r2   intro   s      r   test_mod_numeric4TestTimedeltaMultiplicationDivision.test_mod_numeric(  s    R  a&),,,,1%%%d&),,,,1b9999c$i&),,,,1b9999r!   c                    [        SS9nSn[        R                  " [        US9   U[	        S5      -    S S S 5        [        R                  " [        US9   U/ -    S S S 5        g ! , (       d  f       N6= f! , (       d  f       g = f)Nr`  ra  r~   r:   r/   )r   r>   r?   r   r   r+  s      r   test_mod_invalid4TestTimedeltaMultiplicationDivision.test_mod_invalid9  sb    R (]]9C0<(( 1 ]]9C0G 10 10 10s   A$A5$
A25
Bc                 z    [        SS9n[        SS9U-  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r   r   r#   rL   ro   s      r   test_rmod_pytimedelta9TestTimedeltaMultiplicationDivision.test_rmod_pytimedeltaC  sA    q!1%*&),,,,1----r!   c                     [        SS9n[        R                  " SS5      U-  n[        U[         5      (       d   eU[        SS9:X  d   eg )Nr   r   r   r8  r   rR   ro   s      r   test_rmod_timedelta649TestTimedeltaMultiplicationDivision.test_rmod_timedelta64K  sG    q!3'",&),,,,1----r!   c                    [        SS9nSn[        R                  " [        US9   [	        S5      U-    S S S 5        [        R                  " [        US9   SU-    S S S 5        [        R                  " [        US9   SU-    S S S 5        Sn[        R                  " [        US9   [
        R                  " S	S
/5      U-    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Np= f! , (       d  f       g = f)Nr   r   zunsupported operandr:   r/            0@Invalid dtype int      )r   r>   r?   r   r   r3   r   r+  s      r   test_rmod_invalid5TestTimedeltaMultiplicationDivision.test_rmod_invalidR  s    q!#]]9C0l#b( 1 ]]9C0G 1 ]]9C02I 1 "]]9C0HHb"X# 10 10 10 10 10s/   C
C<C,%C=

C
C),
C:=
Dc                 ,   [        SSS9n[        US5      nUS   [        SSS9:X  d   e[        US   [         5      (       d   eUS   [        SS	9:X  d   eU(       d   e[        U[        R                  5      nUS   [
        L d   eUS   [
        L d   eg )
Nr   rQ   rW   g  $Br   r#   r   r   ra  )r   divmodr2   r3   r   r   ro   s      r   test_divmod_numeric7TestTimedeltaMultiplicationDivision.test_divmod_numericg  s    AQ'O,ayIad3333&)Y////ayIA....vBFF#ayCayCr!   c                    [        SSS9n[        U[        SS95      nUS   S:X  d   e[        US   [         5      (       d   eUS   [        SS9:X  d   e[        US5      nUS   [        SS9:X  d   e[        US   [         5      (       d   eUS   [        S5      :X  d   e[        U[        5      n[
        R                  " US   5      (       d   eUS   [        L d   eg )	Nr   rQ   rW   r#   r<   r   ra  6   )r   r  r   r2   r   r3   r   ro   s      r   test_divmod/TestTimedeltaMultiplicationDivision.test_divmodu  s    AQ'I1-.ayA~~&)Y////ayIA....BayIA....&)Y////ayIaL(((Cxxq	""""ayCr!   c                     [        SSS9n[        U[        R                  " S5      5      nUS   S:X  d   e[	        US   [         5      (       d   eUS   [        SS	9:X  d   eg )
Nr   rQ   rW   rP   r   r#   r  ra  )r   r  r	   rZ   r2   ro   s      r   test_divmod_offset6TestTimedeltaMultiplicationDivision.test_divmod_offset  sc    AQ'GLL,-ayC&)Y////ayIB////r!   c                     [        SSS9nSn[        R                  " [        US9   [	        U[        S5      5        S S S 5        g ! , (       d  f       g = f)Nr   rQ   rW   zAunsupported operand type\(s\) for //: 'Timedelta' and 'Timestamp'r:   r/   )r   r>   r?   r   r  r   r+  s      r   test_divmod_invalid7TestTimedeltaMultiplicationDivision.test_divmod_invalid  s<    AQ'R]]9C02y./ 100s   A
Ac                     [        [        SSS9[        SS95      nUS   S:X  d   e[        US   [        5      (       d   eUS   [        SS9:X  d   eg )Nr   rQ   rW   r#   r<   r   ra  )r  r   r   r2   r   s     r   test_rdivmod_pytimedelta<TestTimedeltaMultiplicationDivision.test_rdivmod_pytimedelta  sX    	q2I14EFayA~~&)Y////ayIA....r!   c                     [        [        R                  " S5      [        SS95      nUS   S:X  d   e[	        US   [        5      (       d   eUS   [        SS9:X  d   eg )Nr  rP   ra  r   r  r#   r  )r  r	   rZ   r   r2   r   s     r   test_rdivmod_offset7TestTimedeltaMultiplicationDivision.test_rdivmod_offset  s\    R()"*=>ayC&)Y////ayIB////r!   c                 T   [        SS9nSn[        R                  " [        US9   [	        [        S5      U5        S S S 5        [        R                  " [        US9   [	        SU5        S S S 5        [        R                  " [        US9   [	        SU5        S S S 5        Sn[        R                  " [        US9   [	        [        R                  " S	S
/5      U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nw= f! , (       d  f       g = f)Nr   r   r~   r:   r/   r{  r|  r}  r~  r  )r   r>   r?   r   r  r   r3   r   r+  s      r   test_rdivmod_invalid8TestTimedeltaMultiplicationDivision.test_rdivmod_invalid  s    q!(]]9C09\*B/ 1 ]]9C02rN 1 ]]9C04 1 "]]9C0288RH%r* 10 10 10 10 10s/   C&C7
D:#D&
C47
D
D
D'r   r   r   r   r   c                     Sn[         R                  " [        US9   U" U[        S5      5        S S S 5        g ! , (       d  f       g = f)Nz7unsupported operand type|cannot use operands with typesr:   r   )r>   r?   r   r   )r   r*   r   rA   s       r   (test_td_op_timedelta_timedeltalike_arrayLTestTimedeltaMultiplicationDivision.test_td_op_timedelta_timedeltalike_array  s2     H]]9C0sIdO$ 100s	   8
Ar   N)Ir   r   r   r   r   r>   r   r   r   r3   rS   r0   mulr
   rmulr   r   r   floatr   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r"  r'  r,  r2  r5  r=  rA  rD  rI  rO  rR  rU  rZ  r]  rb  re  rh  rk  ro  rr  ru  rx  r  r  r  r  r  r  r  r  truedivrdivrsubr   r   r   r  r   r   r!   r   r   r   W  s   	 [[3ud3R^^E5JK [[THLL#((#;< = [[URVVRZZ->e$MN[[THLL#((#;< = O [[THLL#((#;< =0	6 
"#&
+ [[FFJJu%L	

:4*.85-F	/3 %DA= (3"+
 ,,:"..$*  $00/0+( [[x||SXXx'7'7388L [[HHi0)O2LMNHHi 56	$HI	
%%r!   r   c                       \ rS rSr\R
                  R                  S 5       rS rS r	S r
S rS rS r\R
                  R                  S	S
S/5      S 5       rSrg)TestTimedeltaComparisoni  c                    S GH^  n[         R                  R                  U5      R                  n[         R                  R                  U5      R                  nU[        R                  :  d   eU[        R                  ::  d   eU[        R                  :  a   eU[        R                  :  a   eU[        R                  :w  d   eU[        R                  :X  a   eU[        R                  :  d   eU[        R                  :  d   eU[        R                  :  a   eU[        R                  ::  a   eU[        R                  :w  d   eU[        R                  :X  d  GM_   e   S GH^  n[         R                  R                  U5      R                  n[         R                  R                  U5      R                  nU[        R                  :  d   eU[        R                  :  d   eU[        R                  :  a   eU[        R                  ::  a   eU[        R                  :w  d   eU[        R                  :X  a   eU[        R                  :  d   eU[        R                  ::  d   eU[        R                  :  a   eU[        R                  :  a   eU[        R                  :w  d   eU[        R                  :X  d  GM_   e   g )N)r   rL  )msr   )r   maxr=   minr   )r   r   tdmaxtdmins       r   test_compare_pytimedelta_bounds7TestTimedeltaComparison.test_compare_pytimedelta_bounds  s2    !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                    [        SSS9n[        R                  " UR                  S5      [        R                  " UR                  S5      -   n[        U5      nUR                  UR                  :X  d   eUR                  UR                  :X  d   eX1:X  d   eX1:w  a   eX1:  a   eX1:  a   eX1::  d   eX1:  d   eU[        SS9R                  S5      -
  nXA:w  d   eXA:X  a   eXA:  d   eXA::  d   eXA:  a   eXA:  a   eg )Niɚ;iQ r$   r&   r   r#   r   )r   r3   rS   r%   r   r   r=   )r   pytdtd64r6   td2s        r    test_compare_pytimedelta_bounds28TestTimedeltaComparison.test_compare_pytimedelta_bounds2  s    i7~~dii-t||S0QQt_ww$))###zzT\\)))zz:~9}9}zzzz9Q'//44{{;zz{{:~;;r!   c                 6   UnU" S5      nUR                   n[        U[        5      (       d   eXC:X  d   eXC:w  a   eXC::  d   eXC:  d   eXC:  a   eXC:  a   eUSU-  :X  a   eUSU-  :w  d   eUSU-  ::  d   eUSU-  :  d   eUSU-  :  a   eUSU-  :  a   eg )Nr   r   )_as_pd_timedeltar2   r   )r   tick_classesclsoffr6   s        r   test_compare_tick)TestTimedeltaComparison.test_compare_tick  s    !f!!"i((((yy9}yyyy8|8|S=  QW}}QW}}AG||S=  C<<r!   c                    [        S5      n[        S5      n[        R                  " X!/[        S9nX1:H  n[        R                  " SS/[        S9nXE:H  R                  5       (       d   e[        R                  " X!/X//[        S9nX1:g  n[        R                  " SS/SS//[        S9nUR                  UR                  :X  d   eXE:H  R                  5       (       d   eg )Nr   z3 hoursr   FT)r   r3   r   r  boolallshape)r   r6   r   r   r   r`   s         r   test_comparison_object_array4TestTimedeltaComparison.test_comparison_object_array   s    x )$hh{&1i88UDM6$$&&&& hhb[1@i88dE]UDM:$GyyHNN***$$&&&&r!   c                     [        S5      [        S5      /n[        R                  " U5      nUS   U:  n[        R                  " SS/5      n[        R                  " X45        g )Nz0 days 01:00:00r   Fr   )r   periodsr   r   r`   s        r   test_compare_timedelta_ndarray6TestTimedeltaComparison.test_compare_timedelta_ndarray1  sS    ./;L1MNhhwQ#88UEN+
##F5r!   c                 t   [         R                  " S5      R                  S5      n[        US   5      n[         R                  " / SQ[
        S9nX!:H  n[        R                  " XC5        X:H  n[        R                  " XC5        X!:g  n[        R                  " XC) 5        X:g  n[        R                  " XC) 5        g )Nr   ztimedelta64[ns]r#   )FTFFFr   )r3   arangeastyper   r   r  r   r   )r   r   r6   r`   r   s        r   test_compare_td64_ndarray1TestTimedeltaComparison.test_compare_td64_ndarray9  s    iil!!"34s1v88>dK
##F5
##F5
##FI6
##FI6r!   c                      " S S5      n[        S5      nUS:w  d   eUS:w  d   eX!" 5       :w  d   eX!" SS9:w  d   eX!" SS9:  d   eX!" SS9:  a   eX!" SS9:X  d   eg	)
zp
Make sure non supported operations on Timedelta returns NonImplemented
and yields to other operand (GH#20829).
c                   4    \ rS rSrSS	S jjrS rS rS rSrg)
GTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClassiR  Nc                     Xl         g N
cmp_result)r   r  s     r   __init__PTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__init__S  s    ",r!   c                 @    U R                   c  [        $ U R                   $ r  )r  rM  rH  s    r   generic_resultVTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.generic_resultV  s    ??*))??*r!   c                 "    U R                  5       $ r  r  r   r   s     r   __eq__NTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__eq__\      **,,r!   c                 "    U R                  5       $ r  r  r  s     r   __gt__NTestTimedeltaComparison.test_compare_custom_object.<locals>.CustomClass.__gt___  r  r!   r  r  )returnN)	r   r   r   r   r  r  r  r  r   r   r!   r   CustomClassr  R  s    -+--r!   r  1sstringr#   Fr  TN)r   )r   r  ts      r   test_compare_custom_object2TestTimedeltaComparison.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                    [        S5      nSn[        R                  " [        US9   X!:    S S S 5        [        R                  " [        US9   X!:    S S S 5        [        R                  " [        US9   X!:*    S S S 5        [        R                  " [        US9   X!:    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       NW= f! , (       d  f       g = f)Nr  z>not supported between instances of 'Timedelta' and '(int|str)'r:   )r   r>   r?   r   )r   r  r  rA   s       r   test_compare_unknown_type1TestTimedeltaComparison.test_compare_unknown_typen  s     dON]]9C0H 1]]9C0G 1]]9C0H 1]]9C0G 10 10000000s/   B'B83C	C'
B58
C	
C
C(r   N)r   r   r   r   r>   r   
skip_ubsanr  r  r  r  r  r  r  r   r  r   r   r!   r   r  r    sg    [[&. &.P0 *'"67& 1D [[UXqM2 3r!   r  c                  @    " S S5      n U " 5       n[        S5      nUR                  U5      [        L d   eUR                  U5      [        L d   eUR	                  U5      [        L d   eUR                  U5      [        L d   eUR                  U5      [        L d   eg )Nc                       \ rS rSrSrg)&test_ops_notimplemented.<locals>.Otheri~  r   N)r   r   r   r   r   r   r!   r   Otherr  ~  s    r!   r  r   )r   __add__rM  __sub____truediv____mul____floordiv__)r  r   r6   s      r   test_ops_notimplementedr  }  s      GE	7	B::e...::e...>>% N222::e...??5!^333r!   c                  ^   [        S5      n U S4SU 44 Ht  u  pSR                  / SQ5      n[        R                  " [        US9   X-     S S S 5        Sn[        R                  " [        US9   X:    S S S 5        X:X  a   eX:w  a  Mt   e   g ! , (       d  f       NI= f! , (       d  f       N2= f)Nr   ar   )r~   z3can only concatenate str \(not "Timedelta"\) to strzmust be str, not Timedeltar:   z"not supported between instances ofr   )r6   leftrightrA   s       r   test_ops_error_strr    s    	7	BS	C9-hh
 ]]9C0L 1 3]]9C0L 1 =  }}! . 10 10s   B-B
B	
B,	)r   r   r   r0   numpyr3   r>   pandas.errorsr   pandasr9  r   r   r   r	   pandas._testing_testingr   pandas.corer
   r   r   r  r  r  r   r!   r   <module>r     sc       .    z  z z	o	% o	%dq qh4r!   