
    Owg                     <    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       Z/var/www/horilla/myenv/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|j                  _
        d|d d  t        j                  ||       y )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   sp    <(;;='wvw')djj"..188D>D#'DJJ 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   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-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_scalarC   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   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   sX     03%%A%.99\..?@
vx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                     |j                  |      }t        j                  |      j                  |      }t        j                  |j                  |            }t	        j
                  ||       y )N)
limit_arearE   )r   r   rN   input_ilocsexpected_ilocsrI   r   r   s           r   test_ffill_limit_areaz&BaseMissingTests.test_ffill_limit_areaR   sX    " ,3%%%<99\..~>?
vx0r   c                     |j                  g d      }t        j                  |      j                  dd      }t        j                  |j                  g d            }t	        j
                  ||       y )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   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   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   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   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-@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   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<<!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 )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   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=   rA   filterwarningsrJ   rQ   rU   rY   r]   ra   rc   rf   rm    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	   rq   pandasr   pandas._testing_testingr   r   ru   r   r   <module>rz      s       v1 v1r   