a
    Pf1                     @   s  d dl m Z mZmZ d dlZd dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZ ejdG dd dZejdG d	d
 d
Zejdejejdejejejdejejg	ejejdddddejejg	dddifejejdejejejdejejg	ejejddejejdejejg	ddddfejejdejejejdejejg	ejejdejejejdddg	dddifejejdejejejdejejg	ejejdejejejddejg	ddddfejejejejejejejgejejejejejejejgddddfededddddfejejdejejejdejejg	ejejdddddejejg	dddifejejdejejejdejejg	ejejdejejddejejg	ddddfejejdejejejdejejg	dddejejejdejejg	dddifejejdejejejdejejg	ejddejejejdejejg	ddddff
dd ZdS )    )datetime	timedeltatimezoneN)Categorical	DataFrameDatetimeIndexNaTPeriodSeries	Timedelta	Timestamp
date_rangeisnatimedelta_range)period_arrayzJignore:(Series|DataFrame).fillna with 'method' is deprecated:FutureWarningc                   @   s  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zejddejdejjdddgejdd d!gd"d# Zejddejdejjdddgd$d% Zd&d' Zejdd(d)gd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zejd8d9g d:fd9d;d;d<g d=fd>d9id9d9d;ejejgfd9d;d?d9d9d;d;ejgfe d9d9ejd;ejejgfe d9d>gd@d9d9d;ejejgfe d9d;d?d9d9d;d;ejgfe d9d;gdAdBgd@d9ejd;d9d;gfgdCdD Z!ejd8e g dEg dFfe g dGg dHfe e"g dGg dIdJg dHfgdKdL Z#dMdN Z$ejdOe%dPdQgejdRe&j'ejdddgdSdT Z(dUdV Z)dWdX Z*dYdZ Z+d[d\ Z,d]d^ Z-ejd_g d`dag dbdcdagfdcdaejdcgdag dbdcdagfgddde Z.d S )fTestSeriesFillNAc                 C   s`  t dddtjgdd}|jdd}|j|jd d}| }|jd |jd	< t|| t|| t	d
|i}|jdd}|j|jd d}t	d
|i}t
|| t
|| t tjdddgdd}|jdd}|j|d d}| }|d |d< t|| t|| t	d
|i}|jdd}|j|d d}t	d
|i}t
|| t
|| d S )Nr         M8[ns]dtypepadmethodvalue   Abfill)r
   r   _valuefillnavaluescopyiloctmassert_series_equalr   Zassert_frame_equal)selfseriesfilledZfilled2expectedZdf r*   `/var/www/ai-form-bot/venv/lib/python3.9/site-packages/pandas/tests/series/methods/test_fillna.pytest_fillna_nat    s4    z TestSeriesFillNA.test_fillna_natc                 C   sD   d}t jt|d |jddd W d    n1 s60    Y  d S )Nz(Cannot specify both 'value' and 'method'matchr   ffill)r   r   )pytestraises
ValueErrorr    )r&   datetime_seriesmsgr*   r*   r+   test_fillna_value_or_methodE   s    z,TestSeriesFillNA.test_fillna_value_or_methodc                 C   s   t g dtdddd}t||jdd tj|jd< t g d	|jd}t|jdd| t g d
|jd}t|jdd| t g d|jd}t|jdd| d}t	j
t|d |  W d    n1 s0    Y  d S )N              ?       @      @      @
2020-01-01   periodsindexr/   r   r   )r7   r8   r8   r:   r;   )r7   r8   r:   r:   r;   backfill)r7   r8   g      @r:   r;   r   z'Must specify a fill 'value' or 'method'r-   )r
   r   r$   r%   r    npnanr#   rA   r0   r1   r2   )r&   tsexpr4   r*   r*   r+   test_fillnaJ   s    zTestSeriesFillNA.test_fillnac                 C   s$  t tjg}t dg}||}t dg}t|| |i }t|| |t dtd}t|| ||}t|| |ddi}t|| |ddi}t|t tjg |ddd}t|| |t ddd}t|| |t dddddgd	}t|| d S )
Nr   r8   r*   r   r   )r   r      r=   r@   )r
   rC   rD   r    r$   r%   objectr&   s1s2resultr)   r*   r*   r+   test_fillna_nonscalar`   s*    




