o
    g1	                     @   sj   d Z ddlZddlmZmZmZ ejededfededfdgdd	 d
dd ZG dd dZdS )zHTests for Interval-Interval operations, such as overlaps, contains, etc.    N)Interval	Timedelta	Timestampz0 days1 day
2018-01-01)r      c                 C   s   t | d jS )Nr   type__name__x r   c/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pandas/tests/scalar/interval/test_ops.py<lambda>   s    r   )paramsidsc                 C   s   | j S )z
    Fixture for generating intervals of types from a start value and a shift
    value that can be added to start to generate an endpoint
    )param)requestr   r   r   start_shift   s   r   c                   @   s\   e Zd Zdd Zdd Zdd Zdd Zejj	d	d
dde
dedgdd ddd ZdS )TestOverlapsc                 C   s*   |\}}t ||| |}||sJ d S Nr   overlaps)selfr   closedstartshiftintervalr   r   r   test_overlaps_self   s   zTestOverlaps.test_overlaps_selfc                 C   sF   |\}}t ||d|  |}t || |d|  |}||s!J d S )N      r   r   r   r   other_closedr   r   	interval1	interval2r   r   r   test_overlaps_nested!   s   z!TestOverlaps.test_overlaps_nestedc                 C   sF   |\}}t ||| |}t |d|  |d|  |}||r!J d S )Nr    r   r   r!   r   r   r   test_overlaps_disjoint)   s   z#TestOverlaps.test_overlaps_disjointc           
      C   sV   |\}}t ||| |}t || |d|  |}||}|jo"|j}	||	ks)J d S )Nr    )r   r   closed_rightclosed_left)
r   r   r   r"   r   r   r#   r$   resultexpectedr   r   r   test_overlaps_endpoint1   s   
z#TestOverlaps.test_overlaps_endpointother
   Tfoor   r   c                 C   s
   t | jS r   r   r   r   r   r   r   >   s   
 zTestOverlaps.<lambda>)r   c                 C   sX   t dd}dt|j }tjt|d || W d    d S 1 s%w   Y  d S )Nr   r   z!`other` must be an Interval, got )match)r   r	   r
   pytestraises	TypeErrorr   )r   r,   r   msgr   r   r   test_overlaps_invalid_type;   s
   
"z'TestOverlaps.test_overlaps_invalid_typeN)r
   
__module____qualname__r   r%   r&   r+   r0   markparametrizer   r   r4   r   r   r   r   r      s    
r   )	__doc__r0   pandasr   r   r   fixturer   r   r   r   r   r   <module>   s    
