
    d                     x   d dl Zd dlZd dlmZ d dlmZ d dlmZ	 d dl
mZ d dlZd dlmZ d dlmZmZ d Zd Zd	 Zd
 Zd Zej                            dd g ej        dd          g dfd gdeddgfd gej        eddgfg d ej        dd          dgdz  fg d ej        dd           ej        dd           ej        dd          gg dfg          d             Zd Zd Zd Z d Z!d Z"ej                            d ej        dd            eg d!d           g          d"             Z#d# Z$d$ Z%dS )%    N)iNaT)IncompatibleFrequency)	_registry)PeriodDtype)PeriodArrayperiod_arrayc                      t           t          j        v sJ t          j        d          } t          d          }| |k    sJ d S )Nz	Period[D]D)r   registrydtypesfindresultexpecteds     [/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/arrays/test_period.pytest_registeredr      sH    (/))))];''F3HX    c                      t          g dd          j        } t          j        ddt          g          }t          j        | |           d S )N)20002001Nr
   freq*  ;,  )r   asi8nparrayr   tmassert_numpy_array_equalr   s     r   	test_asi8r        sM    000s;;;@Fxt,--H11111r   c            	         t          ddgd          } t          j        t          d          5  |                     ddgd	t          j        dd
                     d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                     ddgd	d           d d d            d S # 1 swxY w Y   d S )Nr   r   r
   r   r   matchr   TW)
allow_fill
fill_valuez6value should be a 'Period' or 'NaT'. Got 'str' insteadfoo)r   pytestraisesr   takepdPeriod	TypeError)arrmsgs     r   test_take_raisesr1   &   s]   
'c
2
2
2C	,F	;	;	; S S!RTbiS6Q6Q6QRRRS S S S S S S S S S S S S S S CC	y	,	,	, = =!RTe<<<= = = = = = = = = = = = = = = = = =s#   /A**A.1A.B::B>B>c                      t          g dd          } t          j        t          d          5  |                     | d d                    d d d            d S # 1 swxY w Y   d S )Nr   r   2002r
   r   Lengthr"      )r   r)   r*   
ValueErrorfillnar/   s    r   test_fillna_raisesr:   0   s    
///c
:
:
:C	z	2	2	2  

3rr7                 s   AA!Ac                      t          g dd          } |                     t          j        dd                    }|| usJ d S )Nr3   r
   r   r   )r   r8   r,   r-   )r/   r   s     r   test_fillna_copiesr<   6   sO    
///c
:
:
:CZZ	&#..//Fr   zkey, value, expectedr   r
   )r      r6   r=   r6   )r   r=   r6   r      r   r4   )r   r   i-  c                     t          t          j        d          d          }t          |d          }||| <   t          j        ||           d S )Nr>   r
   r   )r   r   aranger   assert_period_array_equal)keyvaluer   r/   s       r   test_setitemrD   @   sR     bill
-
-
-C8#...HCH h/////r   c                     t          t          j        d          d          } t          j        t
          d          5  t          j        dd          | d<   d d d            n# 1 swxY w Y   t          dd	gd          }t          j        t
          d          5  || dd
g<   d d d            d S # 1 swxY w Y   d S )Nr>   r
   r   r   r"   r   Ar   r   r=   )	r   r   r@   r)   r*   r   r,   r-   r   r/   others     r   %test_setitem_raises_incompatible_freqrI   U   s?   
bill
-
-
-C	,F	;	;	; - -6,,,A- - - - - - - - - - - - - - - &&)444E	,F	;	;	;  QF                 s#   A%%A),A)B33B7:B7c                      t          t          j        d          d          } t          j        t
          d          5  t          j        dd          g| ddg<   d d d            d S # 1 swxY w Y   d S )	Nr>   r
   r   lengthr"   r   r   r=   )r   r   r@   r)   r*   r7   r,   r-   r9   s    r   test_setitem_raises_lengthrL   _   s    
bill
-
-
-C	z	2	2	2 4 4yc2223QF4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   A))A-0A-c                      t          t          j        d          d          } t          j        t
          d          5  d| d<   d d d            d S # 1 swxY w Y   d S )Nr>   r
   r   intr"   r=   r   )r   r   r@   r)   r*   r.   r9   s    r   test_setitem_raises_typerO   e   s    
bill
-
-
-C	y	.	.	.  A                 s   AAAc                      t          ddgd          } t          j        dd          }t          j        t
          d          5  | |z
   d d d            d S # 1 swxY w Y   d S )Nr   r   r
   r   Mr   r"   )r   r,   r-   r)   r*   r   rG   s     r   test_sub_periodrR   o   s    
'c
2
2
2CIf3'''E	,F	;	;	;  e                 s   AAAc                     t          j        ddd          } |                     d          }t           j                            d|j                  }t          j        t          d          5  ||z
   d d d            n# 1 swxY w Y   t          j        t          d          5  ||z
   d d d            d S # 1 swxY w Y   d S )	Nz
1677-09-22r6   r
   )periodsr   nsl    @ k zOverflow in int64 additionr"   )	r,   
date_range	to_periodr-   _from_ordinalr   r)   r*   OverflowError)dtipipers      r   test_sub_period_overflowr]   v   s;   
-ac
:
:
:C	t		B
)
!
!&"'
2
2C	},H	I	I	I  
S               
},H	I	I	I  b                 s$   -A??BB%B88B<?B<rH   Hr   )r   r   r   c                    t          j        t          g dd                    }t          j        g d          }t          j        t          d          5  |j                            ||            d d d            n# 1 swxY w Y   |	                    ||           }|
                    t                    	                    ||           }t          j        ||           d S )Nr3   r
   r   )TFTr   r"   )r,   Seriesr   r   r   r)   r*   r   _wherewhereastypeobjectr   assert_series_equal)rH   sercondresr   s        r    test_where_different_freq_raisesri      s    )L!9!9!9DDD
E
EC8'''((D	,F	;	;	; & &	u%%%& & & & & & & & & & & & & & & ))D%
 
 Czz&!!''e44H3)))))s   A??BBc                  ^    t          ddgd          } t          |           }d}||k    sJ d S )Nr   r   r
   r   zF<PeriodArray>
['2000-01-01', '2001-01-01']
Length: 2, dtype: period[D]r   strr/   r   r   s      r   test_repr_smallrn      sE    
'c
2
2
2CXXFR  Xr   c                  d    t          ddgdz  d          } t          |           }d}||k    sJ d S )Nr   r   i  r
   r   aM  <PeriodArray>
['2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01',
 '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01',
 ...
 '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01',
 '2001-01-01', '2000-01-01', '2001-01-01', '2000-01-01', '2001-01-01']
Length: 1000, dtype: period[D]rk   rm   s      r   test_repr_largerp      sL    
'#-C
8
8
8CXXF
	)  Xr   )&numpyr   r)   pandas._libs.tslibsr   pandas._libs.tslibs.periodr   pandas.core.dtypes.baser   r   pandas.core.dtypes.dtypesr   pandasr,   pandas._testing_testingr   pandas.core.arraysr   r   r   r    r1   r:   r<   markparametrizer-   nanrD   rI   rL   rO   rR   r]   ri   rn   rp    r   r   <module>r~      s        $ $ $ $ $ $ < < < < < < 9 9 9 9 9 9 1 1 1 1 1 1                   2 2 2= = =     
ibi$$mmm4
dT1aL!
bftQl#	IBIfc**UGaK8IIRYvs##YRYvs%;%;YRYvs=S=ST!!!	

 0 0 0  4 4 4      $ RYvC   ,,/G/G/Gc"R"R"RS 
* 
*	 
*"      r   