
    .i¥                     &   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	 d dl
mZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lmZmZmZmZmZ d dlmZ d
Z G d d      Z  G d d      Z! G d d      Z" G d d      Z# G d d      Z$d Z%d Z&d Z'y)    )datedatetime	timedeltaN)iNaT	to_offset)DAYSMONTHS)DateParseError)INVALID_FREQ_ERR_MSG)PY314)OutOfBoundsDatetimePandas4Warning)NaTPeriod	Timedelta	Timestampoffsetsz#Period with BDay freq is deprecatedc            	           e Zd Zej                  j                  d ej                         df ej                  d      df ej                  d      df ej                  d      dfg      d	        Zd
 Zd Zd Zy)TestPeriodDisallowedFreqszfreq, freq_msg
BYearBegin   	YearBegin   startingMonthQuarterBeginBusinessMonthEndc                     t        j                  | d      }t        j                  t        |      5  t        d|       d d d        y # 1 sw Y   y xY w)N% is not supported as period frequencymatchi  )yearfreq)reescapepytestraises
ValueErrorr   )selfr#   freq_msgmsgs       d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/scalar/period/test_period.pytest_offsets_not_supportedz4TestPeriodDisallowedFreqs.test_offsets_not_supported(   sG     ii4& EFG]]:S1 	)4(	) 	) 	)s   AAc                 b   d}t        j                  t        |      5  t        dd       d d d        t	        j
                         j                   d}t        j                  t        |      5  t        dt	        j
                                d d d        y # 1 sw Y   nxY w# 1 sw Y   y xY w)Nz&C is not supported as period frequencyr    z
2023-04-10Cr#   r   )r&   r'   r(   r   r   CustomBusinessDaybaser)   r+   s     r,   $test_custom_business_day_freq_raisesz>TestPeriodDisallowedFreqs.test_custom_business_day_freq_raises7   s    6]]:S1 	+<c*	+**,1122WX]]:S1 	C<g&?&?&AB	C 	C	+ 	+	C 	Cs   B0 B%B"%B.c                     d}t        j                  t        |      5  t        dd       d d d        y # 1 sw Y   y xY w)Nz-WOM-1MON is not supported as period frequencyr    
2012-01-02zWOM-1MONr0   r&   r'   r(   r   r3   s     r,   $test_invalid_frequency_error_messagez>TestPeriodDisallowedFreqs.test_invalid_frequency_error_message@   s4    =]]:S1 	2<j1	2 	2 	2   5>c                     d}t        j                  t        |      5  t        dd       d d d        y # 1 sw Y   y xY w)NzInvalid frequency: MEr    r6   MEr0   r7   r3   s     r,   +test_invalid_frequency_period_error_messagezETestPeriodDisallowedFreqs.test_invalid_frequency_period_error_messageE   s4    %]]:S1 	,<d+	, 	, 	,r9   N)__name__
__module____qualname__r&   markparametrizer   r   r   r   r   r-   r4   r8   r<        r,   r   r   '   s    [[W!<0Wq!;/!W!!3^D%W%%a(*<=		
))C2
,rC   r   c                      e Zd Zd Zd Zd Zd Zej                  j                  dg d      d        Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zej                  j                  de      d        Zej                  j                  de      d        Zej                  j                  de      ej                  j                  d edd            d               Zd Zd Zej                  j                  dg d      d        Zd Zd Zd Zej                  j                  dg d      ej                  j                  d g d!      ej                  j                  d"g d#      d$                      Zej                  j                  d  ed%            d&        Z ej                  jC                  d'      ej                  j                  d(g d)      d*               Z"y+),TestPeriodConstructionc                 "   t        j                  d      }d}t        j                  t        |      5  t        |       d d d        t        j                  t        |      5  t        |d       d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)Nzm8[ns]2Value must be Period, string, integer, or datetimer    Dr0   )r   to_numpyr&   r'   r(   r   )r)   tdr+   s      r,   test_from_td64nat_raisesz/TestPeriodConstruction.test_from_td64nat_raisesL   ss    \\(#B]]:S1 	2J	 ]]:S1 	!2C 	! 	!	 		! 	!s   A9"B9BBc                 v   t        dd      }t        d      }||k(  sJ t        dd      }t        d      }||k(  sJ t        dd      }||k7  sJ t        j                  d      }t        t        j                         d      }||k(  sJ t        j                  d      }t        t        j                         d      }t        j                  t        j                               }||k(  sJ ||k(  sJ t        d	d
      }d}t        j                  t        |      5  t        d	d      }d d d        ||k(  sJ t        dddd      }t        dd      }||k(  sJ d}t        j                  t        |      5  t        dddd      }d d d        ||k(  sJ t        d      }t        t        ddddddd      d      }||k(  sJ t        dd      }||k(  sJ t        d      }t        t        ddddddd      d      }||k(  sJ t        dd      }||k(  sJ d}t        j                  t        |      5  t        d        d d d        d!}t        j                  t        |      5  t        d"d#       d d d        y # 1 sw Y   ZxY w# 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   y xY w)$N1/1/2005Mr0   zJan 20052005YQrH   1982minz<'MIN' is deprecated and will be removed in a future version.r    MIN        r"   monthdayr#   z3/1/2005z:'d' is deprecated and will be removed in a future version.d2007-01-01 09:00:00.001  	   r     ms2007-01-01 09:00:00.00101  usz"Must supply freq for ordinal value )ordinalzInvalid frequency: Xz2007-1-1X)r   nowr   r   Daytmassert_produces_warningr   r&   r'   r(   )r)   i1i2i4i3r+   expecteds          r,   test_constructionz(TestPeriodConstruction.test_constructionW   s   JS)JRxx F%F^RxxF%RxxZZS!HLLN-Rxx ZZS!HLLN-ZZ&RxxRxxF'L''cB 	,U+B	,RxxQAC8JS)RxxJ''cB 	=T<B	=Rxx-.(4Aq!Q=DIX~~3$?X~~/0(4Aq!Q=DIX~~5DAX~~2]]:S1 	#6"	# %]]:S1 	):C(	) 	)A	, 	,	= 	=&	# 	#	) 	)s0   #J	 J J#2J/	JJ #J,/J8c                     t        j                  t        d      5  t        dd       d d d        t        j                  t        d      5  t        dd       d d d        y # 1 sw Y   :xY w# 1 sw Y   y xY w)Nzpass as a string insteadr    rR   )MinrW   r0   z
