
    bMh                      d    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dS )
    N)IndexIntervalIndex	Timestampinterval_rangeint64rightc                 X    t          j        t          j        | ||          |          S N)dtypeclosed)r   from_breaksnparange)startendr   r   s       i/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/indexes/interval/test_setops.pymonotonic_indexr      s*    $RYuc%G%G%GPVWWWW    c                 L    t          t          j        g |           |          S r
   )r   r   arrayr   r   s     r   empty_indexr      s$    "E2226BBBBr   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            d          e
j                            d	g d
          d                         ZdS )TestIntervalIndexc                    t          dd|          }t          dd|          }t          dd|          }|d d d                             ||          }|dv rt          j        ||           n't          j        |                                |           |d d d                             ||          }|dv rt          j        ||           n't          j        |                                |           t          j        |                    ||          |           t          j        |                    |d d	         |          |           d S )
Nr      r         sortNT   )r   uniontmassert_index_equalsort_valuesselfr   r"   indexotherexpectedresults          r   
test_unionzTestIntervalIndex.test_union   sV   2f5552f555"1b888ttt""5t"44<!&(3333!&"4"4"6"6AAAttt""5t"44<!&(3333!&"4"4"6"6AAA
ekk%dk;;UCCC
ekk%)$k??GGGGGr   c                 (   t          d|          }|                    ||          }t          j        ||           t          d|          }|                    ||          }|}t          j        ||           |                    ||          }t          j        ||           t          d|          }|                    ||          }t          j        ||           |                    ||          }t          j        ||           d S )Nr   r   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9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                             ||          }|dv rt          j        ||           n't          j        |                                |           |d d d                             ||          }|dv rt          j        ||           n't          j        |                                |           t          j        |                    ||          |           t          j        g d	          }t          j        d
dg          }t          j        d
dg          }|                    |          }t          j        ||           t          j        ddg          }t          j        ddg          }t          j        dg          }|                    |          }t          j        ||           t          t          j        t          j        g          }t          t          j        g          }t          t          j        g          }|                    |          }t          j        ||           d S )Nr   r   r   r   r   r    r!   r#   )r$      r$      )r$      r   r6   r5   r7   )r   r8   r:   )	r   intersectionr&   r'   r(   r   from_tuplesr   nanr)   s          r   test_intersectionz#TestIntervalIndex.test_intersection@   s[   2f5552f555"1b888ttt))%d);;<!&(3333!&"4"4"6"6AAAttt))%d);;<!&(3333!&"4"4"6"6AAA
e00T0BBEJJJ )*J*J*JKK)66*:;; ,ff-=>>##E**
fh/// )66*:;;)66*:;; ,fX66##E**
fh/// rvrv.//rvh'' "&**##E**
fh/////r   c                    t          dd|          }t          dd|          }t          d|          }|                    ||          }t          j        ||           t          ddd	|          }|                    ||          }|d d         }t          j        ||           t          ddd
|          }|                    ||          }t          j        ||           d S )Nr   r   r   i,  i:  r   r   r!   r1   r2   )r   r   r;   r&   r'   r)   s          r   test_intersection_empty_resultz0TestIntervalIndex.test_intersection_empty_resulth   s    2f555  S888WV<<<##E#55
fh///  S	&III##E#55!9
fh///SHHH##E#55
fh/////r   c                     t          j        g d          }t          j        ddg          }t          j        ddg          }|                    |          }t          j        ||           d S )N)r5   r5   r6   r8   )r8   r9   r5   rB   )r   r<   r;   r&   r'   )r*   r+   r,   r-   r.   s        r   test_intersection_duplicatesz.TestIntervalIndex.test_intersection_duplicates{   so    )*J*J*JKK)66*:;; ,ff-=>>##E**
fh/////r   c                    t          j        g dg d|          }|                    |d d         |          }|dd          }||                                }t	          j        ||           |                    ||          }t          d|          }t	          j        ||           t          j        |j                            d          |j	        |          }|                    ||          }t	          j        ||           d S )	N)r$   r   r8   r6   )r$   r6   r8   r9   r   r$   r!   r   r   r1   )
r   from_arrays
differencer(   r&   r'   r   leftastyper   r*   r   r"   r+   r.   r-   r,   s          r   test_differencez!TestIntervalIndex.test_difference   s   ),,,VTTT!!%)$!779<++--H
fh/// !!%d!33WV<<<
fh/// )Ji((%+f
 
 
 !!%d!33
fh/////r   c                    t          dd|          }|dd                              |d d         |          }t          |d         |d         g          }|dv rt          j        ||           n't          j        |                                |           |                    ||          }t          d|	          }|dv rt          j        ||           n't          j        |                                |           t          j        |j        	                    d
          |j
        |          }|                    ||          }t          d
|	          }t          j        ||           d S )Nr   r   r   r$   r    r!   r#   r   r   r1   )r   symmetric_differencer   r&   r'   r(   r   rE   rG   rH   r   rI   s          r   test_symmetric_differencez+TestIntervalIndex.test_symmetric_difference   s{   2f555qrr//crc
/FF %(E"I!677<!&(3333!&"4"4"6"6AAA ++E+==WV<<<<!&(3333!&"4"4"6"6AAA )Ji((%+f
 
 
 ++E+==Yv>>>
fh/////r   z/ignore:'<' not supported between:RuntimeWarningop_name)r%   r;   rF   rL   c                     t          dd|          }t          ||          }|dk    r|}n; t          |                    d          |          t          g d                    } |t          g d          |          }t	          j        ||           h d|hz
  D ]q}t          dd|          }	 t          |                    t                    |          |	|          }|dk    r|} ||	|          }t	          j        ||           rt          t          d	          d
|          }	 t          |                    t                    |          |	|          }|dk    r|} ||	|          }t	          j        ||           d S )Nr   r   r   rF   O)r$   r6   r8   r!   >   bothrG   r   neither20180101	   )periodsr   )	r   getattrrH   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   s   
  2f555(( l""HH:wu||C00'::5;K;KLLHiii((t444
fh/// A@@F8K 	4 	4L#Ar,???E=wu||F33W==e$OOOH,&& VE---F!&(3333 y44aOOO975<<//99%dKKKl""HD)))
fh/////r   N)__name__
__module____qualname__r/   r3   r>   r@   rC   rJ   rM   pytestmarkfilterwarningsparametrizerZ    r   r   r   r      s        H H H(0 0 0,&0 &0 &0P0 0 0&0 0 00 0 0(0 0 02 [ QRR[RRR 0 0  SR0 0 0r   r   )r   r   )numpyr   r^   pandasr   r   r   r   pandas._testing_testingr&   r   r   r   rb   r   r   <module>rg      s                         X X X XC C C C{0 {0 {0 {0 {0 {0 {0 {0 {0 {0r   