o
    5cL                     @   sF   d Z ddlZddlZddlmZmZmZ ddlm	Z
 G dd dZdS )z%
Includes test for last_valid_index.
    N)	DataFrameSeries
date_rangec                   @   s:  e Zd Zdd Zejde ee	deg g e	dgdd Z
ejdd	g d
ig dddfd	g d
ig dddfd	g dig dddfd	dejdgig dddfd	ejejdgig dddfd	dejdgig dddfgdd Zejdejejgdd Zejdejejgdd Zejddd ZdS )TestFirstValidIndexc                 C   s:   |t jg}| d u sJ |jd d  d u sJ d S )Nr   )npnanfirst_valid_indexiloc)selfframe_or_seriesobj r   g/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/frame/methods/test_first_valid_index.py!test_first_valid_index_single_nan   s   z5TestFirstValidIndex.test_first_valid_index_single_nanempty)dtype)indexr   c                 C   s$   |  d u sJ | d u sJ d S )N)last_valid_indexr   )r
   r   r   r   r   test_first_valid_index_empty   s   z0TestFirstValidIndex.test_first_valid_index_emptyz%data,idx,expected_first,expected_lastA)         )r   r   r   r   r   )r   r   r   )r   r   r      )dr   r   r   r   r   c                 C   s0   t ||d}|| ksJ || ksJ d S )Nr   )r   r   r   )r
   dataidxexpected_firstexpected_lastdfr   r   r   test_first_last_valid_frame   s   z/TestFirstValidIndex.test_first_last_valid_frame
index_funcc                 C   s   d}||}t j|}t j|d d< t j|dd < td|i|d}| |jd ks-J | |jd ks8J |d }| |jd ksGJ | |jd ksRJ d S )N      foor   i)r   randomrandnr   r   r   r   r   )r
   r"   Nr   matframeserr   r   r   test_first_last_valid0   s   z)TestFirstValidIndex.test_first_last_validc                 C   sf   |d}t tjdg|d}| d u sJ | d u sJ |d }| d u s)J | d u s1J d S )Nr#   r&   columnsr   )r   r   r   r   r   )r
   r"   r   r+   r,   r   r   r   test_first_last_valid_all_nan@   s   z1TestFirstValidIndex.test_first_last_valid_all_nanz1ignore:Timestamp.freq is deprecated:FutureWarningc                 C   s   t dddd}ttjdg|d}d|jd< d|jd< | |jd ks%J | |jd ks0J | j|jjks;J | j|jjksFJ |d }| |jd ksUJ | |jd ks`J | j|jjkskJ | j|jjksvJ d S )	N20110101r#   B)periodsfreqr&   r.   r   )	r   r   r   r   r	   r   r   r   r4   )r
   r   r+   tsr   r   r   $test_first_last_valid_preserves_freqM   s   

z8TestFirstValidIndex.test_first_last_valid_preserves_freqN)__name__
__module____qualname__r   pytestmarkparametrizer   r   objectr   r   r   r!   tmmakeStringIndexmakeDateIndexr-   r0   filterwarningsr7   r   r   r   r   r      s.    




r   )__doc__numpyr   r;   pandasr   r   r   pandas._testing_testingr?   r   r   r   r   r   <module>   s    