2006-12-31)wrW   )r&   r'   	TypeErrorr   r)   s    r,   test_tuple_freq_disallowedz1TestPeriodConstruction.test_tuple_freq_disallowed   se    ]]9,FG 	,6
+	, ]]9,FG 	+<*	+ 	+	, 	,	+ 	+s   A#A/#A,/A8c                     t        d      }t        |d      }|j                         }||k(  sJ |j                  }t        |d      }|j                         }|j                  |k(  sJ y )Nz2022-04-20 09:23:24.123456789nsr0   )r   r   to_timestampasm8)r)   tsperrtdt64per2rt2s          r,   &test_construction_from_timestamp_nanosz=TestPeriodConstruction.test_construction_from_timestamp_nanos   sk    67Rd# Rxx wwd&!xx4rC   r#   )r`   rc   rx   c                    t        t         j                  j                  |      }t        ||      }|j                  |j                  k(  sJ |j
                  |j
                  k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  |j                  k(  sJ y )Nunitr0   )
r   rS   valuer   r"   rY   rZ   hourminutesecond)r)   r#   r{   r|   s       r,   $test_construction_from_min_timestampz;TestPeriodConstruction.test_construction_from_min_timestamp   s     y}}**6Rd# xx277"""yyBHH$$$ww"&&   xx277"""zzRYY&&&zzRYY&&&rC   c                    t        j                  t        dd      5  t        dd      }t        dd      }||j	                  d      k(  sJ t        dd      }||j	                  d      k(  sJ t        d	d      }||j	                  d      k(  sJ t        dd
      }||k(  sJ t        dddd      }t        d	d      }||k(  sJ 	 d d d        y # 1 sw Y   y xY w)Nz'b' is deprecatedFr!   raise_on_extra_warnings3/10/12Br0   rH   z3/11/12z3/12/12b  rV   
   rX   )ri   rj   r   r   asfreq)r)   rk   rl   rn   s       r,   test_construction_bdayz-TestPeriodConstruction.test_construction_bday   s    ''"5u
 	 	,B	,B3'''	,B3'''	,B3'''	,B8O8T=B	,B8O8!	 	 	s   B.CCc                 $   t        ddd      }t        dd      }||k(  sJ t        ddd      }t        dd      }||k(  sJ t        d	      }t        ddd      }t        d
      }||k(  sJ ||k(  sJ t        d      }||k(  sJ t        d      }||k(  sJ t        d      }||k(  sJ t        d      }||k(  sJ t        d      }||k(  sJ t        d      }||k(  sJ t        d      }|j                  dk(  sJ t        d      }||k(  sJ y )NrU   rW   rQ   r"   quarterr#   rM   r0   rV   z9/1/20052005Q12005q105Q105q11Q20051q20051Q051q054Q1984i  4q1984r   r"   )r)   rk   rl   rn   lowers        r,   test_construction_quarterz0TestPeriodConstruction.test_construction_quarter   s1   qs3JS)Rxxqs3JS)RxxHqs3HRxxRxxF^RxxvU{{HRxxx U{{F^RxxvU{{Hww$x U{{rC   c                 6   t        dd      }t        dd      }||k(  sJ t        dd      }||k(  sJ t        dd      }||k(  sJ t        dd      }|j                  dk(  sJ t        t        dd	d	      d      }t        dd      }||k(  sJ t        t        dd	d	      d      }t        t        dd	d	      d      }t        t	        j
                  d
      d      }t        dd      }t        dd      }||k(  sJ ||k(  sJ ||k(  sJ ||k(  sJ y )N2007-01rN   r0   200701rd   re   r#   I  r]   rW   
2007-01-012007-01-01 00:00:002007-01-01 00:00:00.000)r   r"   r   r   np
datetime64r)   ro   rk   rl   rn   rm   i5s          r,   test_construction_monthz.TestPeriodConstruction.test_construction_month   s%   )#.H3'X~~H3'X~~F%X~~F-ww%HT1a(s3H3'RxxDq!$3/HT1a(s3BMM,/c:)4-C8RxxRxxRxxRxxrC   c                 "	   t        dt        j                               t        dd      k(  sJ t        dt        j                               t        dd      k(  sJ t        dt        j                               t        dd      k(  sJ t	        j
                  t        t              5  t        dt        j                               t        dd      k(  sJ 	 d d d        t        dt        j                               t        dd	      k(  sJ t        d
dt        j                  d            t        d
dd      k(  sJ t        d
dt        j                  d            t        d
dd      k(  sJ t        d
ddt        j                               t        d
ddd	      k(  sJ t	        j
                  t        t              5  t        dddt        j                               t        dddd      k(  sJ 	 d d d        t        dd      }t        d
ddt        j                  d            |k(  sJ t        d
ddd      |k(  sJ t	        j
                  t        t              5  t        dddt        j                  d            t        dddd      k(  sJ 	 d d d        t        dt        j                               t        dd      k(  sJ t        dt        j                               }t        dd      }||k(  sJ |j                  dk(  sJ |j                  dk(  sJ t        t        ddd      d      }t        dd      }||k(  sJ t        t        ddd      d      }t        t        ddd      d      }t        t        j                   d      d      }t        dd      }t        dd      }||k(  sJ ||k(  sJ ||k(  sJ ||k(  sJ t        d       }t        t        dddd!d"d"d#      d$      }||k(  sJ t        d d$      }||k(  sJ t        d%      }t        t        dddd!d"d"d&      d'      }||k(  sJ t        d%d'      }||k(  sJ y # 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   xY w)(NrM   r0   rN   rO   rP   r    r   r   rH   rU   rW   r   r   r   rQ   r   rV   rX   r   r   z
2005-03-013D3Brd   r   r   r]   r   r   r   r   r\   r^   r   r_   r`   ra   rb   rc   )r   r   MonthEndYearEndri   rj   FutureWarningbday_msgBusinessDayrh   
QuarterEndBDayr"   r   r   r   r   r   s          r,   test_period_constructor_offsetsz6TestPeriodConstruction.test_period_constructor_offsets  sU   jw'7'7'9:fS?
 
 	
 
 f7??#45S9QQQQf7#3#3#56&c:RRRR''XF 	)'*=*=*?@FE   	 igkkm4ys8SSSSqw'9'9'K
qs34 	4 4 qw'9'9'K
qs34 	4 4 4qagkkmDQACI
 
 	
 
 ''XF 	t1"7<<>JfO   	
 ,T24qagkk!nEQQQ4qad;xGGG''XF 	t1"7<<?KvP   	
 f7#3#3#56&c:RRRRF)9)9);<F-Rxxww%ww%HT1a(s3H3'RxxDq!$3/HT1a(s3BMM,/c:)4-C8RxxRxxRxxRxx-.(4Aq!Q=DIX~~3$?X~~/0(4Aq!Q=DIX~~5DAX~~A	 	 	 		 	s$   -0Q*4Q715R*Q47RRc                    d}t        j                  t        |      5  t        t	        j
                                d d d        t        j                  t        |      5  t        t	        j
                         j                                d d d        d}t        j                  t        |      5  t        dd       d d d        d}t        j                  t        |      5  t        dd       d d d        d	}t        j                  t        |      5  t        d
dd       d d d        d}t        j                  t        |      5  t        d       d d d        d}t        j                  t        |      5  t        dd       d d d        t        rd}nd}t        j                  t        |      5  t        dd       d d d        d}t        j                  t        |      5  t        dd       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ]xY w# 1 sw Y   7xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nz#Must supply freq for datetime valuer    rG   g?rH   r0   zOrdinal must be an integerr   z?Only value or ordinal but not both should be given but not bothr   rW   )re   r   r#   z%If value is None, freq cannot be None)rY   z1^Given date string "-2000" not likely a datetime$z-2000rP   z5day 0 must be in range 1..31 for month 1 in year 1: 0zday is out of range for month0z/Unknown datetime string format, unable to parsez	1/1/-2000)	r&   r'   r(   r   r   rg   r   r   r
   r3   s     r,   test_invalid_argumentsz-TestPeriodConstruction.test_invalid_arguments]  s   3]]:S1 	#8<<>"	#]]:S1 	*8<<>&&()	* C]]:S1 	"3S!	"*]]:S1 	*3S)	*O]]:S1 	11AC0	1 6]]:S1 	O	 B]]:S1 	!7C 	!IC1C]]>5 	3	?]]>5 	%;$	% 	%;	# 	#	* 	*	" 	"	* 	*	1 	1	 		! 	!	 		% 	%sk   G?,H0H#H&H3
I <I7I)I$?H	HH#&H03H= I	II!$I-c                     t        dd      }t        ddd      |k(  sJ t        d       t        u sJ t        dd      }t        |d	      }t        d
d	      }||k(  sJ y )Nr   2Mr0   r]   rW   )r"   rY   r#   r   rH   rP   2007r   r   )r)   ro   presultexps        r,   test_constructor_cornerz.TestPeriodConstruction.test_constructor_corner  sg    )$/4qt4@@@d|s"""<c*$V#&}}rC   c                    t        d      }|j                  dk(  sJ t        d      }|j                  dk(  sJ t        d      }|j                  dk(  sJ t        d      }|j                  dk(  sJ t        d	      }|j                  d
k(  sJ t        d      }|j                  dk(  sJ t        d      }|j                  dk(  sJ y )Nr   rH   z2007-01-01 07hz2007-01-01 07:10rS   z2007-01-01 07:10:15sz2007-01-01 07:10:15.123r`   z2007-01-01 07:10:15.123000rc   z2007-01-01 07:10:15.123400)r   r#   r)   r   s     r,   test_constructor_infer_freqz2TestPeriodConstruction.test_constructor_infer_freq  s    < vv}}?#vv}}%&vv()vv}},-vv~~ /0vv~~/0vv~~rC   c                 H   t        dd      }t        dd      }|j                  |j                  k(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  t	        j
                  d      k(  sJ |j                  t	        j
                         k(  sJ |dz   j                  |j                  dz   k(  sJ d|z   j                  |j                  dz   k(  sJ |dz
  j                  |j                  dz
  k(  sJ d	|z   j                  |j                  dz
  k(  sJ y )
N19892Yr0   rP   z2Y-DECY-DECr   rW   )r   re   freqstrr#   r   r   )r)   result1result2s      r,   test_multiplesz%TestPeriodConstruction.test_multiples  s   d+c*'//111(***')))||wq1111||w0000!$$!(;;;;G$$!(;;;;!$$!(;;;;W%%1)<<<<rC   rY   c                     d| }t        d|      }dt        |      v sJ |j                  dd      }t        ||      }||k(  sJ |j                  dd      }t        ||      }||k(  sJ y )NzQ-1989Q3r0   rH   endhowr   )r   strry   r)   rY   r#   r   stampr   s         r,   test_period_cons_quarterlyz1TestPeriodConstruction.test_period_cons_quarterly  s     E7|XD)3s8###  % 05t$Cxx  5 15t$CxxrC   c                     d| }t        d|      }|j                  dd      t        d      z   }t        ||      }||d	z   k(  sJ t        |t               sJ y )
NzY-r   r0   rH   r   r      daysrW   )r   ry   r   
isinstancer   s         r,   test_period_cons_annualz.TestPeriodConstruction.test_period_cons_annual  sf     E7|V$'  % 09"3EE5t$C!G||!V$$$rC   rZ   numr      c                     d| }d| }t        ||      }t        |d      j                  |      }||k(  sJ t        |t               sJ y )Nz2011-02-zW-r0   rH   )r   r   r   )r)   r   rZ   daystrr#   r   ro   s          r,   test_period_cons_weeklyz.TestPeriodConstruction.test_period_cons_weekly  s\     C5!C5zT*&s+2248!!!&&)))rC   c                    t        d      }|j                  j                  dk(  sJ t        d      }|j                  j                  dk(  sJ d}t        j                  t
        |      5  t        d       d d d        y # 1 sw Y   y xY w)Nz2017-01-23/2017-01-29W-SUNz2017-01-24/2017-01-30zW-MONz%Could not parse as weekly-freq Periodr    z2016-01-23/2017-01-29)r   r#   r   r&   r'   r(   )r)   r|   r+   s      r,   test_parse_week_str_roundstripz5TestPeriodConstruction.test_parse_week_str_roundstrip  sy    ,-xx7***,-xx7***5]]:S1 	,*+	, 	, 	,s   *A??Bc                     t        dd      }t        j                  |j                  |j                        }||k(  sJ t	        |t               sJ y )N2011-01rN   r0   )r   _from_ordinalre   r#   r   r)   r   ress      r,   test_period_from_ordinalz/TestPeriodConstruction.test_period_from_ordinal  sC    93'""199166:Cxx#v&&&rC   rP   rN   rH   r   c                     t        d|      }|t        u sJ t        dd|z         }|t        u sJ t        dd|z         }|t        u sJ y )Nr   r0   23r   )r)   r#   r|   s      r,   'test_construct_from_nat_string_and_freqz>TestPeriodConstruction.test_construct_from_nat_string_and_freq  sR    U&czzUt,czzUt,czzrC   c                 0   t        dd      }|t        u sJ t        t        d      }|t        u sJ t        t        d      }|t        u sJ t        t        d      }|t        u sJ t        d      }|t        u sJ t        t              }|t        u sJ y )Nnatr   r0   rH   r   1D1hr   )r   r   r   r   s     r,   test_period_cons_natz+TestPeriodConstruction.test_period_cons_nat  s    5w'Cxx4c"Cxx4d#Cxx4f%Cxx5MCxx4LCxxrC   c                 x   t        dd      }t        dd      }|j                  |j                  k(  sJ |j                  t        j                  d      k(  sJ |j
                  dk(  sJ |j                  t        j                         k(  sJ |j
                  dk(  sJ |dz   }|j                  |dz   j                  k(  sJ |j                  |j                  k(  sJ |j
                  dk(  sJ |dz
  }|j                  |dz
  j                  k(  sJ |j                  |j                  k(  sJ |j
                  dk(  sJ d}t        j                  t        |      5  t        dd	       d d d        d
}t        j                  t        |      5  t        dd       d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr   3Mr0   rN   rV   rW   z;Frequency must be positive, because it represents span: -3Mr    z-3Mz:Frequency must be positive, because it represents span: 0M0M)	r   re   r#   r   r   r   r&   r'   r(   )r)   p1p2r   r+   s        r,   test_period_cons_multz,TestPeriodConstruction.test_period_cons_mult  s   ID)IC(zzRZZ'''ww'**1----zzT!!!ww'**,,,,zzS   a~~"q&!1!1111{{bgg%%%~~%%%a~~"q&!1!1111{{bgg%%%~~%%%K]]:S1 	*95)	* K]]:S1 	)94(	) 	)		* 	*	) 	)s   F$F0$F-0F9c                    t        dd      t        dd      t        dd      ft        dd      t        dd      t        dd      fg}|D ]  \  }}}|j                  |j                  k(  sJ |j                  |j                  k(  sJ |j                  t        j                  d      k(  sJ |j
                  d	k(  sJ |j                  t        j                  d      k(  sJ |j
                  d	k(  sJ |j                  t        j                         k(  sJ |j
                  dk(  sJ |dz   }|j                  |dz   j                  k(  sJ |j                  |j                  k(  sJ |j
                  d	k(  sJ |dz   }|j                  |dz   j                  k(  sJ |j                  |j                  k(  sJ |j
                  d	k(  sJ |dz
  }|j                  |dz
  j                  k(  sJ |j                  |j                  k(  sJ |j
                  d	k(  sJ |dz
  }|j                  |dz
  j                  k(  sJ |j                  |j                  k(  sJ |j
                  d	k(  rJ  d
}t        j                  t        |      5  t        dd       d d d        t        j                  t        |      5  t        dd       d d d        t        j                  t        |      5  t        dd       d d d        t        j                  t        |      5  t        dd       d d d        d}t        j                  t        |      5  t        dd       d d d        t        j                  t        |      5  t        dd       d d d        d}t        j                  t        |      5  t        dd       d d d        d}t        j                  t        |      5  t        dd       d d d        y # 1 sw Y   hxY w# 1 sw Y   DxY w# 1 sw Y    xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r0   1h1Dr   rW   r      25hz<Frequency must be positive, because it represents span: -25hr    z-1D1hz-1h1Dz:Frequency must be positive, because it represents span: 0D0D0hzInvalid frequency: 1W1D1W1DzInvalid frequency: 1D1W1D1W)	r   re   r#   r   Hourr   r&   r'   r(   )r)   r   r   r   p3r   r+   s          r,   test_period_cons_combinedz0TestPeriodConstruction.test_period_cons_combined$  s    yv.yv.ys+ qv.qv.qs+
  	+JBB::+++::+++77gll2....::&&&77gll2....::&&&77glln,,,::$$$!VF>>b2g%6%6666;;"'')))>>U***!VF>>b2g%6%6666;;"'')))>>U***!VF>>b2g%6%6666;;"'')))>>U***!VF>>b2g%6%6666;;"'')))>>U***?	+B M]]:S1 	,97+	,]]:S1 	,97+	,]]:S1 	,17+	,]]:S1 	,17+	, K]]:S1 	+96*	+]]:S1 	+16*	+ (]]:S1 	+96*	+']]:S1 	+96*	+ 	+)	, 	,	, 	,	, 	,	, 	,	+ 	+	+ 	+
	+ 	+	+ 	+s`   O;8P)PP"P.>P:1Q$Q;PPP"P+.P7:QQQ)z1970/01/01 z2020-12-31 z1981/09/13 r   )z00:00:00z00:00:01z23:59:59z12:00:59zsec_float, expected))z
.000000001rW   )z
.000000999  )z
.123456789i  )z
.999999999r  )z
.999999000r   )z.999999001123rW   )z.999999001123456rW   )z.999999001123456789rW   c                 X    t        ||z   |z         j                  j                  |k(  sJ y )N)r   
start_time
nanosecond)r)   rZ   r   	sec_floatro   s        r,   "test_period_constructor_nanosecondz9TestPeriodConstruction.test_period_constructor_nanosecondk  s,    & cDj9,-88CCxOOOrC      c                 F    t        d|z   d      }|j                  |k(  sJ y )Ni ' 1hr   )r   r   )r)   r   r   s      r,   test_period_large_ordinalz0TestPeriodConstruction.test_period_large_ordinal  s$     7T>5vv~~rC   8ignore:Period with BDay freq is deprecated:FutureWarningzfreq,freq_depr))2W2w)z2W-FRIz2w-fri)2D2d)2B2bc                     d|dd   d}t        j                  t        |d      5  t        d|      }d d d        t        d|      }|k(  sJ y # 1 sw Y   xY w)N'rW   z8' is deprecated and will be removed in a future version.Fr   2016-03-01 09:00r0   )ri   rj   r   r   )r)   r#   	freq_deprr+   r   ro   s         r,   %test_period_deprecated_lowercase_freqz<TestPeriodConstruction.test_period_deprecated_lowercase_freq  sx     	!"VW 	 ''#u
 	@ .Y?F	@
 ,48!!!	@ 	@s   AAN)#r=   r>   r?   rK   rp   rv   r   r&   r@   rA   r   r   r   r   r   r   r   r   r   r	   r   r   r   ranger   r   r   r   r   r   r
  r  r  filterwarningsr   rB   rC   r,   rE   rE   K   s
   	!A)F+  [[V%78' 9' (!F8FP %D
0= [[Wf- . [[Wf-% .% [[UD)[[UE"bM2* 3 **,' [[V%9: ;&)<E+N [[U$QR[[V%UV[[
	
P W S P
 [[VU2Y/ 0 [[B [[H"	"rC   rE   c                   |   e Zd Zd Zd Zd Zej                  j                  d      d        Z	d Z
ej                  j                  dg d      ej                  j                  d	g d
      d               Zej                  j                  dd      ej                  j                  d      d               Zd Zd Zy)TestPeriodMethodsc                 T    t        d      }t        j                  ||      }||k(  sJ y )N2000Q1)r   ri   round_trip_pickle)r)   	temp_filer   new_ps       r,   test_round_tripz!TestPeriodMethods.test_round_trip  s*    8$$Q	2zzrC   c                 |   t        t        dd            t        t        dd            k(  sJ t        t        dd            t        t        dd            k7  sJ t        t        dd            t        t        dd            k7  sJ t        t        dd            t        t        dd            k7  sJ y )	Nr   rN   r0   
2011-01-01rH   r   r   z2011-02)hashr   ru   s    r,   	test_hashzTestPeriodMethods.test_hash  s    F93/0D	PS9T4UUUUF<c23tF9SV<W7XXXXF9401T&QU:V5WWWWF93/0D	PS9T4UUUUrC   c                 x   t        dd      }|j                  d      t        d      k(  sJ t        d      t        dd	
      z
  }|j                  d      |k(  sJ t        dd      }|j                  d      t        d      k(  sJ t        d      t        dd	
      z
  }|j                  d      |k(  sJ y )Nr   rN   r0   Sr   r,  z
2011-02-01rW   rc   r   Er   z
2011-04-01)r   ry   r   r   )r)   r   ro   s      r,   test_to_timestamp_multz(TestPeriodMethods.test_to_timestamp_mult  s    93'~~#~&)L*AAAA\*Yqt-DD~~#~&(22294(~~#~&)L*AAAA\*Yqt-DD~~#~&(222rC   r  c                     t        dd      }|j                  d      }g d}|D ]2  }||j                  d|      k(  sJ ||j                  d|      k(  r2J  |j                  d	      }g d
}|D ]2  }||j                  d|      k(  sJ ||j                  d|      k(  r2J  g d}d }|D ]m  }t        d|      }|j                         j                  |      }	|	|k(  sJ |j                  |j                  d      k(  sJ |j                   ||      k(  rmJ  t        dd      }|j                  dd      }	t        ddd      t        dd      z
  }
|	|
k(  sJ |j                  dd      }	|	|
k(  sJ |j                  dd      }	t        ddd      t        dd      z
  }
|	|
k(  sJ |j                  dd      }	|	|
k(  sJ |j                  d      }	t        ddd      t        dd      z
  }
|	|
k(  sJ t        ddd      }
|j                  dd      }	|	|
k(  sJ |j                  dd      }	|	|
k(  sJ |j                  dd      }	|	|
k(  sJ |j                  dd      }	|	|
k(  sJ |j                  dd      }	|	|
k(  sJ y )NrR   rP   r0   r0  r   )r   StarTBEGInrH   r   r1  )er   FINIsH)	rP   rQ   rN   Wr   rH   r   rr   r   c                     | j                   dk(  r&| j                  t        d      z   t        d      z
  S t        | | j                   z   j                  j                  dz
  d      S )Nr   rW   r   )microsecondsrc   r   )r#   r  r   r   _value)r   s    r,   _exz0TestPeriodMethods.test_to_timestamp.<locals>._ex  sR    vv}||iQ&77)QR:SSSa!&&j44;;a?dKKrC   1985r   r   i  rW   rc   r   3hrS   2mini  startr   5s)r   ry   	to_periodr  end_timer   r   r   )r)   r   start_tsaliasesaend_tsfrom_lstr<  fcoder   ro   s              r,   test_to_timestampz#TestPeriodMethods.test_to_timestamp  s    6$>>c>*) 	;Aq~~cq~9999q~~d~::::	;
 C(( 	9AQ^^CQ^7777Q^^Da^8888	9 C	L
  	(EvE*A^^%//6FQ;;<<1>>c>#::::::Q'''	( 6$/T1a(9QT+BB!!!%0!!!51T1a(9QT+BB!!!E2!!!E*T1a(9QT+BB!!!D!Q'1!!!73!!!1!!!'2!!!'2!!!rC   c                     t        j                  t        t              5  t	        dd      }|j                  dd      }d d d        t        d      t        dd	      z
  }|k(  sJ y # 1 sw Y   *xY w)
Nr    
1990-01-05r   r1  r   
1990-01-06rW   rc   r   )ri   rj   r   r   r   ry   r   r   r)   r|   r   ro   s       r,   test_to_timestamp_business_endz0TestPeriodMethods.test_to_timestamp_business_end  sn    ''XF 	4s+C%%cs%3F	4 \*Yqt-DD!!!	4 	4s    A))A2zts, expected)	)z1970-01-01 00:00:00r   )z1970-01-01 00:00:00.000001rW   )z1970-01-01 00:00:00.00001r   )z1970-01-01 00:00:00.499i8 )z1999-12-31 23:59:59.999iX> )z1999-12-31 23:59:59.999999?B )z2050-12-31 23:59:59.5i  )z2050-12-31 23:59:59.500001i! )z2050-12-31 23:59:59.123456i@ r#   )Nrc   rx   c                 \    t        |      j                  |      j                  }||k(  sJ y )Nr0   )r   ry   microsecond)r)   r{   ro   r#   r   s        r,   test_to_timestamp_microsecondz/TestPeriodMethods.test_to_timestamp_microsecond  s/    " ((d(3??!!!rC   zstr_ts,freq,str_res,str_freq))zJan-2000N2000-01rN   )
2000-12-15NrU  rH   )2000-12-15 13:45:26.123456789rx   rV  rx   )rV  rc   2000-12-15 13:45:26.123456rc   )rW  NrW  rc   )rV  r`   2000-12-15 13:45:26.123r`   )rX  NrX  r`   )2000-12-15 13:45:26r   rY  r   )rY  rS   z2000-12-15 13:45rS   )rY  r   z2000-12-15 13:00r   )rU  rP   2000r   )rU  rQ   2000Q4Q-DEC)rU  rN   z2000-12rN   )rU  r8  z2000-12-11/2000-12-17r   )rU  rH   rU  rH   )rU  r   rU  r   c                 l    t        ||      }t        |      |k(  sJ t        |      d| d| dk(  sJ y )Nr0   zPeriod('z', 'z'))r   r   repr)r)   str_tsr#   str_resstr_freqr   s         r,   	test_reprzTestPeriodMethods.test_repr  sC    < 6%1v   AwHWIT(2>>>>rC   c                 V    t        dd      }t        t              t        |      v sJ y )Nr   rN   r0   )r   r^  r   r   s     r,   test_repr_natzTestPeriodMethods.test_repr_nat=  s$    5s#CyDG###rC   c                 r    t        dd      }|j                  d      }|dk(  sJ t        |t              sJ y )Nz2000-1-1 12:34:12r   r0   z%Y-%m-%d %H:%M:%Sz2000-01-01 12:34:12)r   strftimer   r   r   s      r,   test_strftimezTestPeriodMethods.test_strftimeA  s=    &S1jj,-++++#s###rC   N)r=   r>   r?   r*  r.  r2  r&   r@   r"  rJ  rO  rA   rS  rb  rd  rg  rB   rC   r,   r$  r$    s    
V	3 [[B="="~" [[
	
 [[V%78" 9" [[&	
4 [[B?5:?
$$rC   r$  c                   x   e Zd ZdZej
                  j                  dg d      d        Zd Zd Z	ej
                  j                  d      d        Zed	        Zej
                  j                  d
ej                  dfej                   dfg      ej
                  j                  dddg      d               Zej
                  j                  d
ej                  dfej                   dfg      ej
                  j                  dddg      d               Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy) TestPeriodPropertiesz5Test properties such as year, month, weekday, etc....r#   r   c                    t        d|      }|j                  sJ t        |j                  t              sJ t        d|      }|j                  rJ t        d|      }|j                  sJ t        d|      }|j                  rJ y )Nz2000-01-01 00:00:00r0   z1999-01-01 00:00:00z2004-01-01 00:00:00z2100-01-01 00:00:00)r   is_leap_yearr   bool)r)   r#   r   s      r,   test_is_leap_yearz&TestPeriodProperties.test_is_leap_yearL  s     (t4~~~!..$///(t4>>!!(t4~~~(t4>>!!>rC   c                    t        dd      }|j                  dk(  sJ |j                  dk(  sJ t        |t               sJ t        dd      }|j                  dk(  sJ |j                  dk(  sJ t        |t               sJ t        dd      }|j                  dk(  sJ |j                  d	k(  sJ t        |t               sJ y )
Nr   r\  r        rV   rN      )r   r"   r   r   rY   r   s     r,    test_quarterly_negative_ordinalsz5TestPeriodProperties.test_quarterly_negative_ordinals\  s    2G,vv~~yyA~~!V$$$2G,vv~~yyA~~!V$$$2C(vv~~ww"}}!V$$$rC   c                     t        dd      }|j                  t        j                         k(  sJ |j                  dk(  sJ y )NrR   rr   r0   rS   )r   r#   r   Minuter   )r)   rk   s     r,   test_freq_strz"TestPeriodProperties.test_freq_strl  s9    F'ww'..****zzU"""rC   r  c           
         g dg dg dg dg dg dg dg dg d	d
	}t         }|j                         D ]  \  }}|D ]d  }t        j                  t        |      5  t        d|       d d d        t        j                  t        |      5  t        d|       d d d        f t        d|      }t        d|      }t        |t
              sJ t        |t
              rJ  y # 1 sw Y   }xY w# 1 sw Y   xY w)N)MTHMONTHMONTHLYMthrY   monthly)BUSBUSINESS
