
    bMh,0                        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 d Zd Zd Zd Zej                            dd	d
dej        ej        gg dfd	ej        gd	dgfd	ej        gd	dgfej        ej        gddgf ej        ej        ej        ge          ddgfg          d             Zej                            dddgddgddgddg ej        dd           ej        dg           ej        ddg           ej        ddg          ej        ddigg	          d             Zd Zd Zd Zd Zd Zd  Zd! Zd" Z ej                            d#d	d
gd$d%g&          d'             Z!d( Z"dS ))    N)BooleanArray)coerce_to_arrayc                     t          j        g dd          } t          j        g dd          }t          | |          }t          j        g dd          }t	          j        ||           t          j        t          d          5  t          | 	                                |           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          | |	                                           d d d            n# 1 swxY w Y   t          j        t          d          5  t          | 
                    t                    |           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          | d            d d d            n# 1 swxY w Y   t          j        t          d
          5  t          |                     dd          |           d d d            n# 1 swxY w Y   t          j        t          d
          5  t          | |                    dd                     d d d            d S # 1 swxY w Y   d S )NTFTFbooldtypeFFFTTFTNbooleanz$values should be boolean numpy arraymatchz"mask should be boolean numpy arrayz"values.shape must match mask.shape   )nparrayr   pdtmassert_extension_array_equalpytestraises	TypeErrortolistastypeint
ValueErrorreshapevaluesmaskresultexpecteds       m/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/arrays/boolean/test_construction.pytest_boolean_array_constructorr$   
   s   X000???F8///v>>>D&$''Fx111CCCH#FH555	y(N	O	O	O , ,V]]__d+++, , , , , , , , , , , , , , , 
y(L	M	M	M , ,VT[[]]+++, , , , , , , , , , , , , , , 
y(N	O	O	O / /V]]3''.../ / / / / / / / / / / / / / / 
y(L	M	M	M # #VT"""# # # # # # # # # # # # # # # 
z)M	N	N	N 2 2V^^Ar**D1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
z)M	N	N	N 2 2VT\\!R001112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2sl   	#B88B<?B<#DDD3)E((E,/E,F++F/2F/%HH	H(%II!Ic                     t          j        g dd          } t          j        g dd          }t          | |          }|j        | u sJ |j        |u sJ t          | |d          }|j        | usJ |j        |usJ d S )Nr   r   r   r
   T)copy)r   r   r   _data_mask)r   r    r!   s      r#   #test_boolean_array_constructor_copyr)   %   s    X000???F8///v>>>D&$''F<6!!!!<4&$T222F<v%%%%<t######    c                  0   t          t          j        g d          t          j        g d                    } t          j        g dd          }t	          j        ||            t          j        t          j        g d          d          }t	          j        ||            t          j        t          j        g dt                    d          }t	          j        ||            t          t          j        g d          t          j        g d                    } t          j        g dd          }t	          j        ||            t          j        t          j        g dt                    d          }t	          j        ||            d S )NTFT)FFFr   r   FFTTFNr   r   r   r   r   r   objectr"   r!   s     r#   test_to_boolean_arrayr2   2   s   
