
    Mh%                     p    S SK rS SKrS SKrS SKJrJrJr  S SKJ	r
  S SKJr   " S S5      r " S S5      rg)    N)IndexTimedeltaIndextimedelta_range)Hourc                      \ 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SS/5      S 5       rS r\R                  R                  S\" SSSSS9\" SSSSS94\" SSSSS9\" SSSSS94\" SSSSS9SS \" / SSS94/5      S 5       r\R                  R                  S\" / SQSS9\" SS/SS94\" / S QSS9\" S!S/SS94\" / S"QSS9SSS#2   \" / S"QSS94/5      S$ 5       rS%rg)&TestTimedeltaIndex   c           	      D   [        SSS9n[        SSS9nUR                  U5      n[        SSS9n[        R                  " X45        [	        [
        R                  " SSS[
        R                  S	95      n[        S
SSS9nUR                  U5        UR                  U5        g )N1day   periods3day   r         )dtype1 day
   D)startr   freq)r   uniontmassert_index_equalr   nparangeint64)selfi1i2resultexpecteds        ]/var/www/html/env/lib/python3.13/site-packages/pandas/tests/indexes/timedeltas/test_setops.py
test_unionTestTimedeltaIndex.test_union   s    VQ/VQ/""615
f/299QARXX677BSA

    c                    [        SSS9nUSS  nUS S nUR                  U5      (       d   eUR                  U5      n[        R                  " XA5        UR                  USS9n[        / SQ5      n[        R                  " XE5        g )Nr   r   r      Fsort)z4 Daysz5 Daysz1 Daysz2 Dayz3 Days)r   _can_fast_unionr   r   r   r   )r   tdileftrightr"   r#   s         r$   test_union_sort_false(TestTimedeltaIndex.test_union_sort_false   s    fa012wBQ ##E****E"
f*E.!"ST
f/r'   c                 (   [        / SQ5      n[        UR                  5       SS9nUR                  U5      n[        R                  " X25        US S R                  U5      n[        R                  " X25        UR
                  UR
                  :X  d   eg )N)3d1d2dinferr   r   )r   sort_valuesr   r   r   r   )r   idxorderedr"   s       r$   test_union_coverage&TestTimedeltaIndex.test_union_coverage,   sv    /0 !2As#
f.!""7+
f.{{gll***r'   c                     [        SSSS9n[        SSSS9nUR                  U5      n[        [        [	        U5      [	        U5      -  5      5      n[
        R                  " X45        g )Nr      3hr   r   4h)r   r   r   sortedsetr   r   )r   rng_arng_br"   exps        r$   test_union_bug_1730&TestTimedeltaIndex.test_union_bug_17306   sV    >>U#VCJU$;<=
f*r'   c                     [        S/5      n[        / SQ5      nUR                  U5      n[        [        [        U5      [        U5      -  5      5      n[        R
                  " X45        g )Nz1 day 15:19:49.695000)z2 day 13:04:21.322000z1 day 15:27:24.873000z1 day 15:31:05.350000)r   r   rB   rC   r   r   r   r.   r/   r"   rF   s        r$   test_union_bug_1745&TestTimedeltaIndex.test_union_bug_1745>   sW    678W
 E"VCIE
$:;<
f*r'   c                     [        SS5      nU[        R                  R                  S5      -   nUR	                  U5      n[        [        [        U5      [        U5      -  5      5      n[        R                  " X45        g )Nr   30dr	   )
r   pdoffsetsMinuter   r   rB   rC   r   r   rJ   s        r$   test_union_bug_4564&TestTimedeltaIndex.test_union_bug_4564H   s_    w.rzz((,,E"VCIE
$:;<
f*r'   c                     [        SSS9nU/ SQ   nU/ SQ   nUR                  b   eUR                  b   eUR                  U5      n[        R                  " XA5        UR                  S:X  d   eg )Nz1 Dayr   r   )r      r)   r>   )r   r)   rU   r   )r   r   r   r   r   )r   r-   r.   r/   r"   s        r$   test_union_freq_infer(TestTimedeltaIndex.test_union_freq_inferP   sq     gq1< Iyy   zz!!!E"
f*{{c!!!r'   c                    [        SSSS9nU[        R                  R                  S5      -   nUR	                  U5      n[        U5      S:X  d   e[        SSSS9nU[        R                  R                  S5      -   nUR	                  U5      n[        SS	SS9n[        R                  " X45        UR                  UR                  :X  d   eg )
Nr   r>   hr@   r   r   rU   z1 day 01:00:00r)   )	r   rO   rP   r   intersectionlenr   r   r   )r   index_1index_2r"   r#   s        r$   test_intersection_bug_1708-TestTimedeltaIndex.test_intersection_bug_1708_   s    !'13?BJJOOA..%%g.6{a!'13?BJJOOA..%%g."#3QSI
f/{{hmm+++r'   c                     [        SSSS9n[        SSSS9nUR                  X1S9nUc$  [        R                  " XCR	                  5       5        [        R                  " XC5        UR                  X!S9nXRL d   eg )Nr   r>   rY   r@   r*   )r   rZ   r   r   r8   )r   r+   firstsecond	intersectinters         r$   test_intersection_equal*TestTimedeltaIndex.test_intersection_equaln   s|      = !#>&&v&9	<!!)-?-?-AB
i0 ""5"4~~r'   zperiod_1, period_2)r   r>   )r>   r   c                     [        SUSS9n[        SUSS9n[        SSSS9nUR                  XSS9n[        R                  " Xv5        g )Nr   rY   r@   r   r*   )r   rZ   r   r   )r   period_1period_2r+   r\   r]   r#   r"   s           r$   test_intersection_zero_length0TestTimedeltaIndex.test_intersection_zero_length|   sO     "'8#F!'8#F"7AC@%%g%9
f/r'   c                     [        SSSS9n[        SSSS9nUR                  X1S9nX$Ld   eX4Ld   e[        R                  " XB5        g )Nr   r   rY   r@   r)   r*   )r   rZ   r   assert_copy)r   r+   r\   r]   r"   s        r$   test_zero_length_input_index/TestTimedeltaIndex.test_zero_length_input_index   sU    !'13?!'13?%%g%9$$$$$$
v'r'   zrng, expectedr   r   rY   r9   r   r   namer>   otherNr   )r   rq   c                     [        SSSSS9nUR                  XS9nUc  UR                  5       n[        R                  " XR5        UR
                  UR
                  :X  d   eUR                  UR                  :X  d   eg )Nr   r>   rY   r9   rp   r*   )r   rZ   r8   r   r   rq   r   r   rngr#   r+   baser"   s         r$   test_intersection$TestTimedeltaIndex.test_intersection   st    , w%H""3"2<++-H