BUSINESSLYWEEKDAYbus)DAYDLYDAILYrh   DlyDaily)HRHOURHRLYHOURLYhrr  HRly)r   MINUTEMINUTELYminutely)secSECSECONDSECONDLYr   )MILLISECONDMILLISECONDLYmillisecond)MICROSECONDMICROSECONDLYrR  )
NANOSECONDNANOSECONDLYr  )	rN   r   rH   r   rS   r   r`   rc   rx   r    r  r0   rW   r   )r   itemsr&   r'   r(   r   r   )r)   casesr+   r   freqsr#   r   r   s           r,   test_period_deprecated_freqz0TestPeriodProperties.test_period_deprecated_freqq  s    
 HD?G??AA>

 #++- 	*JC 1]]:S9 :-D9:]]:S9 11401 11 *5B,Bb&)))b&)))	*: :1 1s   C%C1%C.1C:c           	          t        | j                  | j                  | j                  | j                  | j
                  | j                  |z   d      S )Nrc   )r"   rY   rZ   r   r   r   r#   )r   r"   rY   rZ   r   r   r   )boundoffsets     r,   _period_constructorz(TestPeriodProperties._period_constructor  sA    ++		<<<<&(
 	
rC   zbound, offsetr   rW   period_propertyr  rC  c                 B   t         j                  ||      }t        ||       t        j                  |j
                  t        d            }|dk(  r|dk(  r	t        }d}nt        }d}t        j                  ||      5  t        ||       d d d        y # 1 sw Y   y xY w)Nr`   r0   rC  rW   zvalue too largezOut of bounds microsecondr    )ri  r  getattrr   r   r   r   OverflowErrorr   r&   r'   )r)   r  r  r  periodr|   errr+   s           r,   $test_outer_bounds_start_and_end_timez9TestPeriodProperties.test_outer_bounds_start_and_end_time  s     &99%H(""5;;Yt_Ej(Vq[C#C%C-C ]]3c* 	*C)	* 	* 	*s   ?BBc                 8   t         j                  ||       }|j                         j                  d      }t	        ||      j                  d      |k(  sJ ||t        dd      z  z
  j                  d      }t	        ||      j                  d      |k(  sJ y )Nr   r0   rW   r   )ri  r  ry   roundr  r   floor)r)   r  r  r  r  ro   s         r,   $test_inner_bounds_start_and_end_timez9TestPeriodProperties.test_inner_bounds_start_and_end_time  s     &99%&I&&(..C.8v/5535?8KKKFYqs%;;;BB3Gv/55c:hFFFrC   c                 v   g d}t        ddd      }|D ]   }t        d|      }|j                  |k(  r J  t        j                  t
        t              5  t        dd      j                  t        ddd      k(  sJ 	 d d d        t        dd	      j                  t        d
dd      k(  sJ y # 1 sw Y   1xY w)N)rP   rQ   rN   rH   r   rS   r   r   rW   2012r0   r    r   r   r8  i  r      )r   r   r  ri   rj   r   r   )r)   freq_lstxpfr   s        r,   test_start_timez$TestPeriodProperties.test_start_time  s    8dAq! 	&AvA&A<<2%%%	& ''XF 	O&s+66(4A:NNNN	Of3'22htR6LLLL	O 	Os   (B//B8c           
         t        dd      }t        ddddddd	      }|j                  |k(  sJ t        dd
      }t        ddddddd	      }|j                  |k(  sJ t        dd      }t        ddddddd	      }|j                  |k(  sJ t        dd      }t        ddddddd	      }|j                  |k(  sJ t        dd      }t        ddddddd	      }|j                  |k(  sJ t        j                  t
        t              5  t        dd      }t        ddddddd	      }|j                  |k(  sJ 	 d d d        t        dd      }t        ddddddd	      }|j                  |k(  sJ t        dd      }t        ddddddd	      }|j                  |k(  sJ t        dd      }t        ddddddd	      }|j                  |k(  sJ t        dd      }t        ddddddd	      }|j                  |k(  sJ y # 1 sw Y   xY w)Nr  rP   r0   r   r         ;   rP  rQ   rV   rN   rW   rH   r   r   r    r   r   r8  15D   r   r  )r   r   rC  ri   rj   r   r   r)   r   r   s      r,   test_end_timez"TestPeriodProperties.test_end_time  s3   6$b"b"b&9zzS   6$aRR8zzS   6$aRR8zzS   6$aBB7zzS   6$aAr2v6zzS   ''XF 	%vC(AD!QBF;C::$$$	%
 6$aBB7zzS    6&aRR8zzS   6'aAr2v6zzS   6'aAr2v6zzS   )	% 	%s   0HH
