B
    x\
	                 @   s   d dl Z d dlZejdd Zejdd Zejdd Zejddgdd	d
 Zejdd Zejdd Zejdd Z	ejdd Z
ejdd Zejdd Zejddgddd ZdS )    Nc               C   s   t dS )z3A fixture providing the ExtensionDtype to validate.N)NotImplementedError r   r   >lib/python3.7/site-packages/pandas/tests/extension/conftest.pydtype   s    r   c               C   s   t dS )zLength-100 array for this type.

    * data[0] and data[1] should both be non missing
    * data[0] and data[1] should not gbe equal
    N)r   r   r   r   r   data   s    r   c               C   s   t dS )zLength-2 array with [NA, Valid]N)r   r   r   r   r   data_missing   s    r   )Zparamsc             C   s    | j dkr|S | j dkr|S dS )z5Parametrized fixture giving 'data' and 'data_missing'r   r   N)param)requestr   r   r   r   r   all_data   s    

r
   c                s    fdd}|S )a  
    Generate many datasets.

    Parameters
    ----------
    data : fixture implementing `data`

    Returns
    -------
    Callable[[int], Generator]:
        A callable that takes a `count` argument and
        returns a generator yielding `count` datasets.
    c             3   s   xt | D ]
} V  q
W d S )N)range)count_)r   r   r   gen4   s    zdata_repeated.<locals>.genr   )r   r   r   )r   r   data_repeated%   s    r   c               C   s   t dS )ziLength-3 array with a known sort order.

    This should be three items [B, C, A] with
    A < B < C
    N)r   r   r   r   r   data_for_sorting:   s    r   c               C   s   t dS )zvLength-3 array with a known sort order.

    This should be three items [B, NA, A] with
    A < B and NA missing.
    N)r   r   r   r   r   data_missing_for_sortingD   s    r   c               C   s   t jS )zBinary operator for comparing NA values.

    Should return a function of two arguments that returns
    True if both arguments are (scalar) NA for your type.

    By default, uses ``operator.is_``
    )operatoris_r   r   r   r   na_cmpN   s    	r   c               C   s   dS )z6The scalar missing value for this type. Default 'None'Nr   r   r   r   r   na_valueZ   s    r   c               C   s   t dS )zData for factorization, grouping, and unique tests.

    Expected to be like [B, B, NA, NA, A, A, B, C]

    Where A < B < C and NA is missing
    N)r   r   r   r   r   data_for_grouping`   s    r   TFc             C   s   | j S )z#Whether to box the data in a Series)r   )r	   r   r   r   box_in_seriesk   s    r   )r   ZpytestZfixturer   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   <module>   s   
	