z&TestSeriesFillNA.test_fillna_nonscalarc                 C   sT   t g dtd}t dtjdgtd}||}t g dtd}t|| d S )Nr   r   r   abcr   r   Zbac)r   r   r9   )r
   listrC   rD   r    r$   r%   rJ   r*   r*   r+   test_fillna_alignsx   s
    
z#TestSeriesFillNA.test_fillna_alignsc                 C   s|   t tjg dd}|jddd}t dtjtjgg dd}t|| |jddd}t ddtjgg dd}t|| d S )NrO   r@   i  r   )limitr   r
   rC   rD   r    r$   r%   r&   serrM   r)   r*   r*   r+   test_fillna_limit   s    z"TestSeriesFillNA.test_fillna_limitc                 C   s\   g d}|D ]J}t ddtjtjdgdd}||}t dd||dgdd}t|| qd S )N)0z1.5z-0.3r   r   rH   float64r   rI   rT   )r&   valsvalrV   rM   r)   r*   r*   r+   test_fillna_dont_cast_strings   s    
z.TestSeriesFillNA.test_fillna_dont_cast_stringsc                 C   s  t tdtg}|tddd}t tdtdddgdd}t|| |ddgtddd}t|| |ddgtddd}t|| |d	}t tdd	g}t|| | }tjt	d
d d	|d< W d    n1 s0    Y  t|| d S )N20130101
US/Easterntz
2013-01-01rI   r   TFZfoozincompatible dtyper-   r   )
r
   r   r   r    r$   r%   wherer"   assert_produces_warningFutureWarning)r&   rV   rM   r)   ser2r*   r*   r+   test_fillna_consistency   s$    
&z(TestSeriesFillNA.test_fillna_consistencyc                 C   s   t dtjg}d}tjt|d |jddd}W d    n1 sD0    Y  t ddg}t|| t dtjg}tjt|d" |jddidd}W d    n1 s0    Y  t ddg}t|| d S )Nr8   .The 'downcast' keyword in fillna is deprecatedr-   r   inferZdowncastr   )r
   rC   rD   r$   rc   rd   r    r%   )r&   rV   r4   rM   r)   r*   r*   r+   test_fillna_downcast   s    ,0z%TestSeriesFillNA.test_fillna_downcastc                 C   sd  t dt}t j|d< t|}d}tjt|d |j	ddd}W d    n1 sX0    Y  tt dt j
d}t|| d}tjt|d |jdd}W d    n1 s0    Y  tg d	t j
d}t|| d
}tjt|d |jdd}W d    n1 s0    Y  tg dt j
d}t|| d|d< tg dt jd}d}tjt|d |j	ddd}W d    n1 s0    Y  t|| d}tjt|d |jdd}W d    n1 s0    Y  tg dt jd}t|| d
}tjt|d |jdd}W d    n1 s80    Y  tg dt jd}t|| d S )Nr=   r   rg   r-   rh   ri   r   z-The 'downcast' keyword in ffill is deprecated)r   r   r   r   rH   z-The 'downcast' keyword in bfill is deprecated)r   r   r   rH   rH         @r   )r   r   rk   r   rH   )r   r   rk   rk   rH   )r   r   rk   rH   rH   )rC   arangeastyperI   rD   r
   r$   rc   rd   r    Zint64r%   r/   r   rY   )r&   arrrV   r4   resr)   r*   r*   r+   -test_fillna_downcast_infer_objects_to_numeric   sD    
,*,.,,z>TestSeriesFillNA.test_fillna_downcast_infer_objects_to_numericc           	      C   s  t tdtdtdtdgd| dd}| }|| }|tdd}t tdtdtd	td	d
dgd| dd}||}t|| |d	}|	t
d	}t|| |td	d}t td	dtdtd	td	d
dgd| dd}||}t|| |td	d	d}t td	d	dtdtd	td	d
dgd| dd}||}t|| |td}t td	dtdtd	td	d
dgd| dd}||}t|| |t}t ttdtd	td	d
dgd| dd}||}t|| tj|d< || }| }|tdd}tj|d< ||}t|| tj|d< ||}| }|tdd}td	d
d|d< ||}t|| d S )Nr]   2013010220130103 9:01:01M8[]r   r   )secondsr   i~  )daysru   zm8[i ʚ;r   )r
   r   diffr"   r    r   r   r$   assert_equalrm   rI   rC   Ztimedelta64r   rD   r/   r   )	r&   frame_or_seriesunitrV   tdobjrM   r)   ro   r*   r*   r+   test_timedelta_fillna   s    
	

	


	


	

	


	