$$$%%rx0E0E0E'F'F H X)));;;F#FH555Xbh222339EEEF#FH555Xbh222&AAASSSF#FH555 
$$$%%rx0D0D0D'E'E H X)));;;F#FH555Xbh222&AAASSSF#FH55555r*   c                  \   t          t          j        g d          t          j        g d                    } t          j        g dd          }t	          j        ||            t          j        t          j        g dt                    d          }t	          j        ||            d S )N)TTT)NNNr   r   r/   r1   s     r#   test_to_boolean_array_all_noner4   I   s    BH%7%7%788"(CUCUCU:V:VWWHX(((	:::F#FH555Xbh111@@@	RRRF#FH55555r*   za, bTF)TFNNNr   c                     t          j        | d          }t          j        |d          }t          j        ||           d S )Nr   r   r   r   r   r   )abr!   r"   s       r#   (test_to_boolean_array_missing_indicatorsr9   R   sE     Xay)))Fx+++H#FH55555r*   r   foobar12r            ?g       @20130101)periodsr7   c                     d}t          j        t          |          5  t          j        | d           d d d            d S # 1 swxY w Y   d S )NzNeed to pass bool-like valuer   r   r   )r   r   r   r   r   )r   msgs     r#   test_to_boolean_array_errorrD   b   s    " )C	y	,	,	, * *
y))))* * * * * * * * * * * * * * * * * *s   AA	Ac                  b   t          j        t          j        g d          d          } t          j        g dd          }t          j        | |           t          j        t          j        g d          d          } t          j        g dd          }t          j        | |           d S N)r   r   r   r   r   r   r   )r   r   r   Nr   )r   r   r   r   r   r!   r"   s     r#   (test_to_boolean_array_from_integer_arrayrH   x   s    Xbh|||,,I>>>Fx222)DDDH#FH555 Xbh//yAAAFx111CCCH#FH55555r*   c                  z   t          j        t          j        g d          d          } t          j        g dd          }t          j        | |           t          j        t          j        dddt          j        g          d          } t          j        g dd          }t          j        | |           d S )N)r?           r?   rJ   r   r   r   r?   rJ   r   )r   r   r   r   r   nanrG   s     r#   &test_to_boolean_array_from_float_arrayrL      s    Xbh33344IFFFFx222)DDDH#FH555 XbhS#rv677yIIIFx111CCCH#FH55555r*   c                     t          j        g dd          } t          j        g dd          }t          j        | |           t          j        g dd          } t          j        g dd          }t          j        | |           d S rF   r6   rG   s     r#   "test_to_boolean_array_integer_likerN      s    Xlll)444Fx222)DDDH#FH555 XoooY777Fx111CCCH#FH55555r*   c                     t          j        g dd          } t          j        g dd          }t          t          | |           }t          | |          }t	          j        ||           |j        | u sJ |j        |u sJ t          t          | |d           }t          | |          }t	          j        ||           |j        | usJ |j        |usJ g d} t          j        g dd          }t          t          | |           }t          t          j        g d	          t          j        g d
                    }t	          j        ||           t          t          t          j        | t                    |           }t	          j        ||           t          t          | |	                                           }t	          j        ||           t          j        g dd          } t          j        g dd          }t          | 
                    dd                     t          j        t          d          5  t          | 
                    dd          |           d d d            n# 1 swxY w Y   t          j        t          d          5  t          | |
                    dd                     d d d            d S # 1 swxY w Y   d S )Nr   r   r   r
   r    T)r    r&   )TFNF)TFTT)FFTTr   r   z&values.shape and mask.shape must matchr   )r   r   r   r   r   r   r'   r(   r0   r   r   r   r   r   r   s       r#   test_coerce_to_arrayrQ      sm   X000???F8///v>>>D?6===>FFD))H#FH555<6!!!!<4?64HHHIFFD))H#FH555<v%%%%<t#### (''F8///v>>>D?6===>F
***++RX6P6P6P-Q-Q H #FH555?28F&+I+I+IPTUUUVF#FH555?6FFFGF#FH555 X000???F8///v>>>D FNN1b))***	z)Q	R	R	R : :q"--D9999: : : : : : : : : : : : : : : 
z)Q	R	R	R : :T\\!R%8%89999: : : : : : : : : : : : : : : : : :s$   &I>>JJ$&KKKc                  B   t          j        g dd          } t          j        g dd          }t          | |          }t          t          |           }t	          j        ||           |j        |j        u sJ |j        |j        u sJ t          t          |          ddi}t	          j        ||           |j        |j        usJ |j        |j        usJ t          j	        t          d          5  t          ||	           d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r
   r&   Tz'cannot pass mask for BooleanArray inputr   rP   )r   r   r   r   r   r   r'   r(   r   r   r   )r   r    arrr!   s       r#   'test_coerce_to_array_from_boolean_arrayrT      sz   X000???F8///v>>>D
vt
$
$C?3//0F#FC000<39$$$$<39$$$$?3//;d;;F#FC000<sy((((<sy((((	z)R	S	S	S ( ($''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   5DDDc                     t          j        g dd          } t          j        |           }t          j        ddt           j        gd          }t	          j        ||           t          j        g dd          } t          j        |           }t          j        g dd          }t	          j        ||           t          j        | d          }t          j        g dd          }t	          j        ||           t          j        g dd          } d	}t          j        t          |
          5  t          j        | d           d d d            d S # 1 swxY w Y   d S )Nr.   r   r   TFr0   r,   r   zqcannot convert to 'bool'-dtype NumPy array with missing values. Specify an appropriate 'na_value' for this dtype.r   )	r   r   r   NAr   assert_numpy_array_equalr   r   r   )rS   r!   r"   rC   s       r#   test_coerce_to_numpy_arrayrX      s   
