
    g                     <    d dl Zd dlZd dlZd dlmZ  G d d      Zy)    Nc                      e Zd Zd Zej
                  j                  dddg      d        Zd Zd Z	d Z
d	 Zej
                  j                  d
      d        Zej
                  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
                  j                  d
      d        Zd Zd Zd Zd Zd Zd Zy)BaseMissingTestsc                    t        j                  ddg      }t        j                  |      }t	        j
                  ||       t        j                  |      j                         }t        j                  |      }t	        j                  ||       t        j                  |      j                  ddg      j                         }t        j                  g t              }t	        j                  ||       y )NTFr      dtype)
nparraypdisnatmassert_numpy_array_equalSeriesassert_series_equaldropbool)selfdata_missingexpectedresults       `/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/pandas/tests/extension/base/missing.py	test_isnazBaseMissingTests.test_isna	   s    88T5M*&
##FH5<(--/99X&
vx0 <(--q!f5::<99Rt,
vx0    na_funcr   notnac                    t        j                  |      }|j                         } t        ||             }t	        |j
                  t         j                        rt        j                  |      }d|d d  t        j                  ||       y )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   sd    <(;;='wvw')djj"..188D>DQ
vx0r   c                 \    |j                         }|dg   }t        j                  ||       y Nr   )dropnar   assert_extension_array_equal)r   r   r   r   s       r   test_dropna_arrayz"BaseMissingTests.test_dropna_array#   s,    $$&$
''9r   c                     t        j                  |      }|j                         }|j                  dg   }t	        j
                  ||       y r$   )r   r   r%   ilocr   r   )r   r   serr   r   s        r   test_dropna_seriesz#BaseMissingTests.test_dropna_series(   s:    ii%88QC=
vx0r   c                 Z   t        j                  d|it        j                  dgt                    }|j	                         }|j
                  dg   }t        j                  ||       |j	                  d      }t        j                  t        j                  d      t        j                  g             }t        j                  ||       t        j                  |dt        j                  gd	      }|j	                         }|j
                  d d
 }t        j                  ||       y )NAr   )columnsr   r.   )axis   )indexr.   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_frame.   s    \\3-rxxV7TU 77A3<
fh/ 	*<<bmmA&6M
fh/ \\Arvv;?@772A;
fh/r   c                 ~    |d   }|j                  |      }|j                  |      }t        j                  ||       y r$   )fillnar   r&   )r   r   validr   r   s        r   test_fillna_scalarz#BaseMissingTests.test_fillna_scalarA   s;    Q$$U+&&u-
''9r   z>ignore:Series.fillna with 'method' is deprecated:FutureWarningc                     |j                  g d      }t        j                  |      j                  d      }t        j                  |j                  g d            }t	        j
                  ||       y )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   sX     03%%A%.99\..?@
vx0r   z'limit_area, input_ilocs, expected_ilocsoutsiderA   )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                     |j                  |      }t        j                  |      j                  |      }t        j                  |j                  |            }t	        j
                  ||       y )N)
limit_arearC   )r   r   rL   input_ilocsexpected_ilocsrG   r   r   s           r   test_ffill_limit_areaz&BaseMissingTests.test_ffill_limit_areaP   sX    " ,3%%%<99\..~>?
vx0r   c                     |j                  g d      }t        j                  |      j                  dd      }t        j                  |j                  g d            }t	        j
                  ||       y )NrA   backfillr0   )methodrB   )r   r   r   r   r   )rD   r   r   r=   r   r   rF   s        r   test_fillna_limit_backfillz+BaseMissingTests.test_fillna_limit_backfillf   sZ     03&&j&B99\..?@
vx0r   c                     ||j                             }|d   }|j                  |      }||usJ t        j                  ||       |j	                  d      }||usJ t        j                  ||       y )Nr   rQ   )rR   )r   r=   r   r&   _pad_or_backfill)r   datar>   r   s       r   test_fillna_no_op_returns_copyz/BaseMissingTests.test_fillna_no_op_returns_copyo   sz    TYY[L!QU#T!!!
''5&&j&9T!!!
''5r   c                    |d   }t        j                  |      }|j                  |      }t        j                  |j                  ||g|j                              }t        j                  ||       |j                  |      }t        j                  ||       |j                  |      }t        j                  ||       y )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    !!_
ii%J'99''Z(0B0B ( 

 	vx0 H%
vx0 C
vs+r   c                     |d   }|dk(  r|d d d   } t        t        j                  |      |             }t        j                  |j                  ||g|j                              }t        j                  ||       y )Nr   rE   r   )r   r   r   rY   r   r   r   )r   r   fillna_methodrZ   r   r   s         r   test_fillna_series_methodz*BaseMissingTests.test_fillna_series_method   s~    !!_
G#'"-L@<0-@B99''Z(0B0B ( 
 	vx0r   c                     |d   }t        j                  |ddgd      j                  |      }t        j                  |j                  ||g|j                        ddgd      }t        j                  ||       y )Nr   r0   r2   r   )r   r4   r=   rY   r   r   r7   )r   r   rZ   r   r   s        r   test_fillna_framez"BaseMissingTests.test_fillna_frame   s~    !!_
L1v>?FFzR<<!00,L4F4F 1  V	
 	fh/r   c                    t        j                  |t        j                  gt	        |      z  d      j                  ddi      }t        j                  |dgt	        |      z  d      }t        j                  ||       y )Nr2   r3   g        )r   r4   r	   r9   lenr=   r   r7   )r   rV   r   r   s       r   test_fillna_fill_otherz'BaseMissingTests.test_fillna_fill_other   sb    Dx#d)/CDELLcSVZX<<d#V1D EF
fh/r   c                 T   t        j                  |      }|j                         }d}t        j                  t
        |      5  t        j                  dd      5  |j                         }d d d        d d d        t        j                  |       y # 1 sw Y   (xY w# 1 sw Y   ,xY w)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    ii%88:2''SA 	$""#7> $$	$ 	vx0$ $	$ 	$s$   BB+BB	BB'N)__name__
__module____qualname__r   pytestmarkparametrizer"   r'   r+   r;   r?   filterwarningsrH   rO   rS   rW   r[   r_   ra   rd   rk    r   r   r   r      s*   1 [[Y(9:1 ;1:
10&: [[H11 [[199998888		
11 [[H11
6,(10 01r   r   )	numpyr	   ro   pandasr   pandas._testing_testingr   r   rs   r   r   <module>rx      s       t1 t1r   