U
    sVc                     @   s0  d dl Zd dlZd dlmZmZ d dlZd dlm	Z
 d dlmZ d dlmZ ejddd d dlmZmZ ejd	d
 Zejdd Zejdd Zdd ZG dd dZG dd deejZG dd deejZG dd deejZG dd dejZ ej!j"e o
e ddG dd dej#Z$dd  Z%dS )!    N)is_ci_environmentis_platform_windows)is_bool_dtype)baseZpyarrowz1.0.1)Z
minversion)ArrowBoolArrayArrowBoolDtypec                   C   s   t  S N)r    r	   r	   J/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/extension/arrow/test_bool.pydtype   s    r   c                  C   s,   t jjdddtd} | d  | d< t| S )Nr      d   )sizer      )nprandomrandintboolr   _from_sequence)valuesr	   r	   r
   data   s    r   c                   C   s   t d dgS )NT)r   r   r	   r	   r	   r
   data_missing"   s    r   c                 C   s   t | t | std S r   )pdSeriesequalsAssertionError)r   r	   r	   r
   test_basic_equals'   s    r   c                   @   s   e Zd ZdS )BaseArrowTestsN__name__
__module____qualname__r	   r	   r	   r
   r   ,   s   r   c                   @   s   e Zd ZdS )	TestDtypeNr   r	   r	   r	   r
   r"   0   s   r"   c                       s<   e Zd Zdd Zdd Zejjedd fddZ	  Z
S )	TestInterfacec                 C   s   |   d S r   )copyselfr   r	   r	   r
   	test_copy5   s    zTestInterface.test_copyc                 C   s   |   d S r   )viewr%   r	   r	   r
   	test_view9   s    zTestInterface.test_viewz&Doesn't recognize data._na_value as NA)Zraisesreasonc                    s   t  || d S r   )supertest_contains)r&   r   r   	__class__r	   r
   r,   =   s    zTestInterface.test_contains)r   r    r!   r'   r)   pytestmarkxfailr   r,   __classcell__r	   r	   r-   r
   r#   4   s   r#   c                       s^   e Zd Zejjdd fddZejjdd fddZejjdd fdd	Z  Z	S )
TestConstructorsz-pa.NULL is not recognised as scalar, GH-33899r*   c                    s   t  || d S r   )r+   *test_series_constructor_no_data_with_indexr&   r   Zna_valuer-   r	   r
   r5   F   s    z;TestConstructors.test_series_constructor_no_data_with_indexc                    s   t  || d S r   )r+   ,test_series_constructor_scalar_na_with_indexr6   r-   r	   r
   r7   K   s    z=TestConstructors.test_series_constructor_scalar_na_with_indexz$_from_sequence ignores dtype keywordc                    s   t  | d S r   )r+   
test_empty)r&   r   r-   r	   r
   r8   P   s    zTestConstructors.test_empty)
r   r    r!   r/   r0   r1   r5   r7   r8   r2   r	   r	   r-   r
   r3   E   s   r3   c                   @   s   e Zd Zdd ZdS )
TestReducec                 C   s   d S r   r	   )r&   r	   r	   r
   test_reduce_series_booleanV   s    z%TestReduce.test_reduce_series_booleanN)r   r    r!   r:   r	   r	   r	   r
   r9   U   s   r9   z#Causes stack overflow on Windows CIr4   c                   @   s   e Zd ZdS )TestReduceBooleanNr   r	   r	   r	   r
   r;   Z   s   r;   c                 C   sV   t | sttjj| stttt| }||  }|t	
|  }t|| d S r   )r   r   r   corecommonZis_bool_indexerr   rangelenr   ZasarraytmZassert_series_equal)r   sresultexpectedr	   r	   r
   test_is_bool_dtypeb   s    rD   )&Znumpyr   r/   Zpandas.compatr   r   Zpandasr   Zpandas._testingZ_testingr@   Zpandas.api.typesr   Zpandas.tests.extensionr   ZimportorskipZ#pandas.tests.extension.arrow.arraysr   r   Zfixturer   r   r   r   r   ZBaseDtypeTestsr"   ZBaseInterfaceTestsr#   ZBaseConstructorsTestsr3   ZBaseNoReduceTestsr9   r0   ZskipifZBaseBooleanReduceTestsr;   rD   r	   r	   r	   r
   <module>   s4   


