o
    5c                     @   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   Y/var/www/html/gps/gps/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ddgd}| || t |dtjgd}| }|jd d }| || d S )NAr   columns)axisr   )indexr&   B)r
   	DataFramer    r#   assert_frame_equalr   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   ffill   methodlimit)r   r   r   r   r   taker
   r   r1   r   r   r   arrr   r   r   r   r   test_fillna_limit_padI      z&BaseMissingTests.test_fillna_limit_padc                 C   r4   )Nr5   backfillr7   r8   )r   r   r   r   r   r;   r=   r   r   r   test_fillna_limit_backfillO   r@   z+BaseMissingTests.test_fillna_limit_backfillc                 C   s`   ||    }|d }||}||usJ | || |jdd}||us(J | || d S )Nr   rA   r9   )r   r1   r!   )r   datar2   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   r1   _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   r6   rC   r   rF   )r   r   fillna_methodrH   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   r7   r*   r   )r
   r,   r1   rG   r   r-   )r   r   rH   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   r.   lenr1   r-   )r   rD   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%   r0   r3   r?   rB   rE   rI   rL   rM   rO   rQ   r   r   r   r   r   
   s     

r   )numpyr   rU   pandasr
   pandas._testing_testingr   pandas.api.typesr    pandas.tests.extension.base.baser   r   r   r   r   r   <module>   s    