o
    g'                     @   s  d dl Zd dl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G dd dejZdd Z dS )    N)is_bool_dtype)basepyarrowz0.13.0)
minversion)ArrowBoolArrayArrowBoolDtypec                   C   s   t  S N)r    r	   r	   d/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/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_scalars)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J d S r   )pdSeriesequals)r   r	   r	   r
   test_basic_equals"   s   r   c                   @      e Zd ZdS )BaseArrowTestsN__name__
__module____qualname__r	   r	   r	   r
   r   '       r   c                   @      e Zd Zdd ZdS )	TestDtypec                 C      t d d S NzGH-22666pytestskip)selfr   r   r	   r	   r
   test_array_type_with_arg,      z"TestDtype.test_array_type_with_argN)r   r    r!   r+   r	   r	   r	   r
   r$   +       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      |   d S r   )copyr*   r   r	   r	   r
   	test_copy1      zTestInterface.test_copyc                 C   r/   r   )viewr1   r	   r	   r
   	test_view5   r3   zTestInterface.test_viewzNot implemented yet)raisesreasonc                       t  || d S r   )supertest_contains)r*   r   r   	__class__r	   r
   r:   9   s   zTestInterface.test_contains)r   r    r!   r2   r5   r(   markxfailAssertionErrorr:   __classcell__r	   r	   r;   r
   r.   0   s
    r.   c                       s   e Zd Zd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	ejjdd fddZ
ejjdd fddZ  ZS )TestConstructorsc                 C   r%   r&   r'   r1   r	   r	   r
   test_from_dtype?   r,   z TestConstructors.test_from_dtypezbad is-na for empty data)r7   c                       t  | d S r   )r9   test_from_sequence_from_clsr1   r;   r	   r
   rD   C      z,TestConstructors.test_from_sequence_from_clsz-pa.NULL is not recognised as scalar, GH-33899c                    r8   r   )r9   *test_series_constructor_no_data_with_indexr*   r   na_valuer;   r	   r
   rF   G      z;TestConstructors.test_series_constructor_no_data_with_indexc                    r8   r   )r9   ,test_series_constructor_scalar_na_with_indexrG   r;   r	   r
   rJ   L   rI   z=TestConstructors.test_series_constructor_scalar_na_with_indexzraises AssertionErrorc                    rC   r   )r9   test_construct_empty_dataframer*   r   r;   r	   r
   rK   Q   rE   z/TestConstructors.test_construct_empty_dataframez$_from_sequence ignores dtype keywordc                    rC   r   )r9   
test_emptyrL   r;   r	   r
   rM   U   rE   zTestConstructors.test_empty)r   r    r!   rB   r(   r=   r>   rD   rF   rJ   rK   rM   r@   r	   r	   r;   r
   rA   >   s    rA   c                   @   r#   )
TestReducec                 C   s   d S r   r	   )r*   r	   r	   r
   test_reduce_series_boolean[   s   z%TestReduce.test_reduce_series_booleanN)r   r    r!   rO   r	   r	   r	   r
   rN   Z   r-   rN   c                   @   r   )TestReduceBooleanNr   r	   r	   r	   r
   rP   _   r"   rP   c                 C   sV   t | sJ tjj| sJ ttt| }||  }|t	|  }t
|| d S r   )r   r   corecommonis_bool_indexerr   rangelenr   asarraytmassert_series_equal)r   sresultexpectedr	   r	   r
   test_is_bool_dtypec   s   r\   )!numpyr   r(   pandasr   pandas._testing_testingrW   pandas.api.typesr   pandas.tests.extensionr   importorskip#pandas.tests.extension.arrow.arraysr   r   fixturer   r   r   r   r   BaseDtypeTestsr$   BaseInterfaceTestsr.   BaseConstructorsTestsrA   BaseNoReduceTestsrN   BaseBooleanReduceTestsrP   r\   r	   r	   r	   r
   <module>   s,    