f/{{hmm+++{{hmm+++r'   )5 hour2 hour4 hourz9 hourrq   rz   r{   )rz   ry   ry   1 hourr}   r}   rz   r{   z3 hourc                 \   [        / SQSS9nUR                  XS9nUc  UR                  5       n[        R                  " XR5        UR
                  UR
                  :X  d   e[        XAS S S2   :H  5      (       a%  Uc"  [        UR                  [        5      (       d   eg UR                  b   eg )Nr~   r9   r|   r*   r   )
r   rZ   r8   r   r   rq   all
isinstancer   r   rt   s         r$   test_intersection_non_monotonic2TestTimedeltaIndex.test_intersection_non_monotonic   s    0 FUS""3"2<++-H
f/{{hmm+++ t4R4y !!dlfkk40000;;&&&r'    )__name__
__module____qualname____firstlineno__r%   r0   r;   rG   rK   rR   rV   r^   re   pytestmarkparametrizerj   rn   r   r   rw   r   __static_attributes__r   r'   r$   r   r      s   
0 ++++", [[1FF3CD0 E0( [[  5I5I  7K4H  #EJ12Nr%8	
(,)(, [[ GeT(3%@ GgV(3$? GeTbD GeT		
,'-,'r'   r   c                        \ rS rSrS rS rSrg)TestTimedeltaIndexDifference   c                 n   [        SSSS9n[        SSSS9n[        SS/S S9nUR                  X15      n[        R                  " XT5        [        R
                  " SXT5        [        SSSS9nUR                  X15      n[        SS/SS9n[        R                  " XT5        [        R
                  " SXT5        g )	N0 days5 daysr   r7   1 days4 daysr   2 days)r   r   
differencer   r   assert_attr_equal)r   r+   indexrr   r#   idx_diffs         r$   test_difference_freq1TestTimedeltaIndexDifference.test_difference_freq   s      (=(=!8X"6TB##E0
h1
VX8  (=##E0!8X"6SA
h1
VX8r'   c                    [        / SQ5      n[        SSSS9nUR                  X15      n[        SS/S S9nUc  UR                  5       n[        R
                  " XE5        [        R                  " SXE5        [        S	SSS9nUR                  X15      n[        SS/S S9nUc  UR                  5       n[        R
                  " XE5        [        R                  " SXE5        g )
N)r   z3 daysr   r   r   r   r   r   r   r7   r   r   r   r   )r   r   r   r8   r   r   r   )r   r+   r   rr   r   r#   s         r$   test_difference_sort1TestTimedeltaIndexDifference.test_difference_sort   s    H
  (=##E0!8X"6TB<++-H
h1
VX8(=##E0!8X"6TB<++-H
h1
VX8r'   r   N)r   r   r   r   r   r   r   r   r'   r$   r   r      s    9&9r'   r   )numpyr   r   pandasrO   r   r   r   pandas._testing_testingr   pandas.tseries.offsetsr   r   r   r   r'   r$   <module>r      s7       
  '@' @'F,9 ,9r'   