c                     t        j                  t        t              5  t	        dd      }|j
                  }d d d        t        d      t        dd      z
  }|k(  sJ y # 1 sw Y   *xY w)Nr    rL  r   rM  rW   rc   r   )ri   rj   r   r   r   rC  r   r   rN  s       r,   test_end_time_business_fridayz2TestPeriodProperties.test_end_time_business_friday  sb    ''XF 	"s+C\\F	" \*Yqt-DD!!!	" 	"s   A""A+c           	      `    t        dd      }t        ddddddd      }|j                  |k(  sJ y )	Nz2013-1-1zW-SATi  rW      r  r  rP  )r   r   rC  r  s      r,   test_anchor_week_end_timez.TestPeriodProperties.test_anchor_week_end_time  s6    :w'aBB7zzS   rC   c                 @    t        dd      }|j                  dk(  sJ y )NrP   r]   )r#   r"   r   )r)   a_dates     r,   test_properties_annuallyz-TestPeriodProperties.test_properties_annually  s     St,{{d"""rC   c                     t        ddd      }t        ddd      }t        ddd      }t        d      D ]7  }|||fD ]-  }||z   j                  dk(  sJ ||z   j                  |dz   k(  r-J  9 y )Nr\  r]   rW   )r#   r"   r   zQ-JANzQ-JUNrV   )r   r!  qyearr   )r)   
qedec_date
qejan_date
qejun_datexqds         r,   test_properties_quarterlyz.TestPeriodProperties.test_properties_quarterly  s    tQ?
tQ?
tQ?
q 	1A!:z: 1Q~~---Q''1q50001	1rC   c                    t        ddd      }t        d      D ]  }||z   }|j                  dk(  sJ d|dz   cxk  rdk  rn n|j                  dk(  shJ d|dz   cxk  rdk  rn n|j                  d	k(  sFJ d
|dz   cxk  rdk  rn n|j                  dk(  s$J d|dz   cxk  rdk  rn n|j                  dk(  sJ |j                  |dz   k(  rJ  y )NrN   r]   rW   )r#   r"   rY   rr  rV   rp     r      r^   r   r   )r   r!  r"   r   rY   )r)   m_dater  m_ival_xs       r,   test_properties_monthlyz,TestPeriodProperties.test_properties_monthly  s    St15r 	+AzH==D(((AEQ''1,,,a!eq''1,,,a!eq''1,,,q1u""''1,,,>>QU***	+rC   c                 0   t        dddd      }|j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |dz
  j                  dk(  sJ |j
                  dk(  sJ t        ddd	d      j
                  d
k(  sJ y )Nr8  r]   rW   r  r#   r"   rY   rZ   4   r  r   r      )r   r"   r   rY   weekdays_in_month)r)   w_dates     r,   test_properties_weeklyz+TestPeriodProperties.test_properties_weekly  s    St1!<{{d"""~~"""||q   {{a
  B&&&##r)))3T:HHBNNNrC   c                    t        dddd      }|j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |dz
  j                  dk(  sJ |j
                  dk(  sJ t        ddd	d      }|j
                  d
k(  sJ t        }t        j                  t        |      5  t        dddd       d d d        y # 1 sw Y   y xY w)Nr8  r]   rW   r  r  r  r  r   r   r  r    WK)
r   r"   r   rY   r  r  r   r&   r'   r(   )r)   r  r   r+   s       r,   test_properties_weekly_legacyz2TestPeriodProperties.test_properties_weekly_legacy(  s    St1!<{{d"""~~"""||q   {{a
  B&&&##r)))#Dq9  B&&&"]]:S1 	94qa8	9 	9 	9s   :CCc                 h   t        j                  t        t              5  t	        dddd      }d d d        j
                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t        j                  t        t              5  t	        ddd	d      j                  d
k(  sJ 	 d d d        t	        dddd      }|j
                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t	        ddd	d      j                  d
k(  sJ y # 1 sw Y   mxY w# 1 sw Y   xY w)Nr    r   r]   rW   r  r   r  r   r   r  rH   )ri   rj   r   r   r   r"   r   rY   rZ   weekday	dayofyearr  )r)   b_dated_dates      r,   test_properties_dailyz*TestPeriodProperties.test_properties_daily9  s   ''XF 	A4qa@F	A{{d"""~~"""||q   zzQ~~"""1$$$##r)))''XF 	SsQA>LLPRRRR	S St1!<{{d"""~~"""||q   zzQ~~"""1$$$##r)))3T:HHBNNN+	A 	A	S 	Ss   FF(F%(F1c                    t        ddddd      }t        ddddd      }||fD ]  }|j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j
                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t        ddd	dd      j                  d
k(  rJ  y )Nr   r]   rW   r   )r#   r"   rY   rZ   r   2hr  r   r   r  )	r   r"   r   rY   rZ   r  r  r   r  )r)   h_date1h_date2h_dates       r,   test_properties_hourlyz+TestPeriodProperties.test_properties_hourlyR  s    cA11EdQAAF( 	F;;$&&&>>Q&&&<<1$$$::?"?>>Q&&&##q(((;;!###''2---Cd!CQQUWWW	rC   c                 v   t        dddddd      }|j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j
                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t        ddd	ddd      j                  d
k(  sJ y )Nrr   r]   rW   r   )r#   r"   rY   rZ   r   r   r  rH   r   r   r  )	r   r   rY   rZ   r  r  r   r   r  )r)   t_dates     r,   test_properties_minutelyz-TestPeriodProperties.test_properties_minutelyd  s    UQAAaP~~"""||q   zzQ~~"""1$$${{a}}!!!##r)))$aQQqIWW	
rC   c           	         t        ddddddd      }|j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j
                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ |j                  dk(  sJ t        ddddddd      j                  d	k(  sJ y )
Nrr   r]   rW   r   )r#   r"   rY   rZ   r   r   r   r  r   r   r  )r   r"   r   rY   rZ   r  r  r   r   r   r  )r)   s_dates     r,   test_properties_secondlyz-TestPeriodProperties.test_properties_secondlyt  s   T!A
 {{d"""~~"""||q   zzQ~~"""1$$${{a}}!!!}}!!!##r)))QAAaPQm	
rC   N) r=   r>   r?   __doc__r&   r@   rA   rm  rs  rv  r"  r  staticmethodr  r   rS   maxr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rB   rC   r,   ri  ri  I  sp   ?[[V%9:" ;"% #
 [[B**6 	
 	
 [[_	r/BY]]TUDV.WX[[.z0JK* L Y*& [[_	r/BY]]TUDV.WX[[.z0JKG L YGM*!X"!
#
1+ 	O9"O2$
 
rC   ri  c                       e Zd Zd Zy)TestPeriodComparisonsc                     t        dd      }t        dd      }t        dd      }|||g}|||g}t        |      |k(  sJ y )NrT  rN   z2000-02z2000-03)r   sorted)r)   janfebmarperiodscorrectPeriodss         r,   test_sort_periodsz'TestPeriodComparisons.test_sort_periods  sN    Y$Y$Y$S/sCg.000rC   N)r=   r>   r?   r  rB   rC   r,   r  r    s    1rC   r  c                     d} t        d      }t        j                  t        |       5  d|_        d d d        |j
                  }t        j                  t        |       5  d|z  |_        d d d        y # 1 sw Y   DxY w# 1 sw Y   y xY w)Nznot writable2014Q1r       r   )r   r&   r'   AttributeErrorre   r#   )r+   r|   r#   s      r,   test_period_immutabler    sy    
C

C	~S	1  88D	~S	1 t8 	  s   A4 B 4A= B	c                  `    t        dd      } | j                  dk(  sJ | j                  dk(  sJ y )Nz
0001-01-07rH   rW   r  )r   r"   rZ   )per1s    r,   test_small_year_parsingr    s.    ,$D99>>88q==rC   c                     g d} t        dd      }| D ]  }t        |j                  |              | D ]+  }t        d|      }t        |       |j                  dk(  r+J  t	        j
                  t        t              5  t        dd      }d d d        t        |       t        dd      }t        |       y # 1 sw Y   -xY w)	N)rP   rN   rQ   rH   r   rS   r   r   rH   r   ro  r    r   r8  )r   r^  r   r"   ri   rj   r   r   )r  r  r#   s      r,   test_negone_ordinalsr    s    1EBS)F "V]]4 !"  #.V{{d"""#
 
	#	#M	B .-.LBS)FL	. .s   B<<C)(r   r   r   r$   numpyr   r&   pandas._libs.tslibsr   r   pandas._libs.tslibs.ccalendarr   r	   pandas._libs.tslibs.parsingr
   pandas._libs.tslibs.periodr   pandas.compatr   pandas.errorsr   r   pandasr   r   r   r   r   pandas._testing_testingri   r   r   rE   r$  ri  r  r  r  r  rB   rC   r,   <module>r     s    
 
   7 ; 
  0!, !,HO	" O	"di$ i$X
 
D
1 1
rC   