z&TestSeriesFillNA.test_timedelta_fillnac                 C   s   t tdtdtdtdg}tj|d< | }t tdtdtdtdg}t|| | }t tdtdtdtdg}t|| d S )Nr]   rq   rr   r   )r
   r   rC   rD   r/   r$   r%   r   rU   r*   r*   r+   test_datetime64_fillna]  s4    
z'TestSeriesFillNA.test_datetime64_fillnascalarFTz&GH#56410 scalar case not yet addressed)reason)Zmarksr`   NUTCc                 C   s   t ddd|d}td|d}t |ddd}|d u r6d	nd
}t||d |d g|d}t|}t|d< | }	||}
|	t|}|rt|
| nt|| d S )N
2016-01-01r   s)r?   rz   r`   2016-02-03 04:05:06.789r_   msr?   rz   zM8[ms]zM8[ms, UTC]r   r   r   r   )r   r   r
   r   r"   r    r$   r%   )r&   r`   r   dtiitemvecZ	exp_dtyper)   rV   re   ro   res2r*   r*   r+   2test_datetime64_fillna_mismatched_reso_no_rounding  s    
zCTestSeriesFillNA.test_datetime64_fillna_mismatched_reso_no_roundingc           
      C   s   t ddddtd }tdtd }t|ddd}t||d |d	 gd
d}t|}t|d< | }||}|t|}	|rt|| nt|	| d S )Nr   r   r   r   z
1970-01-01r   r   r   r   zm8[ms]r   r   )	r   r   r   r
   r   r"   r    r$   r%   )
r&   r   Ztdir   r   r)   rV   re   ro   r   r*   r*   r+   3test_timedelta64_fillna_mismatched_reso_no_rounding  s    
zDTestSeriesFillNA.test_timedelta64_fillna_mismatched_reso_no_roundingc                 C   s>   t ttdgdd}t g ddd}|jdd}t|| d S )N2013-08-05 15:30:00.000001r   r   )r   r   r   rB   r   )r
   r   r    r$   r%   )r&   rV   r)   rM   r*   r*   r+   test_datetime64_fillna_backfill  s    z0TestSeriesFillNA.test_datetime64_fillna_backfillr^   z
Asia/Tokyoc                 C   s  t tdttdtgd| dd}t g d}|td}t tdtdtdtdgd| dd}t|| tt|| |td|d}t tdtd|dtdtd|dg}t|| tt|| |d	}t tdd	tdd	gtd}t|| tt|| |td|dtd
d}t tdtd|dtdtd
g}t|| tt|| |tdtd
d}t tdtdtdtd
gd| dd}t|| tt|| tdtdtg|d	|}t |}|j
d| d| dksJ tt|| |td}t td|dtdtd|dtdg}t|| tt|| |td|d}tg d|d	|}t |}t|| tt|| |td|d }tg d|d	|}t |}t|| tt|| |d	}t td|dd	td|dd	gtd}t|| tt|| |td|dtd
d}t td|dtd|dtd|dtd
g}t|| tt|| |td|dtd
|dd}t td|dtd|dtd|dtd
|dgj	|}t|| tt|| |td}t td|dtdtd|dtdg}t|| tt|| |tddd}t td|dtddd|td|dtddd|gj	|}t|| tt|| d S )N2011-01-01 10:002011-01-03 10:00rs   rt   r   )FTFT2011-01-02 10:00r_   ZAAAz2011-01-04 10:00r   r   zdatetime64[z, )r   r   r   r   r]   ra   
US/Pacific)r
   r   r   r    r$   r%   r   rI   r   Zas_unitr   Zto_pydatetimedt
