
    Owg,0                     B   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                   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                   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                   j#                  d#d	d
gd$d%g&      d'        Z!d( Z"y))    N)BooleanArray)coerce_to_arrayc                  P   t        j                  g dd      } t        j                  g dd      }t        | |      }t        j                  g dd      }t	        j
                  ||       t        j                  t        d      5  t        | j                         |       d d d        t        j                  t        d	      5  t        | |j                                d d d        t        j                  t        d      5  t        | j                  t              |       d d d        t        j                  t        d	      5  t        | d        d d d        t        j                  t        d
      5  t        | j                  dd      |       d d d        t        j                  t        d
      5  t        | |j                  dd             d d d        y # 1 sw Y   <xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   |xY w# 1 sw Y   y xY w)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       d/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/arrays/boolean/test_construction.pytest_boolean_array_constructorr$   
   s   XX0?F88/v>D&$'Fxx1CH##FH5	y(N	O ,V]]_d+, 
y(L	M ,VT[[]+, 
y(N	O /V]]3'./ 
y(L	M #VT"# 
z)M	N 2V^^Ar*D12 
z)M	N 2VT\\!R012 2, ,, ,/ /# #2 22 2sH   	GG+ G8H8H8HG(+G58HHHH%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 y )Nr   r   r   r
   T)copy)r   r   r   _data_mask)r   r    r!   s      r#   #test_boolean_array_constructor_copyr)   %   s    XX0?F88/v>D&$'F<<6!!!<<4&$T2F<<v%%%<<t###    c                  <   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
                  ||        y )NTFT)FFFr   r   FFTTFNr   r   r   r   r   r   objectr"   r!   s     r#   test_to_boolean_arrayr2   2   s   
$%rxx0E'FH XX);F##FH5XXbhh239EF##FH5XXbhh2&ASF##FH5 
$%rxx0D'EH XX);F##FH5XXbhh2&ASF##FH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
                  ||        y )N)TTT)NNNr   r   r/   r1   s     r#   test_to_boolean_array_all_noner4   I   so    BHH%78"((CU:VWHXX(	:F##FH5XXbhh1@	RF##FH5r*   za, bTF)TFNNNr   c                     t        j                  | d      }t        j                  |d      }t        j                  ||       y )Nr   r   r   r   r   r   )abr!   r"   s       r#   (test_to_boolean_array_missing_indicatorsr9   R   s4     XXay)Fxx+H##FH5r*   r   foobar12r            ?g       @20130101)periodsr7   c                     d}t        j                  t        |      5  t        j                  | d       d d d        y # 1 sw Y   y xY w)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c                  p   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                  | |       y 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   sx    XXbhh|,I>Fxx2)DH##FH5 XXbhh/yAFxx1CH##FH5r*   c                     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                  | |       y )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    XXbhh34IFFxx2)DH##FH5 XXbhhS#rvv67yIFxx1CH##FH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                  | |       y rF   r6   rG   s     r#   "test_to_boolean_array_integer_likerN      sf    XXl)4Fxx2)DH##FH5 XXoY7Fxx1CH##FH5r*   c                  v   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        | |j                                }t	        j
                  ||       t        j                  g dd      } t        j                  g dd      }t        | j                  dd             t        j                  t        d      5  t        | j                  dd      |       d d d        t        j                  t        d      5  t        | |j                  dd             d d d        y # 1 sw Y   KxY w# 1 sw Y   y xY w)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      s,   XX0?F88/v>D?6=>FFD)H##FH5<<6!!!<<4?64HIFFD)H##FH5<<v%%%<<t### (F88/v>D?6=>F
*+RXX6P-QH ##FH5?288F&+IPTUVF##FH5?6FGF##FH5 XX0?F88/v>D FNN1b)*	z)Q	R :q"-D9: 
z)Q	R :T\\!R%89: :: :: :s   ;J#<J/#J,/J8c                  l   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        y # 1 sw Y   y xY w)
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      s    XX0?F88/v>D
vt
$C?3/0F##FC0<<399$$$<<399$$$?3/;d;F##FC0<<syy(((<<syy(((	z)R	S ($'( ( (s   D**D3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        y # 1 sw Y   y xY w)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
8CXXc]Fxxubee,H=H1 ((&i
8CXXc]Fxx+6:H1 XXc(Fxx+6:H1
((&i
8C	<  
z	- $
F#$ $ $s   E''E0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                  | |       y )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^      sn    33
&'3sE266B&QF 
?@
ABH
 ##FH5r*   c                      t        j                  t        d      5  t        j                  dgd       d d d        y # 1 sw Y   y xY w)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..zKL L Ls	   >Aboxseriesr   )idsc                    | rt         j                  nt         j                  } |g dd      }|j                         }t	        j                  g dd      }t        j                  ||        |g dd      }|j                         }t	        j                  ddt         j                  gd      }t        j                  ||        |g dd      }|j                  d	      }t	        j                  ddt         j                  gt
        j                   d
      }t        j                  ||        |g dd      }|j                  d      }t	        j                  g dd      }t        j                  ||        |g dd      }t        j                  t        d      5  |j                  d      }d d d         |g dd      }|j                  t        d       }t	        j                  g dd      }t        j                  ||       |j                  t        d      }t	        j                  g dd      }t        j                  ||       |j                  dd      }t	        j                  g dd      }t        j                  ||       |j                  dt        j                        }t	        j                  ddt        j                  gd      }t        j                  ||       t        j                  t        d      5  |j                  d       d d d        y # 1 sw Y   zxY w# 1 sw Y   y xY w)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
!
3C\\^Fxx+6:H1
!
3C\\^Fxxubee,H=H1
!
3C\\\&Fxxubee,ryyk4DEH1 !
3C\\\'Fxx+6:H1
!
3C	z)I	J ,F+, !
3C\\\6Fxx+8<H1\\u\5Fxx,F;H1\\#\6Fxx73H1\\	BFF\;FxxArvvi8H1 
z)J	K $7#$ $-, ,,$ $s   )L4M4L>M
c                     t        j                  g dd      } | j                  t              }d|d<   t	        j
                  | t        j                  g dd             t        j                  g dd      } | j                  t        d      }d|d<   t	        j
                  | t        j                  g dd             y )	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
8C\\\%FF1I##RXX*)< ((&i
8C\\4\0FF1I##C2EY)W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26
$6.6 

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