U
    sVcW                     @   s`  d dl Zd dlZd dlZd dlmZ d dlm	Z	 ej
dddgejddgejdfejddgddejddgejdfejddgddejddgejdfeddgejddgejdfd	d
d	gejd	d
d	gejdfed	d
d	gejd	d
d	gejdfejd	d
d	gddejd	d
d	gejdfg ejg ejdfgdd Zej
dd	d
dgejd	d
dgddgdd Zej
dd	d
gejd	d
gddejd	d
gejdgdd Zej
dd ddgejd dejgddgdd Zej
dddgejddgddejd	d
gedejd	d
gedgdd Zdd Zej
ddeed ddgd d! ZdS )"    N)check_array_indexerzindexer, expected      ZdtypeZint64ZInt32TFbooleanc                 C   s*   t dddg}t|| }t|| d S Nr   r      )nparrayr   tmassert_numpy_array_equal)indexerexpectedarrresult r   L/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/indexing/test_check_indexer.pytest_valid_input	   s    
r   r   c                 C   s>   t dddg}t|| }t jdddgtd}t|| d S )Nr   r   r   TFr   )r	   r
   r   boolr   r   )r   r   r   r   r   r   r   test_boolean_na_returns_indexer"   s    
r   c              	   C   s<   t dddg}d}tjt|d t||  W 5 Q R X d S )Nr   r   r   zBoolean index has wrong lengthmatchr	   r
   pytestraises
IndexErrorr   r   r   msgr   r   r   test_bool_raise_length/   s    	r   ZInt64c              	   C   s<   t dddg}d}tjt|d t||  W 5 Q R X d S )Nr   r   r   z9Cannot index with an integer indexer containing NA valuesr   )r	   r
   r   r   
ValueErrorr   r   r   r   r   test_int_raise_missing_values?   s    r    g        g      ?g       @Zfloat64c              	   C   s<   t dddg}d}tjt|d t||  W 5 Q R X d S )Nr   r   r   9arrays used as indices must be of integer or boolean typer   r   r   r   r   r   test_raise_invalid_array_dtypesJ   s    
r"   c              	   C   sN   t jddg| d}tdddg}d}tjt|d t|| W 5 Q R X d S )	Nabr   r   r   r   r!   r   )pdr
   r	   r   r   r   r   )Znullable_string_dtyper   r   r   r   r   r    test_raise_nullable_string_dtype[   s
    r&   r   )Nc                 C   s*   t dddg}t|| }|| ks&td S r   )r	   r
   r   AssertionError)r   r   r   r   r   r   !test_pass_through_non_array_likesd   s    
r(   )Znumpyr	   r   Zpandasr%   Zpandas._testingZ_testingr   Zpandas.api.indexersr   markZparametrizer
   ZintpZIndexZbool_r   r   r   ZNAr    objectr"   r&   Ellipsisslicer(   r   r   r   r   <module>   sb   $$ $
 


 
	
	