
    bMh%                     ~    d dl Zd dlZd dlZd dlmZmZmZ d dlm	Z
 d dlmZ  G d d          Z G d d          ZdS )    N)IndexTimedeltaIndextimedelta_range)Hourc                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                            d
ddg          d             Zd Zej                            d edddd           edddd          f edddd           edddd          f edddd          dd          eg dd          fg          d             Zej                            d eg dd           eddgd          f eg dd           ed dgd          f eg d!d          ddd"          eg d!d          fg          d#             ZdS )$TestTimedeltaIndexc                    t          dd          }t          dd          }|                    |          }t          dd          }t          j        ||           t	          t          j        dddt
          j        	                    }t          d
dd          }|                    |           |                    |           d S )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        k/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/timedeltas/test_setops.py
test_unionzTestTimedeltaIndex.test_union   s    VQ///VQ///""61555
fh///29QARX666777BSAAA

    c                 L   t          dd          }|dd          }|d d         }|                    |          sJ |                    |          }t          j        ||           |                    |d          }t          g d          }t          j        ||           d S )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_falsez(TestTimedeltaIndex.test_union_sort_false   s    fa000122wBQB ##E*****E""
fc***E..!"S"S"STT
fh/////r%   c                 J   t          g d          }t          |                                d          }|                    |          }t          j        ||           |d d                             |          }t          j        ||           |j        |j        k    sJ d S )N)3d1d2dinferr   r   )r   sort_valuesr   r   r   r   )r   idxorderedr!   s       r#   test_union_coveragez&TestTimedeltaIndex.test_union_coverage,   s    ///00 !2!2AAAs##
fg...!""7++
fg...{gl******r%   c                    t          ddd          }t          ddd          }|                    |          }t          t          t	          |          t	          |          z                      }t          j        ||           d S )Nr      3hr   r   4h)r   r   r   sortedsetr   r   )r   rng_arng_br!   exps        r#   test_union_bug_1730z&TestTimedeltaIndex.test_union_bug_17306   sz    >>>>>>U##VCJJU$;<<==
fc*****r%   c                    t          dg          }t          g d          }|                    |          }t          t          t          |          t          |          z                      }t	          j        ||           d S )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   r>   r?   r   r   r   r,   r-   r!   rB   s        r#   test_union_bug_1745z&TestTimedeltaIndex.test_union_bug_1745>   s}    6788WWW
 
 E""VCIIE

$:;;<<
fc*****r%   c                 0   t          dd          }|t          j                            d          z   }|                    |          }t          t          t          |          t          |          z                      }t          j	        ||           d S )Nr   30d   )
r   pdoffsetsMinuter   r   r>   r?   r   r   rE   s        r#   test_union_bug_4564z&TestTimedeltaIndex.test_union_bug_4564H   s{    w..rz((,,,E""VCIIE