tz_convert)r&   r`   rz   rV   Znull_locrM   r)   idxr*   r*   r+   test_datetime64_tz_fillna  sR   
	
	


	


	

		


	













z*TestSeriesFillNA.test_datetime64_tz_fillnac                 C   st   t tdtg}t tdtdg}t|jdd| t ttdg}t tdtdg}t|jdd| d S )Nz2012-11-11 00:00:00+01:00r   r   r   )r
   r   r   r$   r%   r    )r&   rV   rF   r*   r*   r+   test_fillna_dt64tz_with_method  s    z/TestSeriesFillNA.test_fillna_dt64tz_with_methodc                 C   sL   t tjtdgddgd}|td}t tdddgd}t|| d S )Nz1 daysr   Br@   r   )r
   rC   rD   r   r    r   r$   r%   rU   r*   r*   r+   test_fillna_pytimedelta  s    z(TestSeriesFillNA.test_fillna_pytimedeltac                 C   sh   t tdddtdddg}|tddd}t tdddtdddg}t|| |jdksdJ d S )Nz2011-01Mfreqr   z2012-01z	Period[M])r
   r	   r    r$   r%   r   )r&   rV   ro   rF   r*   r*   r+   test_fillna_period  s
    z#TestSeriesFillNA.test_fillna_periodc                 C   s   t tdtdtdtdg}tj|d< ||}|td}t tdtdtdtdg}||}t|| |t}|}t|| d S )Nr]   rq   rr   r   Z20130104)r
   r   rC   rD   r    r$   rx   r   )r&   ry   rV   r|   rM   r)   r*   r*   r+   test_fillna_dt64_timestamp  s,    

z+TestSeriesFillNA.test_fillna_dt64_timestampc                 C   sV   t tdttdg}tdd}||}t tdtdtdg}t|| d S )Nz
2010-01-01
2000-01-01z
1975-04-05r   )r
   r   r   rC   Z
datetime64r    r$   r%   )r&   rV   r[   rM   r)   r*   r*   r+   test_fillna_dt64_non_nao  s    
z)TestSeriesFillNA.test_fillna_dt64_non_naoc                 C   s\   t tjdtjdtjgg d}| }|jddd}|d u s@J |jdd}t|| d S )Nr8   r:   zabcdr   T)r   inplacer   )r
   rC   rD   r"   r    r$   r%   )r&   xyreturn_valuer)   r*   r*   r+   test_fillna_numeric_inplace  s    z,TestSeriesFillNA.test_fillna_numeric_inplacezfill_value, expected_outputr   )r   r   r   r   r   r   )r   r   rH   )r   r   r   r   r   r   r   r@   r   rH   c                 C   sV   dt jdt jt jg}tt|ddgd}tt|ddgd}||}t|| d S )Nr   r   
categoriesrC   rD   r
   r   r    r$   r%   r&   Z
fill_valueZexpected_outputdatarV   rF   rM   r*   r*   r+   test_fillna_categorical  s
    
z(TestSeriesFillNA.test_fillna_categoricalr   r   r   r   e)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   c                 C   sV   dt jdt jt jg}tt|g dd}tt|g dd}||}t|| d S )Nr   r   r   r   r   r   r*   r*   r+   +test_fillna_categorical_with_new_categories  s
    
z<TestSeriesFillNA.test_fillna_categorical_with_new_categoriesc                 C   s  dt jdt jt jg}tt|ddgd}|j}d}tjt|d |d W d    n1 s`0    Y  d}tjt	|d |td W d    n1 s0    Y  tjt|d  |ddd W d    n1 s0    Y  d	}tjt|d |ddg W d    n1 s 0    Y  d
}tjt|d |d W d    n1 s^0    Y  d}tjt|d( |t
dgdgd W d    n1 s0    Y  d S )Nr   r   r   z3Cannot setitem on a Categorical with a new categoryr-   r   z!Length of 'value' does not match.r   C"value" parameter must be a scalar or dict, but you passed a "list"D"value" parameter must be a scalar or dict, but you passed a "tuple")r   r   zP"value" parameter must be a scalar, dict or Series, but you passed a "DataFrame")rC   rD   r
   r   _valuesr0   r1   	TypeErrorr    r2   r   )r&   r   rV   catr4   Zmsg2r*   r*   r+   test_fillna_categorical_raises)  s*    (,..*z/TestSeriesFillNA.test_fillna_categorical_raisesr   float32rY   	fill_typec           
      C   s   t tjdg|d}t ddg|d}|r2|jd}||}t ddg|d}t|| t tjdg|d}| 	 }|||< t|| t tjdg|d}|j
||dd t|| t tjdg|d}|| |}	t|	| d S )N333333?r   r   r9   T)r   )r
   rC   rD   r   typer    r$   r%   r   Zto_numpymaskrb   )
