
    Owg                     v    d dl mZ d dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ  G d d      Zd Zy)    )	timedeltaN)iNaT)CategoricalIndexNaTSeriesisnac                   h    e Zd Zd Zd Zd Zej                  j                  d      d        Z	d Z
y)	TestSeriesMissingDatac                 X   t        t        ddt        j                  dg            }t	        j
                  |j                  j                  t        ddg             t	        j                  |j                  j                  t        j                  g dt        j                               y )Nab)r      r   dtype)r   r   npnantmassert_index_equalcat
categoriesr   assert_numpy_array_equalvaluescodesarrayint8)selfss     W/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/test_missing.pytest_categorical_nan_handlingz3TestSeriesMissingData.test_categorical_nan_handling   sk    ;S"&&#678
aee..sCj0AB
##HHNNBHH]"''B	
    c                    t        dt        j                  t        j                  t        j
                  dg      }d}t        j                  t        |      5  t	        j                  dd      5  |j                         }|j                         }d d d        d d d        t        g d      }t        ddgdd	g
      }t        j                  |       t        j                  |       y # 1 sw Y   \xY w# 1 sw Y   `xY w)Nr   g      ?z"use_inf_as_na option is deprecatedmatchzmode.use_inf_as_naT)FTTTFr      )index)r   r   infr   pdNAr   assert_produces_warningFutureWarningoption_contextr	   dropnaassert_series_equal)r   r   msgrdredes          r    test_isna_for_infz'TestSeriesMissingData.test_isna_for_inf   s    C452''SA 	 ""#7>  FFHXXZ 	  34S#Jq!f-
q!$
r2&   	  	 s$   C7/!C+C7+C4	0C77D c                    t        t        d      D cg c]  }t        |       c}      }|j                         }t        j
                  |d<   t        |d         sJ |d   j                  t        k(  sJ |d   |d<   t        |d         rJ t        j                  t        d      5  t        |d<   d d d        t        |d         rJ |j                  t        j                  k(  sJ |d   t        k(  sJ |d   |d<   t        |d         rJ t        |d<   t        |d         sJ |d   j                  t        k(  sJ |d   |d<   t        |d         rJ t	        j                  t        d            }t	        j                  t        d	            }t        j
                  |||kD  ||k  z  <   t        |      j!                         dk(  sJ y c c}w # 1 sw Y   &xY w)
N
   )daysr   zincompatible dtyper$   r            )r   ranger   copyr   r   r	   _valuer   r   r+   r,   r   object_r   timedelta64sum)r   itdtd1td3td7s         r    test_timedelta64_nanz*TestSeriesMissingData.test_timedelta64_nan(   s   b	:1YA&:; ggiACF||1v}}$$$AAA< ''=QR 	CF	A<yyBJJ&&&1v~~AAA<ACF||1v}}$$$AAA< nnYA./nnYA./&(ffBHc"#Bx||~"""= ;	 	s   G+
GG#z:Chained inequality raises when trying to define 'selector')reasonc                 f    d|cxk  xr dk  nc }|dk\  |dk  z  }t        j                  ||       y )Ng      g      ?)r   r/   )r   datetime_seriesselectorexpecteds       r    test_logical_range_selectz/TestSeriesMissingData.test_logical_range_selectI   s7     ?1c1#t+30FG
x2r"   c                 |   |j                         }|j                  j                  d       |_        t        j                  |d d d<   |j                         }t        |      |j                         k(  sJ t        j                  ||dd d          t        j                  ||t        j                  |                y )Nr9   r   )r=   r'   
_with_freqr   r   r.   lencountr   r/   r)   notna)r   rJ   tsresults       r    
test_validz TestSeriesMissingData.test_validT   s    !!#88&&t,&&3Q36{bhhj(((
vr!$Q$x0
vr"((2,'78r"   N)__name__
__module____qualname__r!   r5   rG   pytestmarkxfailrM   rU    r"   r    r   r      sB    

'#B [[K  339r"   r   c                     t        ddgd      } | j                  du sJ d| j                  v sJ | j                         }|j                  du sJ t	        |d      rJ t
        j                  |j                  d<   |j                  d	u sJ y )
Nr   r   float64r   Fhasnans_cacher   T)r   r_   r`   	to_serieshasattrr   r   iloc)idxsers     r     test_hasnans_uncached_for_seriesrf   _   s     Ai
(C;;%

"""
--/C;;%sH%%%66CHHRL;;$r"   )datetimer   numpyr   rY   pandas._libsr   pandasr)   r   r   r   r   r	   pandas._testing_testingr   r   rf   r\   r"   r    <module>rm      s5          I9 I9X
r"   