$:;;<<
fc*****r%   c                     t          dd          }|g d         }|g d         }|j        J |j        J |                    |          }t          j        ||           |j        dk    sJ d S )Nz1 Dayr   r   )r      r'   r:   )r   r'   rO   r   )r   r   r   r   r   )r   r+   r,   r-   r!   s        r#   test_union_freq_inferz(TestTimedeltaIndex.test_union_freq_inferP   s     gq111<<< IIIy   z!!!E""
fc***{c!!!!!!r%   c                    t          ddd          }|t          j                            d          z   }|                    |          }t          |          dk    sJ t          ddd          }|t          j                            d          z   }|                    |          }t          dd	d          }t          j        ||           |j        |j        k    sJ d S )
Nr   r:   hr<   r   r   rO   z1 day 01:00:00r'   )	r   rJ   rK   r   intersectionlenr   r   r   )r   index_1index_2r!   r"   s        r#   test_intersection_bug_1708z-TestTimedeltaIndex.test_intersection_bug_1708_   s    !'13???BJOOA...%%g..6{{a!'13???BJOOA...%%g.."#3QSIII
fh///{hm++++++r%   c                 2   t          ddd          }t          ddd          }|                    ||          }|'t          j        ||                                           t          j        ||           |                    ||          }||u sJ d S )Nr   r:   rR   r<   r(   )r   rS   r   r   r5   )r   r)   firstsecond	intersectinters         r#   test_intersection_equalz*TestTimedeltaIndex.test_intersection_equaln   s      === !#>>>&&vD&99	<!)V-?-?-A-ABBB
i000 ""5t"44~~~~~~r%   zperiod_1, period_2)r   r:   )r:   r   c                     t          d|d          }t          d|d          }t          ddd          }|                    ||          }t          j        ||           d S )Nr   rR   r<   r   r(   )r   rS   r   r   )r   period_1period_2r)   rU   rV   r"   r!   s           r#   test_intersection_zero_lengthz0TestTimedeltaIndex.test_intersection_zero_length|   sq     "'8#FFF!'8#FFF"7AC@@@%%gD%99
fh/////r%   c                     t          ddd          }t          ddd          }|                    ||          }||usJ ||usJ t          j        ||           d S )Nr   r   rR   r<   r'   r(   )r   rS   r   assert_copy)r   r)   rU   rV   r!   s        r#   test_zero_length_input_indexz/TestTimedeltaIndex.test_zero_length_input_index   s|    !'13???!'13???%%gD%99f$$$$f$$$$
vw'''''r%   zrng, expectedr   r   rR   r6   r   r   namer:   otherNr   )r   rf   c                     t          dddd          }|                    ||          }||                                }t          j        ||           |j        |j        k    sJ |j        |j        k    sJ d S )Nr   r:   rR   r6   re   r(   )r   rS   r5   r   r   rf   r   r   rngr"   r)   baser!   s         r#   test_intersectionz$TestTimedeltaIndex.test_intersection   s    , w%HHH""3T"22<++--H
fh///{hm++++{hm++++++r%   )5 hour2 hour4 hourz9 hourrf   rn   ro   )rn   rm   rm   1 hourrq   rq   rn   ro   z3 hourc                 ^   t          g dd          }|                    ||          }||                                }t          j        ||           |j        |j        k    sJ t          ||d d d         k              r |t          |j        t                    sJ d S |j        J d S )Nrr   r6   rp   r(   rs   )
r   rS   r5   r   r   rf   all
isinstancer   r   ri   s         r#   test_intersection_non_monotonicz2TestTimedeltaIndex.test_intersection_non_monotonic   s    0 FFFUSSS""3T"22<++--H
fh///{hm++++ ts44R4y !! 	'dlfk40000000;&&&&&r%   )__name__
__module____qualname__r$   r.   r8   rC   rF   rM   rP   rW   r]   pytestmarkparametrizera   rd   r   r   rl   rw    r%   r#   r   r      s       
 
 
0 0 0 + + ++ + ++ + ++ + +" " ", , ,   [1FF3CDD0 0 ED0( ( ( [  5III5III  7KKK4HHH  #EJJJ122Nr%888	
 (, ,) (, [ GGGeTTT(3%@@@ GGGgVVV(3$??? GGGeTTTDbD GGGeTTT		
 ,' '- ,' ' 'r%   r   c                       e Zd Zd Zd ZdS )TestTimedeltaIndexDifferencec                    t          ddd          }t          ddd          }t          ddgd           }|                    ||          }t          j        ||           t          j        d||           t          ddd          }|                    ||          }t          ddgd          }t          j        ||           t          j        d||           d S )	N0 days5 daysr   r4   1 days4 daysr   2 days)r   r   
differencer   r   assert_attr_equal)r   r)   indexrg   r"   idx_diffs         r#   test_difference_freqz1TestTimedeltaIndexDifference.test_difference_freq   s      (===(===!8X"6TBBB##E400
h111
VXx888  (===##E400!8X"6SAAA
h111
VXx88888r%   c                    t          g d          }t          ddd          }|                    ||          }t          ddgd           }||                                }t	          j        ||           t	          j        d||           t          d	dd          }|                    ||          }t          ddgd           }||                                }t	          j        ||           t	          j        d||           d S )
N)r   z3 daysr   r   r   r   r   r   r   r4   r   r   r   r   )r   r   r   r5   r   r   r   )r   r)   r   rg   r   r"   s         r#   test_difference_sortz1TestTimedeltaIndexDifference.test_difference_sort   s   HHH
 
  (===##E400!8X"6TBBB<++--H
h111
VXx888(===##E400!8X"6TBBB<++--H
h111
VXx88888r%   N)rx   ry   rz   r   r   r~   r%   r#   r   r      s2        9 9 9&9 9 9 9 9r%   r   )numpyr   r{   pandasrJ   r   r   r   pandas._testing_testingr   pandas.tseries.offsetsr   r   r   r~   r%   r#   <module>r      s                     
       ' ' ' ' ' '@' @' @' @' @' @' @' @'F,9 ,9 ,9 ,9 ,9 ,9 ,9 ,9 ,9 ,9r%   