a
    Pf;                     @   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)Znew_NA r
   [/var/www/ai-form-bot/venv/lib/python3.9/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s4J t dksBJ tddksRJ tddksbJ d S )Nr   z>10z
      <NA>Zxxx)formatr   r
   r
   r
   r   test_format   s    r   c                  C   sr   d} t jt| d tt W d    n1 s00    Y  t jt| d t  W d    n1 sd0    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)Zidsc                 C   s   | }|j dv r6t|ttfr6tj|j  d| dd |j dv rX|t|ttfu s|J n$|j dkrj|d7 }|t|tu s|J d S )N)powrpowZrmodz with NA and z not defined.)reason)divmodZrdivmodr%   r!   )__name__
isinstancer   bytesr   skipr   )all_arithmetic_functionsr    opr
   r
   r   test_arithmetic_ops9   s    

r.   T      c                 C   s(   | t |t u sJ | |t t u s$J d S r   r   )Zcomparison_opr    r
   r
   r   test_comparison_opsJ   s    r1   valueg        g       Fasarrayc                 C   sH   |rt | g} t|  }|r&|d }nt|t| s8J |dksDJ d S )Nr   r!   )nparrayr   r)   r	   r2   r3   resultr
   r
   r   test_pow_special`   s    
r8   c                 C   s^   |rt | g} | t }|r&|d }n(t| t jt jt jfsNt|t| sNJ || ksZJ d S Nr   )r4   r5   r   r)   float64bool_int_r	   r6   r
   r
   r   test_rpow_special}   s    
r=   g      c                 C   s6   |rt | g} | t }|r$|d }t|s2J d S r9   )r4   r5   r   pdisnar6   r
   r
   r   test_rpow_minus_one   s    rA   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    rC   c                  C   s   t d@ t u sJ dt @ t u s J t d@ du s0J dt @ du s@J t t @ t u sPJ d} tjt| d t d@  W d    n1 s0    Y  d S NTFzunsupported operand typer      r   r   r   r   r   r
   r
   r   test_logical_and   s    rG   c                  C   s   t dB du sJ dt B du s J t dB t u s0J dt B t u s@J t t B t u sPJ d} tjt| d t dB  W d    n1 s0    Y  d S rD   rF   r   r
   r
   r   test_logical_or   s    rH   c                  C   s   t dA t u sJ dt A t u s J t dA t u s0J dt A t u s@J t t A t u sPJ d} tjt| d t dA  W d    n1 s0    Y  d S rD   rF   r   r
   r
   r   test_logical_xor   s    rI   c                   C   s   t  t u sJ d S r   r   r
   r
   r
   r   test_logical_not   s    rJ   shape))r0   )r0   r0   r!   r/   r0   c                 C   sL   |}t | }|jdkr |d7 }|t|}t j|jttd}t|| d S )Nr$   rE   dtype)	r4   Zzerosr(   r   fullrK   objecttmassert_numpy_array_equal)rK   r,   r-   r"   r7   expectedr
   r
   r   test_arithmetic_ndarray   s    


rT   c                   C   s   t tdu sJ d S )NT)r   r   r
   r
   r
   r   test_is_scalar   s    rU   c                   C   s(   t tdu sJ t tdu s$J d S )NTF)r?   r@   r   Znotnar
   r
   r
   r   	test_isna   s    rV   c                  C   s4   t jdtgtd} t ddg}t|  | d S )Nr!   rM   FT)r?   Seriesr   rP   rQ   Zassert_series_equalr@   )srS   r
   r
   r   test_series_isna   s    rY   c                  C   sx   t ttu sJ t tdtu s&J t td} | d tu rJ| d tu sNJ t t} | d tu rp| d tu stJ d S )Nr!   r   )r4   logr   addr'   frexpr7   r
   r
   r   
test_ufunc   s    
r^   c                  C   sD   d} t jt| d tjtd W d    n1 s60    Y  d S )Nzufunc method 'at'r   r   )r   r   
ValueErrorr4   rZ   atr   r   r
   r
   r   test_ufunc_raises   s    ra   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 sfJ t tt}t|dksJ t	dd |D sJ d S )NrL   rM   r/   c                 s   s   | ]}|t u V  qd S r   r   ).0xr
   r
   r   	<genexpr>      z/test_binary_input_not_dunder.<locals>.<genexpr>)
r4   r5   r   rP   Z	logaddexprQ   rR   modflenall)r"   rS   r7   r
   r
   r   test_binary_input_not_dunder   s    ri   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|| qnd S )NrL   rM   )	r4   r5   r   rP   r'   r)   tuplerQ   rR   )r"   rS   r7   Zarrr
   r
   r   test_divmod_ufunc  s    rk   c                  C   s8   t dtt di} | t  dks J | tt  dks4J d S )NZfoobar)r   r   r]   r
   r
   r    test_integer_hash_collision_dict  s    rm   c                  C   s<   t tt h} t| dksJ t | v s(J tt | v s8J d S )Nr/   )r   r   rg   r]   r
   r
   r   test_integer_hash_collision_set  s    rn   c                  C   s    t t t} | tu sJ d S r   )pickleloadsdumpsr   r]   r
   r
   r   test_pickle_roundtrip(  s    rr   c                  C   s   t t} | tu sJ d S r   )rQ   round_trip_pickler   r]   r
   r
   r   test_pickle_roundtrip_pandas.  s    
rt   zvalues, dtypeZInt64ABstringas_framec                 C   s>   t t j||d}| r$|jdd}t|}t|| d S )NrM   ru   )name)r?   rW   r5   Zto_framerQ   rs   Zassert_equal)rx   valuesrN   rX   r7   r
   r
   r    test_pickle_roundtrip_containers3  s
    
r{   )6datetimer   r   r   ro   numpyr4   r   Zpandas._libs.missingr   Zpandas.core.dtypes.commonr   Zpandasr?   Zpandas._testingZ_testingrQ   r   r   r   r   r   markZparametrizeZint64nanr   r.   r;   ZNaTr1   r<   r:   r8   r=   rA   rC   rG   rH   rI   rJ   rT   rU   rV   rY   r^   ra   ri   rk   rm   rn   rr   rt   r{   r
   r
   r
   r   <module>   s   



" 


	