r&   r   r   r   rV   Zfill_valuesrM   r)   r   ro   r*   r*   r+   test_fillna_float_castingH  s"    
z*TestSeriesFillNA.test_fillna_float_castingc                 C   sD   t tjdgtjd}|ddi}t ddgtjd}t|| d S )Nr   r   r   r   r8   )r
   rC   rD   r   r    r$   r%   rU   r*   r*   r+    test_fillna_f32_upcast_with_dictc  s    z1TestSeriesFillNA.test_fillna_f32_upcast_with_dictc              
   C   sJ   z|j dd W n4 tyD } zdt|v s0J W Y d }~n
d }~0 0 d S )NZffilr   )r    r2   str)r&   r3   instr*   r*   r+   test_fillna_invalid_methodm  s    z+TestSeriesFillNA.test_fillna_invalid_methodc                 C   s   t tjdddd}d}tjt|d |ddg W d    n1 sP0    Y  d}tjt|d |d	 W d    n1 s0    Y  d S )
Nr   d   2   r   r-   r   r   )r   r   )	r
   rC   randomdefault_rngintegersr0   r1   r   r    )r&   rV   r4   r*   r*   r+   test_fillna_listlike_invalids  s    ,z-TestSeriesFillNA.test_fillna_listlike_invalidc              
   C   sp   t g d}dg d}dD ]L}dD ]B}tjt|d  |jd||d W d    q&1 s^0    Y  q&qd S )	N)r   r   r   N|)z*Cannot specify both 'value' and 'method'\.zLimit must be greater than 0zLimit must be an integer)r   r8   r9   )rB   r   r   r/   Nr-   r   )rS   r   )r
   joinr0   r1   r2   r    )r&   rV   r4   rS   r   r*   r*   r+   $test_fillna_method_and_limit_invalid}  s    z5TestSeriesFillNA.test_fillna_method_and_limit_invalidc                 C   s   t tdddd}| }t|d< |tdddtjd}t	|| t
d	d
d}t |jd}|jjdksrJ ||}t |d ||jj|d g|jd}t	|| d S )NZ2020r   r   )r?   r`   r   i  r   tzinfor   r   r_   zdateutil/US/Pacificr   r   r   )r
   r   r"   r   r    r   r   utcr$   r%   r   r   r   r   kindr`   )r&   rV   r)   rM   rE   re   r*   r*   r+   +test_fillna_datetime64_with_timezone_tzinfo  s    
z<TestSeriesFillNA.test_fillna_datetime64_with_timezone_tzinfoz7input, input_fillna, expected_data, expected_categories)r   r   Nr   r   )r   r   r   r   r   c           
      C   sF   t |}t||}||}||}t ||d}	t||	 d S )Nr   )r   r
   r    r$   Zassert_categorical_equal)
r&   inputZinput_fillnaexpected_dataZexpected_categoriesr   rV   r(   rM   r)   r*   r*   r+   (test_fillna_categorical_accept_same_type  s    

z9TestSeriesFillNA.test_fillna_categorical_accept_same_type)/__name__
__module____qualname__r,   r5   rG   rN   rR   rW   r\   rf   rj   rp   r}   r~   r0   markparametrizeparamZxfailr   r   r   r   r   r   r   r   r   r   rC   rD   r
   r   r   r   r   floatr$   ZALL_REAL_NUMPY_DTYPESr   r   r   r   r   r   r   r*   r*   r*   r+   r      s   %
0j#

 O	
"
	


r   z>ignore:Series.fillna with 'method' is deprecated:FutureWarningc                   @   sv   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zejdddgdd ZdS )TestFillnaPadc                 C   s   t tjdtjdtjgg d}|jdd}t tjddddg|j}t|| |jdd}t ddddtjg|j}t|| d S )Nr8   r:   r   r/   r   r   )r
   rC   rD   r    rA   r$   r%   )r&   rV   r(   r)   r*   r*   r+   test_fillna_bug  s    zTestFillnaPad.test_fillna_bugc                 C   s@   t g dtdddd}tj|jd< t| |jdd d S )	Nr6   r<   r=   r>   r@   r   r/   r   )	r
   r   rC   rD   r#   r$   r%   r/   r    r&   rE   r*   r*   r+   
