o
    _~#g,0                     @   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 dd Zdd Zdd	 Zd
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dgfgdd Zejdddgddgddgddgejdddedgeddgeddgejddigg	dd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Z ejjd1ddgd2d3gd4d5d6 Z!d7d8 Z"dS )9    N)BooleanArray)coerce_to_arrayc                  C   s  t jg ddd} t jg ddd}t| |}tjg ddd}t|| tjtdd t| 	 | W d    n1 s?w   Y  tjtd	d t| |	  W d    n1 s]w   Y  tjtdd t| 
t| W d    n1 s|w   Y  tjtd	d t| d  W d    n1 sw   Y  tjtd
d t| dd| W d    n1 sw   Y  tjtd
d t| |dd W d    d S 1 sw   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expected r!   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/arrays/boolean/test_construction.pytest_boolean_array_constructor
   s.   
"r#   c                  C   sx   t jg ddd} t jg ddd}t| |}|j| u sJ |j|u s%J t| |dd}|j| us3J |j|us:J d S )Nr   r   r   r   T)copy)r   r   r   _data_mask)r   r   r   r!   r!   r"   #test_boolean_array_constructor_copy%   s   
r'   c                  C   s   t tg dtg d} tjg ddd}t||  tjtg ddd}t||  tjtjg dtddd}t||  t tg dtg d} tjg ddd}t||  tjtjg dtddd}t||  d S )NTFT)FFFr
   r   FFTTFNr   r   r   r   r   r   objectr    r   r!   r!   r"   test_to_boolean_array2   s    r.   c                  C   sh   t tg dtg d} tjg ddd}t||  tjtjg dtddd}t||  d S )N)TTT)NNNr
   r   r+   r-   r!   r!   r"   test_to_boolean_array_all_noneI   s
   r/   za, bTF)TFNNNr   c                 C   s,   t j| dd}t j|dd}t|| d S )Nr
   r   r   r   r   r   )abr   r    r!   r!   r"   (test_to_boolean_array_missing_indicatorsR   s   r3   r   foobar12r            ?g       @20130101)periodsr1   c                 C   sF   d}t jt|d tj| dd W d    d S 1 sw   Y  d S )NzNeed to pass bool-like valuer   r
   r   )r   r   r   r   r   )r   msgr!   r!   r"   test_to_boolean_array_errorb   s   "r=   c                  C   sp   t jtg ddd} t jg ddd}t| | t jtg ddd} t jg ddd}t| | d S N)r   r   r   r   r
   r   r   )r   r   r   Nr	   )r   r   r   r   r   r   r    r!   r!   r"   (test_to_boolean_array_from_integer_arrayx   s   r@   c                  C   sv   t jtg ddd} t jg ddd}t| | t jtdddtjgdd} t jg ddd}t| | d S )N)r9           r9   rA   r
   r   r   r9   rA   r	   )r   r   r   r   r   nanr?   r!   r!   r"   &test_to_boolean_array_from_float_array   s   rC   c                  C   sd   t jg ddd} t jg ddd}t| | t jg ddd} t jg ddd}t| | d S r>   r0   r?   r!   r!   r"   "test_to_boolean_array_integer_like   s   rD   c                  C   s  t jg ddd} t jg ddd}tt| |d }t| |}t|| |j| u s,J |j|u s3J tt| |dd }t| |}t|| |j| usNJ |j|usUJ g d} t jg ddd}tt| |d }tt g d	t g d
}t|| ttt j| td|d }t|| tt| |	 d }t|| t jg ddd} t jg ddd}t| 
dd tjtdd t| 
dd|d W d    n1 sw   Y  tjtdd t| |
ddd W d    d S 1 sw   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&   r,   r   r   r   r   r   r   r!   r!   r"   test_coerce_to_array   s@   

"rF   c                  C   s   t jg ddd} t jg ddd}t| |}tt| }t|| |j|ju s+J |j|ju s3J tt|ddi}t|| |j|jusJJ |j|jusRJ tj	t
dd t||d	 W d    d S 1 skw   Y  d S )
Nr   r   r   r   r$   Tz'cannot pass mask for BooleanArray inputr   rE   )r   r   r   r   r   r   r%   r&   r   r   r   )r   r   arrr   r!   r!   r"   'test_coerce_to_array_from_boolean_array   s   
"rH   c                  C   s   t jg ddd} t| }tjddt jgdd}t|| t jg ddd} t| }tjg ddd}t|| tj| dd}tjg ddd}t|| t jg ddd} d	}tjt|d
 tj| dd W d    d S 1 sww   Y  d S )Nr*   r
   r   TFr,   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   )rG   r   r    r<   r!   r!   r"   test_coerce_to_numpy_array   s"   

"rK   c               	   C   sV   t jtjddddddtjgtddd} t tg d	tg d
}t| | d S )NTrueFalser6   z1.00z0.0r   r
   )TFTTFFF)FFFFFFT)r   _from_sequence_of_stringsr   r   rB   r,   r   r   r?   r!   r!   r"   "test_to_boolean_array_from_strings   s   rP   c                   C   sD   t jtdd tjdgdd W d    d S 1 sw   Y  d S )Nzcannot be castr   donkeyr
   r   )r   r   r   r   rO   r!   r!   r!   r"   1test_to_boolean_array_from_strings_invalid_string   s   "rR   boxseriesr   )idsc                 C   sR  | rt jnt j}|g ddd}| }tjg ddd}t|| |g ddd}| }tjddt jgdd}t|| |g ddd}|jd	d}tjddt jgtj d
d}t|| |g ddd}|jdd}tjg ddd}t|| |g ddd}t	j
tdd |jdd}W d    n1 sw   Y  |g ddd}|jtd d}tjg ddd}t|| |jtdd}tjg ddd}t|| |jddd}tjg ddd}t|| |jdtjd}tjddtjgdd}t|| t	j
tdd |jdd W d    d S 1 s"w   Y  d S )Nr(   r
   r   r   r*   TFr,   strU5zcannot convert to 'bool'-dtyper   )r   na_value)TFFint64)r   r   rZ   float64r   r   zcannot convert to 'int64'-dtype)r   Seriesr   to_numpyr   r   rJ   rI   ENDIANr   r   r   r,   r   rB   )rS   conrG   r   r    r!   r!   r"   test_to_numpy  sJ   $r`   c                  C   s   t jg ddd} | jtd}d|d< t| t jg ddd t jg ddd} | jtdd}d|d< t| t jg ddd d S )	Nr(   r
   r   Fr   r)   T)r   r$   )r   r   r]   r   r   r   )rG   r   r!   r!   r"   test_to_numpy_copy9  s   ra   )#numpyr   r   pandasr   pandas._testing_testingr   pandas.arraysr   pandas.core.arrays.booleanr   r#   r'   r.   r/   markparametrizerB   rI   r   floatr3   
date_ranger=   r@   rC   rD   rF   rH   rK   rP   rR   r`   ra   r!   r!   r!   r"   <module>   sZ    	



*
3