o
    թZh;                     @   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
   Y/var/www/html/lang_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>Z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)Z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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| sJ |dks"J 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s't|t| s'J || ks-J 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|sJ 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 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      
"rG   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 rD   rF   r   r
   r
   r   test_logical_or   rH   rI   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 rD   rF   r   r
   r
   r   test_logical_xor   rH   rJ   c                   C   s   t  t u sJ d S r   r   r
   r
   r
   r   test_logical_not   s   rK   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   fullrL   objecttmassert_numpy_array_equal)rL   r,   r-   r"   r7   expectedr
   r
   r   test_arithmetic_ndarray   s   


rU   c                   C   s   t tdu sJ d S )NT)r   r   r
   r
   r
   r   test_is_scalar   s   rV   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   rW   c                  C   s4   t jdtgtd} t ddg}t|  | d S )Nr!   rN   FT)r?   Seriesr   rQ   rR   Zassert_series_equalr@   )srT   r
   r
   r   test_series_isna   s   rZ   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   )r4   logr   addr'   frexpr7   r
   r
   r   
test_ufunc   s   
 r_   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   
ValueErrorr4   r[   atr   r   r
   r
   r   test_ufunc_raises   s   "rb   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 )NrM   rN   r/   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>)
r4   r5   r   rQ   Z	logaddexprR   rS   modflenall)r"   rT   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|| q7d S )NrM   rN   )	r4   r5   r   rQ   r'   r)   tuplerR   rS   )r"   rT   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sJ 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 sJ 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   )rR   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 )NrN   ru   )name)r?   rX   r5   Zto_framerR   rs   Zassert_equal)rx   valuesrO   rY   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_testingrR   r   r   r   r   r   markZparametrizeZint64nanr   r.   r;   ZNaTr1   r<   r:   r8   r=   rA   rC   rG   rI   rJ   rK   rU   rV   rW   rZ   r_   rb   ri   rk   rm   rn   rr   rt   r{   r
   r
   r
   r   <module>   s    



" 


	