o
    _~#g;                     @   s  d dl mZmZmZ 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Zd dlmZ dd Zdd Zd	d
 Zdd Zdd Zejjde	ddddedejgeddd Zejde	ddddedejeded edddedejgdd Zejdd dd ddeded e d ed e d g
ejd ddgd!d" Z!ejddddedede dgejd ddgd#d$ Z"ejdd%d&ed%e d%gejd ddgd'd( Z#d)d* Z$d+d, Z%d-d. Z&d/d0 Z'd1d2 Z(ejd3g d4d5d6 Z)d7d8 Z*d9d: Z+d;d< Z,d=d> Z-d?d@ Z.dAdB Z/dCdD Z0dEdF Z1dGdH Z2dIdJ Z3dKdL Z4ejdMdde	gdNfdOdPe	gdQfgejdRddgdSdT Z5dS )U    )datetime	timedeltaNNA)	is_scalarc                  C   s&   t t u sJ tt  } | t u sJ d S N)r   type)new_NA r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/scalar/test_na_scalar.pytest_singleton   s   
r   c                   C   s$   t tdksJ ttdksJ d S )N<NA>)reprr   strr   r   r   r   	test_repr   s   r   c                   C   sf   t tdksJ t tddksJ t tddksJ t dks!J tddks)J tddks1J d S )Nr   z>10z
      <NA>xxx)formatr   r   r   r   r   test_format   s   r   c                  C   st   d} t jt| d tt W d    n1 sw   Y  t jt| d t  W d    d S 1 s3w   Y  d S )Nz boolean value of NA is ambiguousmatch)pytestraises	TypeErrorboolr   msgr   r   r   test_truthiness)   s   
"r   c                  C   s0   t tt tks
J tdi} | t dksJ d S )Ntest)hashr   )dr   r   r   test_hashable3   s   r!   other   g      ?a   a)idsc                 C   s   | }|j dv rt|ttfrtj|j  d| dd |j dv r-|t|ttfu s+J d S |j dkr6|d7 }|t|tu s?J d S )N)powrpowrmodz with NA and z not defined.)reason)divmodrdivmodr(   r#   )__name__
isinstancer   bytesr   skipr   )all_arithmetic_functionsr"   opr   r   r   test_arithmetic_ops9   s   

r3   T      c                 C   s(   | t |t u s	J | |t t u sJ d S r   r   )comparison_opr"   r   r   r   test_comparison_opsJ   s   r7   valueg        g       Fasarrayc                 C   sH   |rt | g} t|  }|r|d }n	t|t| sJ |dks"J d S )Nr   r#   )nparrayr   r.   r	   r8   r9   resultr   r   r   test_pow_special`   s   
r>   c                 C   s^   |rt | g} | t }|r|d }nt| t jt jt jfs't|t| s'J || ks-J d S Nr   )r:   r;   r   r.   float64bool_int_r	   r<   r   r   r   test_rpow_special}   s   
rC   g      c                 C   s6   |rt | g} | t }|r|d }t|sJ d S r?   )r:   r;   r   pdisnar<   r   r   r   test_rpow_minus_one   s   rG   c                   C   s>   t 
 t u sJ t  t u sJ tt t u sJ t  t u sJ d S r   )r   absr   r   r   r   test_unary_ops   s   rI   c                  C   s   t d@ t u sJ dt @ t u sJ t d@ du sJ dt @ du s J t t @ t u s(J d} tjt| d t d@  W d    d S 1 sAw   Y  d S NTFzunsupported operand typer      r   r   r   r   r   r   r   r   test_logical_and      
