
    o[we                     D    d dl Zd dlZd dlZd dlmZ  G d d          ZdS )    Nc                   (   e Zd Zd Zej                            dddg          d             Zd Zd Z	d Z
d	 Zej                            d
          d             Zej                            d
          d             Zd Zd Zd Zd Zd Zd ZdS )BaseMissingTestsc                    t          j        ddg          }t          j        |          }t	          j        ||           t          j        |                                          }t          j        |          }t	          j        ||           t          j        |                              ddg                                          }t          j        g t                    }t	          j        ||           d S )NTFr      dtype)
nparraypdisnatmassert_numpy_array_equalSeriesassert_series_equaldropbool)selfdata_missingexpectedresults       Clib/python3.11/site-packages/pandas/tests/extension/base/missing.py	test_isnazBaseMissingTests.test_isna	   s    8T5M**&&
#FH555<((--//9X&&
vx000 <((--q!f55::<<9Rt,,,
vx00000    na_funcr   notnac                 $   t          j        |          }|                                } t          ||                      }t	          |j        t           j                  rt          j        |          }d|d d <   t          j
        ||           d S )NT)r   r   copygetattr
isinstancer   SparseDtyper	   r
   r   r   )r   r   r   r   r   masks         r   test_isna_returns_copyz'BaseMissingTests.test_isna_returns_copy   s~    <((;;=='wvw''))dj".11 	"8D>>DQQQ
vx00000r   c                 j    |                                 }|dg         }t          j        ||           d S Nr   )dropnar   assert_extension_array_equal)r   r   r   r   s       r   test_dropna_arrayz"BaseMissingTests.test_dropna_array#   s8    $$&&$
'99999r   c                     t          j        |          }|                                }|j        dg         }t	          j        ||           d S r$   )r   r   r%   ilocr   r   )r   r   serr   r   s        r   test_dropna_seriesz#BaseMissingTests.test_dropna_series(   sD    i%%8QC=
vx00000r   c                     t          j        d|i          }|                                }|j        dg         }t	          j        ||           |                    d          }t          j        t          j        d          t          j        g                     }t	          j        ||           t          j        |dt          j	        gd          }|                                }|j        d d         }t	          j        ||           d S )	NAr   columns)axis   )indexr.   r-   Br   )
r   	DataFramer%   r)   r   assert_frame_equal
RangeIndexIndexr	   nan)r   r   dfr   r   s        r   test_dropna_framez"BaseMissingTests.test_dropna_frame.   s    \3-.. 7A3<
fh/// 	**<bmA&6&6MMM
fh/// \Arv;??@@72A2;
fh/////r   c                     |d         }|                     |          }|                     |          }t          j        ||           d S r$   )fillnar   r&   )r   r   validr   r   s        r   test_fillna_scalarz#BaseMissingTests.test_fillna_scalarA   sJ    Q$$U++&&u--
'99999r   z>ignore:Series.fillna with 'method' is deprecated:FutureWarningc                     |                     g d          }t          j        |                              d          }t          j        |                     g d                    }t	          j        ||           d S )Nr   r   r   r   r   r0   )limit)r   r   r   r   r   )taker   r   ffillr   r   r   r   arrr   r   s        r   test_fillna_limit_padz&BaseMissingTests.test_fillna_limit_padG   ss     003%%A%..9\..??@@
vx00000r   c                    |                     g d          }t          j        |                              dd          }t          j        |                     g d                    }t	          j        ||           d S )Nr@   backfillr0   )methodrA   )r   r   r   r   r   )rB   r   r   r<   r   r   rD   s        r   test_fillna_limit_backfillz+BaseMissingTests.test_fillna_limit_backfillP   su     003&&j&BB9\..??@@
vx00000r   c                    ||                                           }|d         }|                    |          }||usJ t          j        ||           |                    d          }||usJ t          j        ||           d S )Nr   rH   )rI   )r   r<   r   r&   _pad_or_backfill)r   datar=   r   s       r   test_fillna_no_op_returns_copyz/BaseMissingTests.test_fillna_no_op_returns_copyY   s    TYY[[L!QU##T!!!!
'555&&j&99T!!!!
'55555r   c                    |d         }t          j        |          }|                    |          }t          j        |                    ||g|j                            }t          j        ||           |                    |          }t          j        ||           |                    |          }t          j        ||           d S )Nr   r   )r   r   r<   _from_sequencer   r   r   )r   r   
fill_valuer*   r   r   s         r   test_fillna_seriesz#BaseMissingTests.test_fillna_seriese   s    !!_
i%%J''9''Z(0B (  
 

 	vx000 H%%
vx000 C
vs+++++r   c                    |d         }|dk    r|d d d         } t          t          j        |          |                      }t          j        |                    ||g|j                            }t          j        ||           d S )Nr   rC   r   )r   r   r   rP   r   r   r   )r   r   fillna_methodrQ   r   r   s         r   test_fillna_series_methodz*BaseMissingTests.test_fillna_series_methody   s    !!_
G##'"-L@<00-@@BB9''Z(0B (  
 
 	vx00000r   c                    |d         }t          j        |ddgd                              |          }t          j        |                    ||g|j                  ddgd          }t          j        ||           d S )Nr   r0   r2   r   )r   r4   r<   rP   r   r   r5   )r   r   rQ   r   r   s        r   test_fillna_framez"BaseMissingTests.test_fillna_frame   s    !!_
L1v>>??FFzRR<!00,L4F 1   V	 
 
 	fh/////r   c                    t          j        |t          j        gt	          |          z  d                              ddi          }t          j        |dgt	          |          z  d          }t          j        ||           d S )Nr2   r3   g        )r   r4   r	   r8   lenr<   r   r5   )r   rM   r   r   s       r   test_fillna_fill_otherz'BaseMissingTests.test_fillna_fill_other   sx    Dx#d))/CDDEELLcSVZXX<d#V1D E EFF
fh/////r   c                 l   t          j        |          }|                                }d}t          j        t
          |          5  t          j        dd          5  |                                }d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        ||           d S )Nz"use_inf_as_na option is deprecated)matchzmode.use_inf_as_naT)r   r   r   r   assert_produces_warningFutureWarningoption_contextr   )r   r   r*   r   msgr   s         r   test_use_inf_as_na_no_effectz-BaseMissingTests.test_use_inf_as_na_no_effect   s   i%%88::2'SAAA 	$ 	$"#7>> $ $$ $ $ $ $ $ $ $ $ $ $ $ $ $ $	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	vx00000s6   BA=1B=B	BB	BBBN)__name__
__module____qualname__r   pytestmarkparametrizer"   r'   r+   r:   r>   filterwarningsrF   rJ   rN   rR   rV   rX   r[   rb    r   r   r   r      sR       1 1 1 [Y(9::1 1 ;:1: : :
1 1 10 0 0&: : : [H 1 1 1 [H 1 1 1
6 
6 
6, , ,(1 1 10 0 0 0 0 01 1 1 1 1r   r   )	numpyr	   rf   pandasr   pandas._testing_testingr   r   rj   r   r   <module>ro      st                  ^1 ^1 ^1 ^1 ^1 ^1 ^1 ^1 ^1 ^1r   