
    Owg                        d Z 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lmZ  ej                  eeg      d        Z ej                   ed       ed      f ed	       ed      fd
gd       d        Z G d d      Zy)zHTests for Interval-Interval operations, such as overlaps, contains, etc.    N)IntervalIntervalIndex	Timedelta	Timestamp)IntervalArray)paramsc                     | j                   S )z>
    Fixture for testing both interval container classes.
    paramrequests    a/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/arrays/interval/test_overlaps.pyconstructorr      s    
 ==    z0 days1 day
2018-01-01)r      c                 2    t        | d         j                  S )Nr   type__name__xs    r   <lambda>r      s    $qt*%% r   )r   idsc                     | j                   S )z
    Fixture for generating intervals of different types from a start value
    and a shift value that can be added to start to generate an endpoint.
    r
   r   s    r   start_shiftr      s     ==r   c            
           e Zd Zd Zej
                  j                  deeg      d        Z	d Z
ej
                  j                  dddd ed	       ed
      gd       d        Zy)TestOverlapsc           	         |\  }}t        ||d|z  z   |      }||d|z  z   f||z   |d|z  z   f||z
  |d|z  z   f|d|z  z   |d|z  z   f|d|z  z   |d|z  z   f|d|z  z   |d|z  z   fg}|j                  ||      }	|j                  xr |	j                  }
t	        j
                  dddd|
dg      }|	j                  |      }t        j                  ||       y )N            TF)	r   from_tuplesclosed_rightclosed_leftnparrayoverlapstmassert_numpy_array_equal)selfr   r   closedother_closedstartshiftintervaltuplesinterval_containeradjacentexpectedresults                r   test_overlaps_intervalz#TestOverlaps.test_overlaps_interval(   s   "uE51u9#4lC EAI%&U]EAI-.U]EAI-.QYE	 12QYE	 12QYE	 12
 )44VVD((K-?-K-K88T4tXuEF#,,X6
##FH5r   other_constructorc                     |j                  t        d            }|j                  t        d            }t        j                  t        d      5  |j                  |       d d d        y # 1 sw Y   y xY w)Nr$   z^$match)from_breaksrangepytestraisesNotImplementedErrorr*   )r-   r   r9   r4   other_containers        r    test_overlaps_interval_containerz-TestOverlaps.test_overlaps_interval_container<   s_     )44U1X>+77aA]].d; 	9''8	9 	9 	9s   A++A4c                    |\  }}t        |||z         }|||z   ft        j                  |d|z  z   |d|z  z   fg}|j                  |      }t        j                  g d      }|j                  |      }	t        j                  |	|       y)zNA values are marked as Falser"   r!   )TFFN)r   r(   nanr%   r)   r*   r+   r,   )
r-   r   r   r0   r1   r2   r3   r4   r6   r7   s
             r   test_overlaps_nazTestOverlaps.test_overlaps_naD   s    "uE55=1 EEM"FFQYE	 12

 )44V<8801#,,X6
##FH5r   other
   Tfoor   r   c                 ,    t        |       j                  S )Nr   r   s    r   r   zTestOverlaps.<lambda>W   s    d1g&& r   )r   c                     |j                  t        d            }dt        |      j                   }t	        j
                  t        |      5  |j                  |       d d d        y # 1 sw Y   y xY w)Nr$   z#`other` must be Interval-like, got r;   )r=   r>   r   r   r?   r@   	TypeErrorr*   )r-   r   rG   r4   msgs        r   test_overlaps_invalid_typez'TestOverlaps.test_overlaps_invalid_typeT   sa     )44U1X>3DK4H4H3IJ]]9C0 	/''.	/ 	/ 	/s   A))A2N)r   
__module____qualname__r8   r?   markparametrizer   r   rC   rF   r   r   rN    r   r   r   r   '   s~    6( [[0=-2PQ9 R96  [[	T5)G,i.EF&  
/
/r   r   )__doc__numpyr(   r?   pandasr   r   r   r   pandas._testing_testingr+   pandas.core.arraysr   fixturer   r   r   rS   r   r   <module>r[      s    N     , }56 7 	8	i01	<	 )G"45
 	&6/ 6/r   