(&&&i
8
8
8CXc]]Fxube,H===H111 (&&&i
8
8
8CXc]]Fx+++6:::H111 Xc(((Fx+++6:::H111
(&&&i
8
8
8C	<  
z	-	-	- $ $
F####$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   6EE!Ec                      t          j        t          j        ddddddt          j        gt
                    d          } t          t          j        g d	          t          j        g d
                    }t          j        | |           d S )NTrueFalser<   z1.00z0.0r   r   )TFTTFFF)FFFFFFT)r   _from_sequence_of_stringsr   r   rK   r0   r   r   rG   s     r#   "test_to_boolean_array_from_stringsr^      s    3
&'3sE26B&QQQ  F 
???@@
AAABB H
 #FH55555r*   c                      t          j        t          d          5  t          j        dgd           d d d            d S # 1 swxY w Y   d S )Nzcannot be castr   donkeyr   r   )r   r   r   r   r]    r*   r#   1test_to_boolean_array_from_strings_invalid_stringrb      s    	z)9	:	:	: L L.zKKKKL L L L L L L L L L L L L L L L L Ls   AAAboxseriesr   )idsc                    | rt           j        nt           j        } |g dd          }|                                }t	          j        g dd          }t          j        ||            |g dd          }|                                }t	          j        ddt           j        gd          }t          j        ||            |g dd          }|                    d	          }t	          j        ddt           j        gt
          j         d
          }t          j        ||            |g dd          }|                    d          }t	          j        g dd          }t          j        ||            |g dd          }t          j
        t          d          5  |                    d          }d d d            n# 1 swxY w Y    |g dd          }|                    t          d           }t	          j        g dd          }t          j        ||           |                    t          d          }t	          j        g dd          }t          j        ||           |                    dd          }t	          j        g dd          }t          j        ||           |                    dt          j                  }t	          j        ddt          j        gd          }t          j        ||           t          j
        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr,   r   r   r   r.   TFr0   strU5zcannot convert to 'bool'-dtyper   )r	   na_value)TFFint64)r   r   rk   float64r   r   zcannot convert to 'int64'-dtype)r   Seriesr   to_numpyr   r   rW   rV   ENDIANr   r   r   r0   r   rK   )rc   conrS   r!   r"   s        r#   test_to_numpyrq     s   
("))C
#!!!
3
3
3C\\^^Fx+++6:::H111
#!!!
3
3
3C\\^^Fxube,H===H111
#!!!
3
3
3C\\\&&Fxube,ry4D4D4DEEEH111 #!!!
3
3
3C\\\''Fx+++6:::H111
#!!!
3
3
3C	z)I	J	J	J , ,F++, , , , , , , , , , , , , , , #!!!
3
3
3C\\\66Fx+++8<<<H111\\u\55Fx,,,F;;;H111\\#\66Fx7333H111\\	BF\;;FxArvi888H111 
z)J	K	K	K $ $7###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s$   ,GGG3MMMc                     t          j        g dd          } |                     t                    }d|d<   t	          j        | t          j        g dd                     t          j        g dd          } |                     t          d          }d|d<   t	          j        | t          j        g dd                     d S )	Nr,   r   r   Fr   r-   T)r	   r&   )r   r   rn   r   r   r   )rS   r!   s     r#   test_to_numpy_copyrs   9  s    
(&&&i
8
8
8C\\\%%FF1I#RX***)<<<   (&&&i
8
8
8C\\4\00FF1I#C2E2E2EY)W)W)WXXXXXr*   )#numpyr   r   pandasr   pandas._testing_testingr   pandas.arraysr   pandas.core.arrays.booleanr   r$   r)   r2   r4   markparametrizerK   rV   r   floatr9   
date_rangerD   rH   rL   rN   rQ   rT   rX   r^   rb   rq   rs   ra   r*   r#   <module>r~      s                  & & & & & & 6 6 6 6 6 62 2 26
$ 
$ 
$6 6 6.6 6 6 

tRVRU	+-L-L-LM
$&
t%
&"&	D$<(	2626"%	0	0	04,?	 	6 6	 	6 		c
	
A	c
j!,,,%!Q#s	#q * * *6 6 66 6 6	6 	6 	6': ': ':T( ( (($ $ $6
6 
6 
6L L L
 uHg3FGG0$ 0$ HG0$fY Y Y Y Yr*   