test_ffill  s
    zTestFillnaPad.test_ffillc                 C   s2   t tdddtjddg}| }t|| d S )Ni  r   r   )r
   r   pytzr   r/   r$   r%   )r&   r'   rM   r*   r*   r+   ,test_ffill_mixed_dtypes_without_missing_data  s    z:TestFillnaPad.test_ffill_mixed_dtypes_without_missing_datac                 C   s@   t g dtdddd}tj|jd< t| |jdd d S )	Nr6   r<   r=   r>   r@   r   r   r   )	r
   r   rC   rD   r#   r$   r%   r   r    r   r*   r*   r+   
test_bfill  s
    zTestFillnaPad.test_bfillc                 C   s   t tjdtjdtjgg dtd}|jddd}|d u s<J t tjddddgg dtd}t|dd  |dd   t|jd	 sJ t|jd	 d S )
Nr8   r:   r   r   r   Tr   r   r   r   )	r
   rC   rD   r   r    r$   r%   isnanr#   )r&   r   r   r)   r*   r*   r+   test_pad_nan  s    zTestFillnaPad.test_pad_nanc                 C   s   t d}tt jdd|d}|d d |}|jddd}|d d |jdd}t j|dd < t	
|| |d	d  |}|jd
dd}|d	d  |jdd}t j|d d< t	
|| d S )N
   r   r@   r   r=   r   rS   r   r   rB   r   rC   rl   r
   r   r   Zstandard_normalZreindexr    rD   r$   r%   r&   rA   r   rM   r)   r*   r*   r+   test_series_fillna_limit  s    
z&TestFillnaPad.test_series_fillna_limitc                 C   s   t d}tt jdd|d}|d d j|ddd}|d d |jdd}t j|dd < t	
|| |d	d  j|d
dd}|d	d  |jd
d}t j|d d< t	
|| d S )Nr   r   r@   r   r=   r   r   r   r   rB   r   r   r   r*   r*   r+   test_series_pad_backfill_limit  s    
z,TestFillnaPad.test_series_pad_backfill_limitc                 C   sN   t tjdddd}|jddd}|d u s4J t|jddd| d S )	Nr   r   r   r   r/   Tr   F)r
   rC   r   r   r   r    r$   r%   )r&   rV   r   r*   r*   r+   test_fillna_int  s    zTestFillnaPad.test_fillna_intc                 C   s   t tttdddddddtjdg}| }t tdddddddtjdtdddddddtjdtdddddddtjdg}t|| d S )Ni              i r   )r
   r   r   r   r   r   r$   r%   )r&   r   r(   r)   r*   r*   r+   $test_datetime64tz_fillna_round_issue  s    z2TestFillnaPad.test_datetime64tz_fillna_round_issuec                 C   sz   t tjtdd ddd}t|d}t|d< ttdtdtdtd	td
gdd}t|}| }t	
|| d S )Nr   )nanosecondsr=   ns)r?   r   r   z2262-04-11 23:47:16.854775797z2262-04-11 23:47:16.854775798z2262-04-11 23:47:16.854775800z2262-04-11 23:47:16.854775801r   )r   r   maxr   r
   Z	to_periodr   r   r/   r$   r%   )r&   r   rV   rn   r)   r(   r*   r*   r+   test_fillna_parr  s"    
zTestFillnaPad.test_fillna_parrfuncr   rB   c                 C   sF   t g d}tt t||  W d    n1 s80    Y  d S )N)r   r   r   )r
   r$   rc   rd   getattr)r&   r   rV   r*   r*   r+   test_pad_backfill_deprecated5  s    z*TestFillnaPad.test_pad_backfill_deprecatedN)r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r   r   r*   r*   r*   r+   r     s   
r   z#data, expected_data, method, kwargsr      r:   g      @r/   
limit_areaZinsider   )r   rS   Zoutsider=   r   c                 C   s4   t | }t |}t||f i |}t|| d S )N)r
   r   r$   r%   )r   r   r   kwargsr   r)   rM   r*   r*   r+   test_ffill_bfill_limit_area=  s    Cr  ) r   r   r   numpyrC   r0   r   Zpandasr   r   r   r   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingr$   Zpandas.core.arraysr   r   filterwarningsr   r   r   rD   ranger  r*   r*   r*   r+   <module>   s   4        "" "" "" "" A