
    Owg                      \    d dl Zd dlZd dlmZmZmZmZ d dlm	Z
 ddZddZ G d d      Zy)    N)IndexIntervalIndex	Timestampinterval_rangec                 \    t        j                  t        j                  | ||      |      S N)dtypeclosed)r   from_breaksnparange)startendr	   r   s       `/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/indexes/interval/test_setops.pymonotonic_indexr      s#    $$RYYuc%GPVWW    c                 F    t        t        j                  g |       |      S r   )r   r   arrayr	   r   s     r   empty_indexr      s    "E26BBr   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                  j                  d      e
j                  j                  d	g d
      d               Zy)TestIntervalIndexc                 Z   t        dd|      }t        dd|      }t        dd|      }|d d d   j                  ||      }|dv rt        j                  ||       n$t        j                  |j	                         |       |d d d   j                  ||      }|dv rt        j                  ||       n$t        j                  |j	                         |       t        j                  |j                  ||      |       t        j                  |j                  |d d	 |      |       y )
Nr      r
         sortNT   )r   uniontmassert_index_equalsort_valuesselfr   r    indexotherexpectedresults          r   
test_unionzTestIntervalIndex.test_union   s   2f52f5"1b8tt""5t"4<!!&(3!!&"4"4"6Att""5t"4<!!&(3!!&"4"4"6A
ekk%dk;UC
ekk%)$k?Gr   c                    t        d|      }|j                  ||      }t        j                  ||       t        d|      }|j                  ||      }|}t        j                  ||       |j                  ||      }t        j                  ||       t        d|      }|j                  ||      }t        j                  ||       |j                  ||      }t        j                  ||       y )Nint64r   r   float64uint64)r   r#   r$   r%   )r(   r   r    r)   r,   r*   r+   s          r   test_union_empty_resultz)TestIntervalIndex.test_union_empty_result*   s    '&9U.
fe, )F;U.
fh/E-
fh/(6:U.
fh/U.
fh/r   c                    t        dd|      }t        dd|      }t        dd|      }|d d d   j                  ||      }|dv rt        j                  ||       n$t        j                  |j	                         |       |d d d   j                  ||      }|dv rt        j                  ||       n$t        j                  |j	                         |       t        j                  |j                  ||      |       t        j                  g d	      }t        j                  d
dg      }t        j                  d
dg      }|j                  |      }t        j                  ||       t        j                  ddg      }t        j                  ddg      }t        j                  dg      }|j                  |      }t        j                  ||       t        t        j                  t        j                  g      }t        t        j                  g      }t        t        j                  g      }|j                  |      }t        j                  ||       y )Nr   r   r
   r   r   r   r   r!   )r"      r"      )r"      r   r5   r4   r6   )r   r7   r9   )	r   intersectionr$   r%   r&   r   from_tuplesr   nanr'   s          r   test_intersectionz#TestIntervalIndex.test_intersection@   s   2f52f5"1b8tt))%d);<!!&(3!!&"4"4"6Att))%d);<!!&(3!!&"4"4"6A
e00T0BEJ ))*JK))66*:; ,,ff-=>##E*
fh/ ))66*:;))66*:; ,,fX6##E*
fh/ rvvrvv./rvvh' "&&*##E*
fh/r   c                    t        dd|      }t        dd|      }t        d|      }|j                  ||      }t        j                  ||       t        ddd	|      }|j                  ||      }|d d }t        j                  ||       t        ddd
|      }|j                  ||      }t        j                  ||       y )Nr   r   r
   i,  i:  r/   r   r   r0   r1   )r   r   r:   r$   r%   r'   s          r   test_intersection_empty_resultz0TestIntervalIndex.test_intersection_empty_resulth   s    2f5  S8WV<##E#5
fh/  S	&I##E#5!9
fh/SH##E#5
fh/r   c                     t        j                  g d      }t        j                  ddg      }t        j                  ddg      }|j                  |      }t        j                  ||       y )N)r4   r4   r5   r7   )r7   r8   r4   rA   )r   r;   r:   r$   r%   )r(   r)   r*   r+   r,   s        r   test_intersection_duplicatesz.TestIntervalIndex.test_intersection_duplicates{   s]    ))*JK))66*:; ,,ff-=>##E*
fh/r   c                    t        j                  g dg d|      }|j                  |d d |      }|dd  }||j                         }t	        j
                  ||       |j                  ||      }t        d|      }t	        j
                  ||       t        j                  |j                  j                  d      |j                  |      }|j                  ||      }t	        j
                  ||       y )	N)r"   r   r7   r5   )r"   r5   r7   r8   r
   r"   r   r/   r   r0   )
r   from_arrays
differencer&   r$   r%   r   leftastyperightr(   r   r    r)   r,   r+   r*   s          r   test_differencez!TestIntervalIndex.test_difference   s    )),VT!!%)$!79<++-H
fh/ !!%d!3WV<
fh/ ))JJi(%++f
 !!%d!3
fh/r   c                    t        dd|      }|dd  j                  |d d |      }t        |d   |d   g      }|dv rt        j                  ||       n$t        j                  |j                         |       |j                  ||      }t        d|	      }|dv rt        j                  ||       n$t        j                  |j                         |       t        j                  |j                  j                  d
      |j                  |      }|j                  ||      }t        d
|	      }t        j                  ||       y )Nr   r   r
   r"   r   r   r!   r/   r   r0   )r   symmetric_differencer   r$   r%   r&   r   rD   rF   rG   rH   rI   s          r   test_symmetric_differencez+TestIntervalIndex.test_symmetric_difference   s,   2f5qr//cr
/F %(E"I!67<!!&(3!!&"4"4"6A ++E+=WV<<!!&(3!!&"4"4"6A ))JJi(%++f
 ++E+=Yv>
fh/r   z/ignore:'<' not supported between:RuntimeWarningop_name)r#   r:   rE   rL   c                    t        dd|      }t        ||      }|dk(  r|}n, t        |j                  d      |      t        g d            } |t        g d      |      }t	        j
                  ||       h d|hz
  D ]^  }t        dd|      }	 t        |j                  t              |      |	|      }|dk(  r|} ||	|      }t	        j
                  ||       ` t        t        d	      d
|      }	 t        |j                  t              |      |	|      }|dk(  r|} ||	|      }t	        j
                  ||       y )Nr   r   r
   rE   O)r"   r5   r7   r   >   bothrF   rH   neither20180101	   )periodsr   )	r   getattrrG   r   r$   r%   objectr   r   )
r(   r   rN   r    r)   set_opr+   r,   other_closedr*   s
             r   test_set_incompatible_typesz-TestIntervalIndex.test_set_incompatible_types   s9   
  2f5( l"H:wu||C0':5;KLHi(t4
fh/ AF8K 	4L#Ar,?E=wu||F3W=e$OH,& E-F!!&(3	4 y4aO975<</9%dKl"HD)
fh/r   N)__name__
__module____qualname__r-   r2   r=   r?   rB   rJ   rM   pytestmarkfilterwarningsparametrizerZ    r   r   r   r      si    H(0,&0P0&00(02 [[ QR[[R0 S0r   r   )r/   rH   )numpyr   r^   pandasr   r   r   r   pandas._testing_testingr$   r   r   r   rb   r   r   <module>rg      s2       XC{0 {0r   