
    .iv                     <    d dl Zd dlZd dlZd dlmZ  G d d      Zy)    Nc                   l   e Zd Zd Zej
                  j                  dddg      d        Zd Zd Z	d Z
d	 Zd
 Z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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       a/var/www/app/trading-bot/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|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   r1   )axis   )indexr1   r0   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   c                 V    |j                  d       }|}t        j                  ||       y )Nr@   r)   s       r   test_fillna_with_nonez&BaseMissingTests.test_fillna_with_noneI   s'    $$T*
''9r   c                     |j                  g d      }t        j                  |      j                  d      }t        j                  |j                  g d            }t	        j
                  ||       y )Nr   r   r   r   r   r3   limit)r   r   r   r   r   taker   r   ffillr   r   r   r   arrr   r   s        r   test_fillna_limit_padz&BaseMissingTests.test_fillna_limit_padO   V    03%%A%.99\..?@
vx0r   z'limit_area, input_ilocs, expected_ilocsoutsiderG   )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_arearJ   )r   r   rT   input_ilocsexpected_ilocsrN   r   r   s           r   test_ffill_limit_areaz&BaseMissingTests.test_ffill_limit_areaU   sX    " ,3%%%<99\..~>?
vx0r   c                     |j                  g d      }t        j                  |      j                  d      }t        j                  |j                  g d            }t	        j
                  ||       y )NrG   r3   rH   )r   r   r   r   r   )rK   r   r   bfillr   r   rM   s        r   test_fillna_limit_backfillz+BaseMissingTests.test_fillna_limit_backfillk   rP   r   c                     ||j                             }|d   }|j                  |      }||usJ t        j                  ||       |j	                  d      }||usJ t        j                  ||       y )Nr   backfill)method)r   rA   r   r(   _pad_or_backfill)r   datarB   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                 X   |j                         }d|_        |j                  |d         }|d   |d   k(  sJ t        j                  ||       t        j                  t        d      5  |j                  |d   d       d d d        t        j                  ||       y # 1 sw Y    xY w)NTr   r   zCannot modify read-only array)matchF)r   )r   	_readonlyrA   r   r(   pytestraises
ValueError)r   r   r_   r   s       r   test_fillna_readonlyz%BaseMissingTests.test_fillna_readonly}   s      " \!_-ayLO+++
''l; ]]:-LM 	5KKQeK4	5
''l;	5 	5s   *B  B)c                    |d   }t        j                  |      }|j                  |      }t        j                  |j                  ||g|j                              }t        j                  ||       |j                  |      }t        j                  ||       |j                  |      }t        j                  ||       y )Nr   r   )r   r   rA   _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   rL   r   )r   r   r   ri   r   r   r   )r   r   fillna_methodrj   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   r3   r5   r   )r   r7   rA   ri   r   r   r:   )r   r   rj   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 )Nr5   r6   g        )r   r7   r	   r<   lenrA   r   r:   )r   r_   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   N)__name__
__module____qualname__r   rd   markparametrizer$   r*   r.   r>   rC   rE   rO   rW   rZ   r`   rg   rk   ro   rq   rt    r   r   r   r      s    1 [[Y(9:
1 ;
1:
10&::1 [[199998888		
111
6<,(10 0r   r   )	numpyr	   rd   pandasr   pandas._testing_testingr   r   rz   r   r   <module>r      s       {0 {0r   