"rM   c                  C   s   t dB du sJ dt B du sJ t dB t u sJ dt B t u s J t t B t u s(J d} tjt| d t dB  W d    d S 1 sAw   Y  d S rJ   rL   r   r   r   r   test_logical_or   rN   rO   c                  C   s   t dA t u sJ dt A t u sJ t dA t u sJ dt A t u s J t t A t u s(J d} tjt| d t dA  W d    d S 1 sAw   Y  d S rJ   rL   r   r   r   r   test_logical_xor   rN   rP   c                   C   s   t  t u sJ d S r   r   r   r   r   r   test_logical_not   s   rQ   shape))r5   )r5   r5   r#   r4   r5   c                 C   sL   |}t | }|jdkr|d7 }|t|}t j|jttd}t|| d S )Nr'   rK   dtype)	r:   zerosr-   r   fullrR   objecttmassert_numpy_array_equal)rR   r1   r2   r$   r=   expectedr   r   r   test_arithmetic_ndarray   s   


r\   c                   C   s   t tdu sJ d S )NT)r   r   r   r   r   r   test_is_scalar   s   r]   c                   C   s(   t tdu s	J t tdu sJ d S )NTF)rE   rF   r   notnar   r   r   r   	test_isna   s   r_   c                  C   s4   t jdtgtd} t ddg}t|  | d S )Nr#   rT   FT)rE   Seriesr   rX   rY   assert_series_equalrF   )sr[   r   r   r   test_series_isna   s   rc   c                  C   sx   t ttu s	J t tdtu sJ t td} | d tu r%| d tu s'J t t} | d tu r8| d tu s:J d S )Nr#   r   )r:   logr   addr+   frexpr=   r   r   r   
test_ufunc   s   
 rh   c                  C   sF   d} t jt| d tjtd W d    d S 1 sw   Y  d S )Nzufunc method 'at'r   r   )r   r   
ValueErrorr:   rd   atr   r   r   r   r   test_ufunc_raises   s   "rk   c                  C   s   t g d} t jtttgtd}t | t}t|| t t| }t|| t tttu s3J t tt}t|dksAJ t	dd |D sLJ d S )NrS   rT   r4   c                 s   s    | ]}|t u V  qd S r   r   ).0xr   r   r   	<genexpr>  s    z/test_binary_input_not_dunder.<locals>.<genexpr>)
r:   r;   r   rX   	logaddexprY   rZ   modflenall)r$   r[   r=   r   r   r   test_binary_input_not_dunder   s   rs   c                  C   s   t g d} t jtttgtd}t | t}t|tsJ |D ]}t|| t|| q t t| }|D ]}t|| t|| q7d S )NrS   rT   )	r:   r;   r   rX   r+   r.   tuplerY   rZ   )r$   r[   r=   arrr   r   r   test_divmod_ufunc  s   rv   c                  C   s8   t dtt di} | t  dksJ | tt  dksJ d S )Nfoobar)r   r   rg   r   r   r    test_integer_hash_collision_dict  s   ry   c                  C   s<   t tt h} t| dksJ t | v sJ tt | v sJ d S )Nr4   )r   r   rq   rg   r   r   r   test_integer_hash_collision_set  s   rz   c                  C   s    t t t} | tu sJ d S r   )pickleloadsdumpsr   rg   r   r   r   test_pickle_roundtrip(  s   r~   c                  C   s   t t} | tu sJ d S r   )rY   round_trip_pickler   rg   r   r   r   test_pickle_roundtrip_pandas.  s   
r   zvalues, dtypeInt64ABstringas_framec                 C   s>   t t j||d}| r|jdd}t|}t|| d S )NrT   r   )name)rE   r`   r;   to_framerY   r   assert_equal)r   valuesrU   rb   r=   r   r   r    test_pickle_roundtrip_containers3  s
   
r   )6datetimer   r   r   r{   numpyr:   r   pandas._libs.missingr   pandas.core.dtypes.commonr   pandasrE   pandas._testing_testingrY   r   r   r   r   r!   markparametrizeint64nanr   r3   rA   NaTr7   rB   r@   r>   rC   rG   rI   rM   rO   rP   rQ   r\   r]   r_   rc   rh   rk   rs   rv   ry   rz   r~   r   r   r   r   r   r   <module>   s    



" 


	