
    bMh                     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g dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfdg dg dfg          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       c/var/www/html/test/jupyter/venv/lib/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|j	        _
        d|d d <   t          j        ||           d S )NT)r   r   copygetattr
isinstancer   SparseDtyper	   r
   flags	writeabler   r   )r   r   r   r   r   masks         r   test_isna_returns_copyz'BaseMissingTests.test_isna_returns_copy   s    <((;;=='wvw''))dj".11 	(8D>>D#'DJ 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                 X   t          j        d|it          j        dgt                              }|                                }|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   )columnsr   r0   )axis   )indexr0   r/   Br   )r   	DataFrameIndexobjectr'   r+   r   assert_frame_equal
RangeIndexr	   nan)r   r   dfr   r   s        r   test_dropna_framez"BaseMissingTests.test_dropna_frame0   s    \3-rxV7T7T7TUUU 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_scalarC   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   r2   )limit)r   r   r   r   r   taker   r   ffillr   r   r   r   arrr   r   s        r   test_fillna_limit_padz&BaseMissingTests.test_fillna_limit_padI   ss     003%%A%..9\..??@@
vx00000r   z'limit_area, input_ilocs, expected_ilocsoutsiderC   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   inside)r   r   r   r   r   c                     |                     |          }t          j        |                              |          }t          j        |                     |                    }t	          j        ||           d S )N)
limit_arearE   )r   r   rN   input_ilocsexpected_ilocsrI   r   r   s           r   test_ffill_limit_areaz&BaseMissingTests.test_ffill_limit_areaR   sk    " ,,3%%%<<9\..~>>??
vx00000r   c                    |                     g d          }t          j        |                              dd          }t          j        |                     g d                    }t	          j        ||           d S )NrC   backfillr2   )methodrD   )r   r   r   r   r   )rF   r   r   r?   r   r   rH   s        r   test_fillna_limit_backfillz+BaseMissingTests.test_fillna_limit_backfillh   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   rS   )rT   )r   r?   r   r(   _pad_or_backfill)r   datar@   r   s       r   test_fillna_no_op_returns_copyz/BaseMissingTests.test_fillna_no_op_returns_copyq   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_series}   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   rG   r   )r   r   r   r[   r   r   r   )r   r   fillna_methodr\   r   r   s         r   test_fillna_series_methodz*BaseMissingTests.test_fillna_series_method   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   r2   r4   r   )r   r6   r?   r[   r   r   r9   )r   r   r\   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 )Nr4   r5   g        )r   r6   r	   r;   lenr?   r   r9   )r   rX   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=   rA   filterwarningsrJ   rQ   rU   rY   r]   ra   rc   rf   rm    r   r   r   r      s       1 1 1 [Y(9::
1 
1 ;:
1: : :
1 1 10 0 0&: : : [H 1 1 1 [199998888		
 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	   rq   pandasr   pandas._testing_testingr   r   ru   r   r   <module>rz      st                  v1 v1 v1 v1 v1 v1 v1 v1 v1 v1r   