o
    ájh  ã                   @   sP   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 G dd„ deƒZdS )é    N)Ú	is_sparse)ÚBaseExtensionTestsc                   @   sŽ   e Zd Zdd„ Zej ddd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d„ Zdd„ Zdd„ Zdd„ Zdd„ Zd S )!ÚBaseMissingTestsc                 C   s~   t  ddg¡}t |¡}t ||¡ t |¡ ¡ }t |¡}|  ||¡ t |¡ ddg¡ ¡ }tjg t	d}|  ||¡ d S )NTFr   é   ©Údtype)
ÚnpÚarrayÚpdÚisnaÚtmÚassert_numpy_array_equalÚSeriesÚassert_series_equalÚdropÚbool)ÚselfÚdata_missingÚexpectedÚresult© r   úd/var/www/html/smartRegister/venv/lib/python3.10/site-packages/pandas/tests/extension/base/missing.pyÚ	test_isna   s   

zBaseMissingTests.test_isnaÚna_funcr   Únotnac                 C   sL   t  |¡}| ¡ }t||ƒƒ }t|ƒrt |¡}d|d d …< |  ||¡ d S )NT)r
   r   ÚcopyÚgetattrr   r   r	   r   )r   r   r   r   r   Úmaskr   r   r   Útest_isna_returns_copy   s   

z'BaseMissingTests.test_isna_returns_copyc                 C   s"   |  ¡ }|dg }|  ||¡ d S ©Nr   )ÚdropnaÚassert_extension_array_equal)r   r   r   r   r   r   r   Útest_dropna_array%   s   
z"BaseMissingTests.test_dropna_arrayc                 C   s.   t  |¡}| ¡ }|jdg }|  ||¡ d S r   )r
   r   r    Úilocr   )r   r   Úserr   r   r   r   r   Útest_dropna_series*   s   
z#BaseMissingTests.test_dropna_seriesc                 C   sœ   t  d|i¡}| ¡ }|jdg }|  ||¡ |jdd}t jt  d¡t  g ¡d}|  ||¡ t  |dtjgdœ¡}| ¡ }|jd d… }|  ||¡ d S )	NÚAr   Úcolumns)Úaxisé   )Úindexr'   ©r&   ÚBr   )	r
   Ú	DataFramer    r#   Úassert_frame_equalÚ
RangeIndexÚIndexr   Únan)r   r   Údfr   r   r   r   r   Útest_dropna_frame0   s   z"BaseMissingTests.test_dropna_framec                 C   s,   |d }|  |¡}|  |¡}|  ||¡ d S r   )Úfillnar!   )r   r   Úvalidr   r   r   r   r   Útest_fillna_scalarC   s   

z#BaseMissingTests.test_fillna_scalarc                 C   óF   |  g d¢¡}t |¡jddd}t |  g d¢¡¡}|  ||¡ d S )N©r   r   r   r   r   Úffillr)   ©ÚmethodÚlimit)r   r   r   r   r   ©Útaker
   r   r4   r   ©r   r   Úarrr   r   r   r   r   Útest_fillna_limit_padI   ó   z&BaseMissingTests.test_fillna_limit_padc                 C   r7   )Nr8   Úbackfillr)   r:   )r   r   r   r   r   r=   r?   r   r   r   Útest_fillna_limit_backfillO   rB   z+BaseMissingTests.test_fillna_limit_backfillc                 C   s`   ||  ¡   }|d }| |¡}||usJ ‚|  ||¡ |jdd}||us(J ‚|  ||¡ d S )Nr   rC   ©r;   )r   r4   r!   )r   Údatar5   r   r   r   r   Útest_fillna_no_op_returns_copyU   s   
z/BaseMissingTests.test_fillna_no_op_returns_copyc                 C   sr   |d }t  |¡}| |¡}t  |j||g|jd¡}|  ||¡ | |¡}|  ||¡ | |¡}|  ||¡ d S )Nr   r   ©r
   r   r4   Ú_from_sequencer   r   )r   r   Ú
fill_valuer$   r   r   r   r   r   Útest_fillna_seriesa   s   


ÿÿ

z#BaseMissingTests.test_fillna_seriesc                 C   sZ   |d }|dkr|d d d… }t  |¡j|d}t  |j||g|jd¡}|  ||¡ d S )Nr   r9   éÿÿÿÿrE   r   rH   )r   r   Úfillna_methodrJ   r   r   r   r   r   Útest_fillna_series_methodu   s   
ÿÿz*BaseMissingTests.test_fillna_series_methodc                 C   sV   |d }t  |ddgdœ¡ |¡}t  |j||g|jdddgdœ¡}|  ||¡ d S )Nr   r)   r+   r   )r
   r-   r4   rI   r   r.   )r   r   rJ   r   r   r   r   r   Útest_fillna_frame„   s   
ÿüÿ	z"BaseMissingTests.test_fillna_framec                 C   sP   t  |tjgt|ƒ dœ¡ ddi¡}t  |dgt|ƒ dœ¡}|  ||¡ d S )Nr+   r,   g        )r
   r-   r   r1   Úlenr4   r.   )r   rF   r   r   r   r   r   Útest_fillna_fill_other”   s   &z'BaseMissingTests.test_fillna_fill_otherc                 C   sV   t  |¡}| ¡ }t  dd¡ | ¡ }W d   ƒ n1 sw   Y  |  ||¡ d S )Nzmode.use_inf_as_naT)r
   r   r   Úoption_contextr   )r   r   r$   r   r   r   r   r   Útest_use_inf_as_na_no_effect›   s   

ÿz-BaseMissingTests.test_use_inf_as_na_no_effectN)Ú__name__Ú
__module__Ú__qualname__r   ÚpytestÚmarkÚparametrizer   r"   r%   r3   r6   rA   rD   rG   rK   rN   rO   rQ   rS   r   r   r   r   r   
   s     

r   )Únumpyr   rW   Úpandasr
   Úpandas._testingÚ_testingr   Úpandas.api.typesr   Ú pandas.tests.extension.base.baser   r   r   r   r   r   Ú<module>   s    