
    bMh                     Z   d dl Z d dlZd dlZd dlmZmZmZm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 d dlmZ d dlmZ d dlmZmZmZ ej                            d          ej                            d	          ej                                         gZ! ej"         ed
          #                                 ej$        d
d           ed
          ge!z             d             Z% ej"         ej$        dd           ed          #                                 ed          ge!z             d             Z& G d d          Z' G d d          Z( G d d          Z) G d d          Z* G d d          Z+ G d d          Z, G d  d!          Z- G d" d#          Z.dS )$    N)IncompatibleFrequencyPeriod	Timestamp	to_offset)PerformanceWarning)PeriodIndexSeries	TimedeltaTimedeltaIndexperiod_range)ops)TimedeltaArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_box         )minutess)seconds)paramsc                     | j         S )zp
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Hourly frequencies.
    paramrequests    c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/arithmetic/test_period.py
not_hourlyr   )        =    im  Ddaysc                     | j         S )z{
    Several timedelta-like and DateOffset instances that are _not_
    compatible with Monthly or Annual frequencies.
    r   r   s    r   mismatched_freqr&   9   r    r!   c                      e Zd Zej                            dd edd          g          d             Zd Zej                            dd e	d	           e
d
          dddddg          d             Zej                            d ej        dd
          j         ej        dd
          j         ej        d
           ej        d
                              ej                   e ed
                    g d ej        dd           ej        dd                              e           ej        g d          g	          d             Zej                            deej        d g          d             ZdS )TestPeriodArrayLikeComparisonsother2017r"   freqc                    t          g dd          }t          j        ||          }t          ||d          }t	          j        g d          }t          j        ||          }||k    }t          j        ||           d S )N)r*   r*   2018r"   r+   TTTFr   tmbox_expectedr   nparrayassert_equal)selfr)   box_with_arrayidxxboxexpectedresults          r   test_eq_scalarz-TestPeriodArrayLikeComparisons.test_eq_scalarR   s    222===oc>22c5$//8///00?8T22
)))))r!   c                 X   t          dd          }t          j        |                                d                   }t	          j        ||          }t          ||d          }||k    }t          j        g d          }t	          j        ||          }t	          j        ||           d S )N2000   periodsr   TTFFF)r   r3   r4   to_numpyr1   r2   r   r5   )r6   r7   pir)   r9   r;   r:   s          r   test_compare_zerodimz3TestPeriodArrayLikeComparisons.test_compare_zerodim_   s     &!,,,q)**_R00b%..u877788?8T22
)))))r!   scalarfooz
2021-01-01r?   r#   	   g      #@  FNc                 t    t          dd          }t          j        ||          }t          |||           d S Nr>   r?   r@   r   r1   r2   r   )r6   r7   rF   rD   parrs        r   test_compare_invalid_scalarz:TestPeriodArrayLikeComparisons.test_compare_invalid_scalarm   s?      &!,,,r>22!$?????r!   r>   r@   1D)rI   i  i  i  i  c                 t    t          dd          }t          j        ||          }t          |||           d S rK   rL   )r6   r7   r)   rD   rM   s        r   test_compare_invalid_listlikez<TestPeriodArrayLikeComparisons.test_compare_invalid_listlike   s?      &!,,,r>22!$~>>>>>r!   	other_boxc                 6    |                      t                    S N)astypeobjectxs    r   <lambda>z'TestPeriodArrayLikeComparisons.<lambda>   s    QXXfEUEU r!   c                    t          dd          }t          j        ||          } ||          }t          ||d          }t	          j        g d          }t          j        ||          }||k    }t          j        ||           ||k    }t          j        ||           ||k    }t          j        ||           ||k    }t          j        ||            ||k     }t          j        ||            ||k    }t          j        ||             ||d d d                   }t	          j        g d          }t          j        ||          }||k    }t          j        ||           t	          j        g d          }t          j        ||          }||k    }t          j        ||           t	          j        g d	          }t          j        ||          }||k    }t          j        ||           t	          j        g d
          }t          j        ||          }||k    }t          j        ||           t	          j        g d          }t          j        ||          }||k     }t          j        ||           t	          j        g d          }t          j        ||          }||k    }t          j        ||           d S )Nr>      r@   T)TTTTT)FFTFF)TTTFF)FFTTT)TTFTT)TTFFF)FFFTT)r   r1   r2   r   r3   r4   r5   )	r6   r7   rR   rD   rM   r)   r9   r:   r;   s	            r   test_compare_object_dtypez8TestPeriodArrayLikeComparisons.test_compare_object_dtype   s   &!,,,r>22	"dE4008:::;;?8T22
)))
)))
)))
	***
	***
	***	"TTrT(##8>>>???8T22
)))8<<<==?8T22
)))8<<<==?8T22
)))8;;;<<?8T22
)))8===>>?8T22
)))8===>>?8T22
)))))r!   )__name__
__module____qualname__pytestmarkparametrizer   r<   rE   r   r
   rN   pd
date_ranger4   timedelta_ranger3   arangerU   float64listrangerV   IndexrQ   r]    r!   r   r(   r(   M   s       
 [Wvvvf3/G/G/G&HII
* 
* JI
** * * [Il##I1		
 @ @ @ [BM&!,,,2BtQ///5BIaLLBIaLL
++DqNN$$$BIdD!!BIdD!!((00BH---..	
 ? ? ?
 [[4;U;U*VWW6* 6* XW6* 6* 6*r!   r(   c                      e Zd Zd Zd Zej                            dg d          d             Zej                            dg d          d             Z	ej                            dg d          d             Z
ej                            dg d          d             Zej                            dg d          d	             Zej                            d
edg          d             ZdS )TestPeriodIndexComparisonsc                    t          ddd          }|d         }||k     }|j        |j        d         k     }t          j        ||           |j                            dd          |k     }t          j        ||                    dd                     |t          j        |          k     }t          j        ||           d S )N2007-01   MrA   r,   
   r   )r   valuesr1   assert_numpy_array_equalreshaper3   r4   )r6   r8   perr;   exps        r   test_pi_cmp_periodz-TestPeriodIndexComparisons.test_pi_cmp_period   s    9bs;;;"gsj3:b>)
#FC000 ##B**S0
#FCKKA,>,>??? rx}}$
#FC00000r!   c                    t          ddd          }|d         fd|D             }t          j        ||          }t          |d          }t          j        ||          }|k    }t          j        ||           |d         |k    }fd	|D             }t          j        ||          }t          j        ||           d S )
Nz
2000-01-01rt   r"   rs      c                     g | ]}|k    	S rl   rl   .0rX   vals     r   
<listcomp>zKTestPeriodIndexComparisons.test_parr_cmp_period_scalar2.<locals>.<listcomp>       (((AG(((r!   Tr[   c                     g | ]}|k    	S rl   rl   r~   s     r   r   zKTestPeriodIndexComparisons.test_parr_cmp_period_scalar2.<locals>.<listcomp>   r   r!   )r   r1   r2   r   r5   )r6   r7   rD   r:   serr9   r;   r   s          @r   test_parr_cmp_period_scalar2z7TestPeriodIndexComparisons.test_parr_cmp_period_scalar2   s    ,===e((((R(((ob.11c3--?8T22s
)))es((((R(((?8T22
)))))r!   r,   )rr   2M3Mc                    t          g d|          }t          j        ||          }t          d|          }t	          ||d          }t          j        g d          }t          j        ||          }t          j        ||k    |           t          j        ||k    |           t          j        g d          }t          j        ||          }t          j        ||k    |           t          j        ||k    |           t          j        g d          }t          j        ||          }t          j        ||k    |           t          j        ||k     |           t          j        g d          }t          j        ||          }t          j        ||k     |           t          j        ||k    |           t          j        g d	          }t          j        ||          }t          j        ||k    |           t          j        ||k    |           t          j        g d
          }t          j        ||          }t          j        ||k    |           t          j        ||k    |           d S )N2011-012011-022011-032011-04r+   r   TFTFFTFTT)FFTTrB   )FTTT)TTFF)r   r1   r2   r   r   r3   r4   r5   )r6   r,   r7   baserx   r9   ry   s          r   test_parr_cmp_period_scalarz6TestPeriodIndexComparisons.test_parr_cmp_period_scalar   sI    GGGdSSSt^44YT***dC..h22233oc4((
S)))
tS)))h00011oc4((
S)))
tS)))h11122oc4((
s
C(((
d
C(((h22233oc4((
s
C(((
d
C(((h00011oc4((
S)))
tS)))h11122oc4((
S)))
tS)))))r!   c                    t          g d|          }t          j        ||          }t          g d|          }t          ||d          }t	          j        g d          }t          j        ||          }t          j        ||k    |           t	          j        g d          }t          j        ||          }t          j        ||k    |           t	          j        g d          }t          j        ||          }t          j        ||k    |           t	          j        g d          }t          j        ||          }t          j        ||k     |           t	          j        g d	          }t          j        ||          }t          j        ||k    |           t	          j        g d
          }t          j        ||          }t          j        ||k    |           d S )Nr   r+   )r   r   r   2011-05TFFTFTTFTr   TFFTFTTFr   r0   )r6   r,   r7   r   r8   r9   ry   s          r   test_parr_cmp_piz+TestPeriodIndexComparisons.test_parr_cmp_pi  s    GGGdSSSt^44 FFFTRRRdC..h22233oc4((
S)))h00011oc4((
S)))h22233oc4((
s
C(((h11122oc4((
s
C(((h11122oc4((
S)))h00011oc4((
S)))))r!   c                 `   t          g d|          }t          j        ||          }d| d}t          j        t
          |          5  |t          dd          k     d d d            n# 1 swxY w Y   t          j        t
          |          5  t          dd          |k     d d d            n# 1 swxY w Y   t          g dd          }d	}|t          j        t          j	        fv r|n|}t          j        t
          |          5  ||k     d d d            n# 1 swxY w Y   d| d}t          j        t
          |          5  |t          dd
          k     d d d            n# 1 swxY w Y   t          j        t
          |          5  t          dd
          |k     d d d            n# 1 swxY w Y   t          g dd
          }d}|t          j        t          j	        fv r|n|}t          j        t
          |          5  ||k     d d d            d S # 1 swxY w Y   d S )Nr   r+   )Invalid comparison between dtype=period\[z\] and Periodmatch2011Y)r   201220132014z@Invalid comparison between dtype=period\[Y-DEC\] and PeriodArray4Mz=Invalid comparison between dtype=period\[4M\] and PeriodArray)
r   r1   r2   ra   raises	TypeErrorr   to_arrayrd   r4   )r6   r,   r7   r   msgr8   rev_msgidx_msgs           r    test_parr_cmp_pi_mismatched_freqz;TestPeriodIndexComparisons.test_parr_cmp_pi_mismatched_freq?  s    GGGdSSSt^44N4NNN]9C000 	- 	-F6,,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- ]9C000 	- 	-6$$$,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- :::EEEU+RX/FFF''C]9G444 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 O4NNN]9C000 	. 	.F6-----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. ]9C000 	. 	.6%%%--	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. :::FFFR+RX/FFF''C]9G444 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   
A,,A03A0B44B8;B8D  D$'D$E..E25E2F66F:=F:H##H'*H'c                 d   t          g d|          }|d         }||k    }t          j        g d          }t          j        ||           ||k     }t          j        ||           |t
          j        k    }t          j        g d          }t          j        ||           t
          j        |k    }t          j        ||           |t
          j        k    }t          j        g d          }t          j        ||           t
          j        |k    }t          j        ||           t          g d|          }||k     }t          j        g d          }t          j        ||           ||k    }t          j        g d          }t          j        ||           ||k    }t          j        g d          }t          j        ||           ||k    }t          j        g d	          }t          j        ||           ||k    }t          j        g d
          }t          j        ||           d S )Nr   r   NaTr   r+   r   FFFTFFFFTTTTr   r   r   r   rB   r   r   )r   r3   r4   r1   rv   rd   r   )r6   r,   idx1rx   r;   ry   idx2s          r   test_pi_cmp_natz*TestPeriodIndexComparisons.test_pi_cmp_natb  s/   CCC$OOO1gh22233
#FC000t
#FC000h33344
#FC0004
#FC000h///00
#FC0004
#FC000CCC$OOOh22233
#FC000h33344
#FC000h///00
#FC000h00011
#FC000h22233
#FC00000r!   c                 @   t          g d|          }t          g dd          }d| d}t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   ||k    }t	          j        g dt          	          }t          j        ||           d S )
Nr   r+   r   r   r   z\] and PeriodArrayr   r   dtype)	r   ra   r   r   r3   r4   boolr1   rv   )r6   r,   r   diffr   r;   r:   s          r   &test_pi_cmp_nat_mismatched_freq_raiseszATestPeriodIndexComparisons.test_pi_cmp_nat_mismatched_freq_raises  s    CCC$OOOCCC$OOOS4SSS]9C000 	 	4KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 8888EEE
#FH55555s   AA"Ar   Nc                    t          t          d          t          j        t          d          g          }t          t          j        t          j        t          d          g          }|*|                    |          }|                    |          }||k    }t          j        g d          }t          j        ||           ||k    }t          j        g d          }t          j        ||           t          j        g d          }t          j        |t          j        k    |           t          j        t          j        |k    |           t          j        g d          }t          j        |t          j        k    |           t          j        t          j        |k    |           t          j        g d          }t          j        |t          j        k     |           t          j        t          j        |k    |           d S )N
2011-01-01
2011-01-03)FFTr/   )FFF)TTT)	r   r   rd   r   rU   r3   r4   r1   rv   )r6   r   leftrightr;   r:   s         r   test_comp_natz(TestPeriodIndexComparisons.test_comp_nat  s   F<00"&&:N:NOPPRVRVVL-A-ABCC;;u%%DLL''E800011
#FH5558///00
#FH555811122
#DBFNH===
#BFeOX>>>8...//
#DBFNH===
#BFdNH===811122
#D26M8<<<
#BFTM8<<<<<r!   )r^   r_   r`   rz   r   ra   rb   rc   r   r   r   r   r   rV   r   rl   r!   r   rn   rn      sq       1 1 1"* * *& [V%6%6%677#* #* 87#*J [V%6%6%677 *  * 87 *D [V%6%6%677    87 D [V%6%6%677)1 )1 87)1V [V%6%6%677
6 
6 87
6 [Wvtn55= = 65= = =r!   rn   c                       e Zd Zd ZdS )TestPeriodSeriesComparisonsc           	      :   t          t          dd          t          dd          t          dd          t          dd          g          }t          t          dd          t          d	d          t          dd          t          d
d          g          }t          g d          }t          j        ||k    |           t          g d          }t          j        ||k    |           t          g d          }t          j        ||k    |           t          g d          }t          j        ||k     |           t          g d          }t          j        ||k    |           t          g d          }t          j        ||k    |           d S )Nr   r   r+   r   rr   r   r   r   r   r   r   r   r   r   r   r   )r	   r   r1   assert_series_equal)r6   r   r   ry   s       r   (test_cmp_series_period_series_mixed_freqzDTestPeriodSeriesComparisons.test_cmp_series_period_series_mixed_freq  s   vC(((ys+++vC(((ys+++	
 
 vC(((ys+++vC(((ys+++	
 
 00011
ts{C000...//
ts{C00000011
tcz3//////00
tcz3//////00
ts{C000...//
ts{C00000r!   N)r^   r_   r`   r   rl   r!   r   r   r     s#        $1 $1 $1 $1 $1r!   r   c                   $    e Zd ZdZd Zd Zd ZdS )*TestPeriodIndexSeriesComparisonConsistency2Test PeriodIndex and Period Series Ops consistencyc                 >   t          |          } ||          }t          |t          j        t          j        f          sJ t          j        ||           t          |          } ||          }t          ||j	                  }t          j
        ||           d S Nname)r   
isinstancerd   rk   r3   ndarrayr1   r5   r	   r   r   )r6   ru   funcr:   r8   r;   r   ry   s           r   _checkz1TestPeriodIndexSeriesComparisonConsistency._check  s     &!!c (RXrz$:;;;;;
)))6NNaXFK000
vs+++++r!   c                    t          g ddd          }|d         fd}t          j        g dt          j                  }|                     |||           fd	}|                     |||           fd
}t          j        g dt          j                  }|                     |||           fd}|                     |||           fd}t          j        g dt          j                  }|                     |||           fd}t          j        g dt          j                  }|                     |||           fd}t          j        g dt          j                  }|                     |||           d S )Nr   rr   r8   r,   r   r   c                     | k    S rT   rl   rX   rx   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>      a3h r!   r   r   c                     | k    S rT   rl   r   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>       cQh r!   c                     | k    S rT   rl   r   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>  r   r!   r   c                     | k    S rT   rl   r   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>  r   r!   c                     | k    S rT   rl   r   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>	  r   r!   )TTTFc                     | k    S rT   rl   r   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>      a#g r!   r   c                     | k    S rT   rl   r   s    r   rY   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>  r   r!   r   r3   r4   bool_r   r6   r8   fry   rx   s       @r   test_pi_comp_periodz>TestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period  s   888s
 
 
 !fh222"(CCCCC   CC   h000AAACC   CC   h000AAACC   h222"(CCCCC   h000AAACC     r!   c                    t          g ddd          }|d         fd}t          j        g dt          j                  }|                     |||           fd	}|                     |||           d
 }t          j        g dt          j                  }|                     |||           d }|                     |||           fd}t          j        g dt          j                  }|                     |||           fd}|                     |||           d }t          j        g dt          j                  }|                     |||           d }|                     |||           fd}t          j        g dt          j                  }|                     |||           fd}t          j        g dt          j                  }|                     |||           d }t          j        g dt          j                  }|                     |||           d }t          j        g dt          j                  }|                     |||           d S )Nr   r   r   r   rr   r8   r   r   c                     | k    S rT   rl   r   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>  r   r!   r   r   c                     | k    S rT   rl   r   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>  r   r!   c                 "    | t           j        k    S rT   rd   r   rW   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>!      a26k r!   r   c                 "    t           j        | k    S rT   r   rW   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>$      bfk r!   c                     | k    S rT   rl   r   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>'  r   r!   r   c                     | k    S rT   rl   r   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>*  r   r!   c                 "    | t           j        k    S rT   r   rW   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>-  r   r!   r   c                 "    t           j        | k    S rT   r   rW   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>0  r   r!   c                     | k    S rT   rl   r   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>3  r   r!   )TFTFc                     | k     S rT   rl   r   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>7  r   r!   rB   c                 "    | t           j        k    S rT   r   rW   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>;  s    a"&j r!   c                 "    t           j        | k    S rT   r   rW   s    r   rY   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>?  r   r!   r   r   s       @r   test_pi_comp_period_natzBTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat  s   4443U
 
 
 !fh222"(CCCCC   CC   !!h33328DDDCC   !!CC   h000AAACC   CC   !!h///rx@@@CC   !!CC   h111BBBCC   h222"(CCCCC     h33328DDDCC   !!h33328DDDCC     r!   N)r^   r_   r`   __doc__r   r   r   rl   r!   r   r   r     sG        <<, , , ! ! !<,! ,! ,! ,! ,!r!   r   c                       e Zd Zd ZdS )TestPeriodFrameArithmeticc                 Z   t          j        t          dd          t          dd          gt          dd          t          dd          gd          }|d         j        d	k    sJ |d
         j        d	k    sJ t          dd          }|j        }t          j        t          j        d|z  d|z  gt                    t          j        d|z  d|z  gt                    d          }t          j	        ||z
  |           t          j	        ||z
  d|z             t          j        t          dd          t          dd          gt          dd          t          dd          gd          }|d         j        d	k    sJ |d
         j        d	k    sJ t          j        t          j        d|z  d|z  gt                    t          j        d|z  d|z  gt                    d          }t          j	        ||z
  |           t          j	        ||z
  d|z             d S )Nz2015-01rr   r+   z2015-022014-01z2014-02)ABr   	Period[M]r   z2015-03r   r   r         r\   z2015-05z2015-06r?      )
rd   	DataFramer   r   r,   r3   r4   rV   r1   assert_frame_equal)r6   dfpoffry   df2s         r   test_ops_frame_periodz/TestPeriodFrameArithmetic.test_ops_frame_periodI  sY   \YS1116)#3N3N3NOYS1116)#3N3N3NO 
 
 #w}++++#w}++++93'''flXq3wC0???XrCxc2&AAA 
 
 	a"fc***
b1fb3h///lYS1116)#3N3N3NOYS1116)#3N3N3NO 
 
 3x~,,,,3x~,,,,lXq3wC0???XrCxc2&AAA 
 
 	cBh,,,
b3hS11111r!   N)r^   r_   r`   r  rl   r!   r   r   r   H  s#        '2 '2 '2 '2 '2r!   r   c                      e Zd Zd Zd Zd Zd Zej        	                    dg d          d             Z
ej        	                    dg d          ej        	                    dej        j        d	fej        j        d
fej        j        dfej        j        dfg          d                         Zej        	                    d ed           ed                                           ed                                           ej        ddd           ej        ddd           ej        ddd          j         ej        ddd          j        d ej        g d          g	          d             Zd Zd Zej        	                    dg d          ej        	                    dddg          d                         Zej        	                    d ej        ej        g          d!             Zej        	                    d ej        ej        g          d"             Zd# Z d$ Z!ej        	                    d%d& ej        d&ej"        '          g          d(             Z#d) Z$d* Z%ej        	                    d+d,d-g          d.             Z&d/ Z'ej        	                    d0ej        ej        g          ej        	                    d1e(j)        e*j+        g          d2                         Z,ej        	                    d0ej        ej        g          d3             Z-d4 Z.ej        	                    d5g d6          d7             Z/d8 Z0d9 Z1d: Z2d; Z3d< Z4d= Z5d> Z6d? Z7d@ Z8dA Z9ej        	                    d+d,d-g          dB             Z:ej        	                    d ej        dCgdDz  dE'           e;j<        dCgdDz  dE'          g          dF             Z=dG Z>dH Z?dI Z@dS )JTestPeriodIndexArithmeticc                 ^   t          ddd          }t          ddd          }t          j        ||          }d}t          j        t
          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t
          |          5  ||z  }d d d            d S # 1 swxY w Y   d S )N1/1/2000r"   r[   r,   rA   1/6/2000z/unsupported operand type\(s\) for \+: .* and .*r   )r   r1   r2   ra   r   r   )r6   r7   rngr)   r   s        r   test_parr_add_iadd_parr_raisesz8TestPeriodIndexArithmetic.test_parr_add_iadd_parr_raisesz  s<   :C;;;Zc1=== oc>22
 A]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A))A-0A-B""B&)B&c                     t          ddd          }t          ddd          }|j        }t          j        d|z  gdz            }||z
  }t	          j        ||           ||z  }t	          j        ||           d S )Nr	  r"   r[   r
  r  )r   r,   rd   rk   r1   assert_index_equal)r6   r  r)   r  r:   r;   s         r   test_pi_sub_isub_piz-TestPeriodIndexArithmetic.test_pi_sub_isub_pi  s    
 :C;;;Zc1===h8R#XJN++u
fh///u
c8,,,,,r!   c                 h   t          ddd          }|dd                              dt          j                  }|dd                              |dd                    sJ ||z
  }|j        }t          j        t          j        d|z  d|z  d|z  d|z  g          }t          j        ||           d S )Nr	  r"   r[   r
  r   r   )	r   insertrd   r   equalsr,   rk   r1   r  )r6   r  r)   r;   r  r:   s         r   test_pi_sub_pi_with_natz1TestPeriodIndexArithmetic.test_pi_sub_pi_with_nat  s    :C;;;ABBq"&))QRRyABB(((((uh8RVQWa#gq3wCHII
fh/////r!   c                    t          ddd          }t          ddd          }t          j        ||          }t          j        ||          }d}t          j        t
          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )	Nr	  r"   r[   r
  r  hz;Input has different freq=[hD] from PeriodArray\(freq=[Dh]\)r   )r   r1   r2   ra   r   r   )r6   r7   box_with_array2r  r)   r   s         r    test_parr_sub_pi_mismatched_freqz:TestPeriodIndexArithmetic.test_parr_sub_pi_mismatched_freq  s    :C;;;Zc1===oc>2277L]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ,A??BBnr   r   r|   r?   c                    d}d}t          |g ||                    }t          |g ||                    }t          |g|j        j                  t          |g|j        j                  z
  }t          j        ||z
  |           d S )N1991090519920406r+   )r   r,   r   r1   r  )r6   tick_classesr  p1_dp2_dp1p2r:   s           r   test_sub_n_gt_1_ticksz/TestPeriodIndexArithmetic.test_sub_n_gt_1_ticks  s     $ll1oo666$ll1oo666vBGL999KF=
 =
 =
 
 	rBw22222r!   zoffset, kwd_namemonthstartingMonthNweekdayc                    ||dini }d}d} ||fddi|}t          |g|          }t          |g|          }	|	|z
  }
t          |g|j                  t          |g|j                  z
  }t          j        |
|           d S )Nr|   r  r  	normalizeFr+   )r   r   r1   r  )r6   offsetkwd_namer  kwdsr   r!  r,   r"  r#  r;   r:   s               r   test_sub_n_gt_1_offsetsz1TestPeriodIndexArithmetic.test_sub_n_gt_1_offsets  s     !) 4!}}"va1151D11$d+++$d+++bvDI666F:
 :
 :
 
 	fh/////r!   r)   
2016-01-01r|   r  rs   zEurope/Brussels)rA   tzr   z
Asia/TokyogQ	@)g       @g      @g      @c                 f   t          ddd          }t          j        ||          }d                    g d          }t	          |||           t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )Nr	  r"   r|   r
  |)z!(:?cannot add PeriodArray and .*)z&(:?cannot subtract .* from (:?a\s)?.*)z3(:?unsupported operand type\(s\) for \+: .* and .*)z1unsupported operand type\(s\) for [+-]: .* and .*r   )r   r1   r2   joinr   ra   r   r   )r6   r)   r7   r  r   s        r   test_parr_add_sub_invalidz3TestPeriodIndexArithmetic.test_parr_add_sub_invalid  s:   & :C;;;oc>22hh  
 
 	#3s333]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   +A==BB#B55B9<B9C--C14C1D&&D*-D*c                 $   t          ddd          }t          g d          }|j        }d}t          j        t
          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t
          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t
          |          5  ||z
   d d d            n# 1 swxY w Y   d}t          j        t
          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )	Nr	  Qr|   r
  -1 Dayr7  r7  zCCannot add or subtract timedelta64\[ns\] dtype from period\[Q-DEC\]r   z/cannot subtract PeriodArray from TimedeltaArray)r   r   ru   ra   r   r   )r6   r  tditdarrr   s        r   *test_pi_add_sub_td64_array_non_tick_raiseszDTestPeriodIndexArithmetic.test_pi_add_sub_td64_array_non_tick_raises  s   :C;;;;;;<<
T]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	@]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   AA!A BBB8C

CC2DD	D	c                    t          ddd          }t          g d          }|j        }t          ddd          }||z   }t          j        ||           ||z   }t          j        ||           ||z   }t          j        ||           ||z   }t          j        ||           t          ddd          }||z
  }t          j        ||           ||z
  }t          j        ||           d}t          j        t          |	          5  ||z
   d d d            n# 1 swxY w Y   t          j        t          |	          5  ||z
   d d d            d S # 1 swxY w Y   d S )
Nr	  90Dr|   r
  r6  z
12/31/1999z1/2/2000cannot subtract .* from .*r   )r   r   ru   r1   r  ra   r   r   )r6   r  r8  r9  r:   r;   r   s          r   test_pi_add_sub_td64_array_tickz9TestPeriodIndexArithmetic.test_pi_add_sub_td64_array_tick  s    :E1===;;;<<
5!DDDs
fh///u
fh///s
fh///
fh///
BBBs
fh///u
fh///+]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   DD!D EEEpi_freq)r"   Wr5  r  tdi_freqc                 |   |}|t           j        t          j        fvr|nt           j        }t          ddg|          }t          d          |z   }|                    |          }t          j        ||          }	|dk    r||	z
  }
|	                    d          |z
                      |          }t          j        ||          }t          j
        |
|           |d         |	z
  }
|d         	                    d          |z
                      |          }t          j        ||          }t          j
        |
|           d S |dk    r{d	}t          j        t          |
          5  ||	z
   d d d            n# 1 swxY w Y   t          j        t          |
          5  |d         |	z
   d d d            d S # 1 swxY w Y   d S d}t          j        t          |
          5  ||	z
   d d d            n# 1 swxY w Y   t          j        t          |
          5  |d         |	z
   d d d            d S # 1 swxY w Y   d S )Nz1 hoursz2 hoursr+   z2018-03-07 17:16:40r  r   r   r"   nCannot add/subtract timedelta-like from PeriodArray that is not an integer multiple of the PeriodArray's freq.r   z"Cannot add or subtract timedelta64)rd   r4   r1   r   rk   r   r   	to_periodr2   to_timestampr5   ra   r   r   r   )r6   r7   rA  r?  boxr9   r8  dtirD   td64objr;   r:   r   s                r   test_parr_sub_td64arrayz1TestPeriodIndexArithmetic.test_parr_sub_td64array5  sC    "(BK!888ssbhi3(CCC-..4]]7## /#s++c>>'\F,,s2==gFFHx66HOFH--- UW_F1**3//#5@@IIHx55HOFH-----^^E  4C@@@  W               4C@@@    1                                    7Cy444  W              y444    1                                   sH   %E77E;>E;F66F:=F: G22G69G6H11H58H5rF  c                    t          t          d          t          d          g          } |t          j                            dd          t          j                            dd          g          }t          t          d          t          d          g                              t                    }t          j        t                    5  ||z   }d d d            n# 1 swxY w Y   t          j
        ||           t          j        t                    5  ||z   }d d d            n# 1 swxY w Y   t          j
        ||           t          j        t          j                            d	          t          j                            d	          g          }d
}t          j        t"          |          5  t          j        t                    5  ||z    d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t"          |          5  t          j        t                    5  ||z    d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )N2015Q12016Q2r      r  r&  2015Q22015Q4r  z1Input cannot be converted to Period\(freq=Q-DEC\)r   )r   r   rd   offsets
QuarterEndrU   rV   r1   assert_produces_warningr   r  r3   r4   HourMinutera   r   r   )	r6   rF  rD   offsr:   resres2
unanchoredr   s	            r   test_pi_add_offset_arrayz2TestPeriodIndexArithmetic.test_pi_add_offset_arrayf  s    &**F8,<,<=>>s
%%%<<
%%"%==
 
 x 0 0&2B2BCDDKKFSS'(:;; 	 	t)C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
c8,,,'(:;; 	 	"9D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
dH---Xrz33RZ5F5F5F5L5LMNN
 C]0<<< 	  	 +,>??    Z                             	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ]0<<< 	  	 +,>??    R                             	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   C%%C),C)D00D47D4?HG+H+G/	/H2G/	3HH	H(I,II,I	I,I	I,,I03I0c                 d   t          t          d          t          d          g           |t          j                            dd          t          j                            dd          g          t          fdt          t                              D                       }|                    t                    }t          j
        t                    5  z
  }d d d            n# 1 swxY w Y   t          j        ||            |t          j                                        t          j                            d	          g          }d
}t          j        t"          |          5  t          j
        t                    5  |z
   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t"          |          5  t          j
        t                    5  |z
   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NrK  rL  r   rM  rN  rO  c                 2    g | ]}|         |         z
  S rl   rl   )r   r  r)   rD   s     r   r   zFTestPeriodIndexArithmetic.test_pi_sub_offset_array.<locals>.<listcomp>  s&    IIIQ1a 0IIIr!   r   rR  z6Input has different freq=-1M from Period\(freq=Q-DEC\)r   )r   r   rd   rS  rT  rj   lenrU   rV   r1   rU  r   r  MonthEndDayra   r   r   )r6   rF  r:   rY  anchoredr   r)   rD   s         @@r   test_pi_sub_offset_arrayz2TestPeriodIndexArithmetic.test_pi_sub_offset_array  s6    &**F8,<,<=>>
%%%<<
%%"%==
 
 IIIII%B..IIIJJ??6**'(:;; 	 	u*C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
c8,,,3
++--rz~~~/B/BCDD H]0<<< 	 	+,>??  X              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]0<<< 	 	+,>??  2              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s~   "C44C8;C88F;F$F;$F(	(F;+F(	,F;;F?F?!H%;HH%H	H%H	H%%H),H)c                     t          ddd          }||z   }t          ddd          }t          j        ||           ||z  }t          j        ||           d S )N2000-01-01 09:00r  rt   r
  z2000-01-01 10:00r   r1   r  r6   oner  r;   r:   s        r   test_pi_add_iadd_intz.TestPeriodIndexArithmetic.test_pi_add_iadd_int  sj    -CDDDs 2bIII
fh///s

c8,,,,,r!   c                     t          ddd          }||z
  }t          ddd          }t          j        ||           ||z  }t          j        ||           dS )z
        PeriodIndex.__sub__ and __isub__ with several representations of
        the integer 1, e.g. int, np.int64, np.uint8, ...
        re  r  rt   r
  z2000-01-01 08:00Nrf  rg  s        r   test_pi_sub_isub_intz.TestPeriodIndexArithmetic.test_pi_sub_isub_int  sl    
 -CDDDs 2bIII
fh///s

c8,,,,,r!   fiver[   r   c                 h    t          dd          }||z
  }|| z   }t          j        ||           d S )Nrp   2   r@   rf  )r6   rl  r  r;   ry   s        r   test_pi_sub_intlikez-TestPeriodIndexArithmetic.test_pi_sub_intlike  sA    9b111tdUm
fc*****r!   c                 j   t          ddd          }t          j        d          }||z   }t          j        d t          ||          D                       }t          j        ||           ||z
  }t          j        d t          ||          D                       }t          j        ||           d S )Nr.  rt   2Drs   c                     g | ]
\  }}||z   S rl   rl   r   rX   ys      r   r   zQTestPeriodIndexArithmetic.test_pi_add_sub_int_array_freqn_gt1.<locals>.<listcomp>       <<<tq!QU<<<r!   c                     g | ]
\  }}||z
  S rl   rl   rs  s      r   r   zQTestPeriodIndexArithmetic.test_pi_add_sub_int_array_freqn_gt1.<locals>.<listcomp>  ru  r!   )r   r3   rg   rd   rk   zipr1   r  )r6   rD   arrr;   r:   s        r   #test_pi_add_sub_int_array_freqn_gt1z=TestPeriodIndexArithmetic.test_pi_add_sub_int_array_freqn_gt1  s     ,>>>immc8<<s2s||<<<==
fh///c8<<s2s||<<<==
fh/////r!   c                 N   t          ddd          }|t          j                            d          z
  }t          ddd          }t	          j        ||           |t          j                            d          z  }t	          j        ||           t          dd	d
          }|t          j                            d          z
  }t          ddd
          }t	          j        ||           |t          j                            d          z  }t	          j        ||           d S )Nr   2024r   r+   r[   20092019r   2016-12rr   z2013-08z2016-07)r   rd   rS  YearEndr1   r  r`  r6   r  r;   r:   s       r   test_pi_sub_isub_offsetz1TestPeriodIndexArithmetic.test_pi_sub_isub_offset  s    66444rz))!,,,S999
fh///rz!!!$$$
c8,,,9ic:::rz**1---	93???
fh///rz""1%%%
c8,,,,,r!   	transposeTFc                 D   t          dd          }t          |g          }t          dgd          }t          j        |||          }t          j        |||          }||j        z   }t          j        ||           |j        |z   }t          j        ||           d S )N2016-01r   r+   z2016-03r  )r   r   r1   r2   r,   r5   )r6   r7   r  rx   rD   r:   r;   s          r   test_pi_add_offset_n_gt1z2TestPeriodIndexArithmetic.test_pi_add_offset_n_gt1  s    
 YT***#	{666_R9EEE?8^yQQQch
)))B
)))))r!   c                 >   t          dgd          }t          dgd          }t          j        ||          }t          j        ||          }|t          d          z   }t          j        ||           t          d          |z   }t          j        ||           d S )Nr  r   r+   z2016-043ME)r   r1   r2   r   r5   )r6   r7   rD   r:   r;   s        r   &test_pi_add_offset_n_gt1_not_divisiblez@TestPeriodIndexArithmetic.test_pi_add_offset_n_gt1_not_divisible  s     )4000	{666_R00?8^<<i&&&
)))5!!B&
)))))r!   
int_holderopc                    t          t          d          t          d          g          } |ddg          } |||          }t          t          d          t          d          g          }t          j        ||           d S )NrK  r   r?   r\   2016Q1)r   r   r1   r  )r6   r  r  rD   r)   r;   r:   s          r   test_pi_add_intarrayz.TestPeriodIndexArithmetic.test_pi_add_intarray  s     &**F5MM:;;
Ar7##Bx 0 0&--@AA
fh/////r!   c                 v   t          t          d          t          d          g          } |ddg          }||z
  }t          t          d          t          d          g          }t          j        ||           d}t	          j        t          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )NrK  r   r?   r\   2014Q1+bad operand type for unary -: 'PeriodArray'r   )r   r   r1   r  ra   r   r   )r6   r  rD   r)   r;   r:   r   s          r   test_pi_sub_intarrayz.TestPeriodIndexArithmetic.test_pi_sub_intarray  s     &**F5MM:;;
Ar7##ex 0 0&--@AA
fh///<]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B..B25B2c                 4   |}t          ddd          }t          j        ||          }t          g dd          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           t          g dd          }t          j        ||          }||z
  }t          j        ||           d                    d	d
g          }t          j        t          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )N
2014-05-01r|   rq  rs   )
2014-05-04z
2014-05-06z
2014-05-08r+   )
2014-04-28z
2014-04-30z
2014-05-02r1  r  4cannot subtract PeriodArray from timedelta64\[[hD]\]r   )	r   r1   r2   r   r5   r2  ra   r   r   )r6   
three_daysr7   r)   r  r:   r;   r   s           r   &test_parr_add_timedeltalike_minute_gt1z@TestPeriodIndexArithmetic.test_parr_add_timedeltalike_minute_gt1!  sy   
 <>>>oc>22IIIPTUUU?8^<<u
)))
))) IIIPTUUU?8^<<u
)))hh>G
 
 ]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   :DDDfreqstr)5ns5us5ms5s5min5h5dc                 L   |}t          dd|          }|d         }t          j        ||          }t          ||z   d|          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           t          ||z
  d|          }t          j        ||          }||z
  }t          j        ||           d                    ddg          }	t          j        t          |	          5  ||z
   d d d            d S # 1 swxY w Y   d S )	Nr     rs   r   r1  r  r  r   )r   r1   r2   r5   r2  ra   r   r   )
r6   r  r  r7   r)   r  firstr:   r;   r   s
             r   $test_parr_add_timedeltalike_tick_gt1z>TestPeriodIndexArithmetic.test_parr_add_timedeltalike_tick_gt1B  s~    <AAAAoc>22qwGGG?8^<<u
)))
)))  qwGGG?8^<<u
)))hh>G
 
 ]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   DD Dc                     |}t          ddd          }t          ddd          }||z   }t          j        ||           ||z  }t          j        ||           d S )Nr  
2014-05-15r"   r+   r  z
2014-05-18rf  r6   r  r)   r  r:   r;   s         r   $test_pi_add_iadd_timedeltalike_dailyz>TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_dailyb  m    <C@@@lEEEu
fh///u
c8,,,,,r!   c                     |}t          ddd          }t          ddd          }||z
  }t          j        ||           ||z  }t          j        ||           d S )Nr  r  r"   r+   r  z
2014-05-12rf  r  s         r   $test_pi_sub_isub_timedeltalike_dailyz>TestPeriodIndexArithmetic.test_pi_sub_isub_timedeltalike_dailyn  r  r!   c                 H   |}t          ddd          }t          j        ||          }d                    ddg          }t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z  }d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z  }d d d            d S # 1 swxY w Y   d S )	Nr  r  r"   r+   r1  z7Input has different freq(=.+)? from Period.*?\(freq=D\)rC  r   r   r1   r2   r2  ra   r   r   )r6   	not_dailyr7   r)   r  r   s         r   3test_parr_add_sub_timedeltalike_freq_mismatch_dailyzMTestPeriodIndexArithmetic.test_parr_add_sub_timedeltalike_freq_mismatch_dailyz  s3    <C@@@oc>22hh LE	
 
 ]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   A..A25A2B&&B*-B*CC"%C"DDDc                     |}t          ddd          }t          ddd          }||z   }t          j        ||           ||z  }t          j        ||           d S )N2014-01-01 10:002014-01-05 10:00r  r+   z2014-01-01 12:00z2014-01-05 12:00rf  r6   	two_hoursr)   r  r:   r;   s         r   %test_pi_add_iadd_timedeltalike_hourlyz?TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_hourly  q    -/ALLL 24FSQQQu
fh///u
c8,,,,,r!   c                 h   |}t          ddd          }t          j        ||          }d                    ddg          }t	          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z  }d d d            d S # 1 swxY w Y   d S )	Nr  r  r  r+   r1  z7Input has different freq(=.+)? from Period.*?\(freq=h\)rC  r   r  )r6   r   r7   r)   r  r   s         r   2test_parr_add_timedeltalike_mismatched_freq_hourlyzLTestPeriodIndexArithmetic.test_parr_add_timedeltalike_mismatched_freq_hourly  sO    -/ALLLoc>22hh LE	
 
 ]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A..A25A2B''B+.B+c                     |}t          ddd          }t          ddd          }||z
  }t          j        ||           ||z  }t          j        ||           d S )Nr  r  r  r+   z2014-01-01 08:00z2014-01-05 08:00rf  r  s         r   %test_pi_sub_isub_timedeltalike_hourlyz?TestPeriodIndexArithmetic.test_pi_sub_isub_timedeltalike_hourly  r  r!   c                 *   t          ddd          }|t          j                            d          z   }t          ddd          }t	          j        ||           |t          j                            d          z  }t	          j        ||           d S )Nr   r{  r   r+   r[   r}  2029)r   rd   rS  r  r1   r  r  s       r   "test_add_iadd_timedeltalike_annualz<TestPeriodIndexArithmetic.test_add_iadd_timedeltalike_annual  s     66444rz))!,,,S999
fh///rz!!!$$$
c8,,,,,r!   c                    |}t          ddd          }d}t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t          |          5  ||z  }d d d            n# 1 swxY w Y   t          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z  }d d d            d S # 1 swxY w Y   d S )Nr   r{  r   r+   z;Input has different freq(=.+)? from Period.*?\(freq=Y-DEC\)r   r   ra   r   r   r6   r&   r)   r  r   s        r   2test_pi_add_sub_timedeltalike_freq_mismatch_annualzLTestPeriodIndexArithmetic.test_pi_add_sub_timedeltalike_freq_mismatch_annual  s   66444M]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	G   AAA*A<<B B "B44B8;B8C--C14C1c                 *   t          ddd          }t          ddd          }|t          j                            d          z   }t	          j        ||           |t          j                            d          z  }t	          j        ||           d S )Nr   r~  rr   r+   z2014-06z2017-05r[   )r   rd   rS  r`  r1   r  )r6   r  r:   r;   s       r    test_pi_add_iadd_timedeltalike_Mz:TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_M  s    9ic:::	93???rz**1---
fh///rz""1%%%
c8,,,,,r!   c                    |}t          ddd          }d}t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t          |          5  ||z  }d d d            n# 1 swxY w Y   t          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z  }d d d            d S # 1 swxY w Y   d S )Nr   r~  rr   r+   z7Input has different freq(=.+)? from Period.*?\(freq=M\)r   r  r  s        r   3test_pi_add_sub_timedeltalike_freq_mismatch_monthlyzMTestPeriodIndexArithmetic.test_pi_add_sub_timedeltalike_freq_mismatch_monthly  s   9ic:::I]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]0<<< 	 	5LC	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r  c                    t          ddd          }t          j        d          }t          dgdz  d          }t	          j        |||          }t	          j        |||          }||z   }t	          j        ||           ||z   }t	          j        ||           ||z
  }t	          j        ||           d}t          j        t          |	          5  ||z
   d d d            d S # 1 swxY w Y   d S )
N
1994-04-01rH   19Drs   r   r+   r  r=  r   )
r   r3   timedelta64r   r1   r2   r5   ra   r   r   )	r6   r7   r  rD   r)   r:   objr;   r   s	            r   test_parr_add_sub_td64_natz4TestPeriodIndexArithmetic.test_parr_add_sub_td64_nat  sC    ,>>>u%%w{777ob.IFFF?8^yQQQu
)))
)))u
)))+]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   C((C,/C,r   rH   zm8[ns]c                    t          ddd          }t          dgdz  d          }t          j        ||          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           ||z
  }t          j        ||           d}t          j        t          |          5  ||z
   d d d            n# 1 swxY w Y   |                                }t          j
        d	d
          |d	<   t          |d	         gdgdz  z   d          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           ||z
  }t          j        ||           t          j        t          |          5  ||z
   d d d            d S # 1 swxY w Y   d S )Nr  rH   r  rs   r   r+   r=  r   r   ns   )r   r   r1   r2   r5   ra   r   r   copyr3   r  )r6   r7   r)   rD   r:   r  r;   r   s           r   !test_parr_add_sub_tdt64_nat_arrayz;TestPeriodIndexArithmetic.test_parr_add_sub_tdt64_nat_array  sF    ,>>>w{777ob.11?8^<<u
)))
)))u
)))+]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 

>!T**a1w%145AAA?8^<<u
)))
)))u
)))]9C000 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   =CCC#F66F:=F:c                 t    t          dd          }|j        }||z
  }||z
  }t          j        ||           d S )N
2000-12-31r|   r@   )r   r4   r1   r  )r6   rD   rM   r;   r:   s        r   test_parr_add_sub_indexz1TestPeriodIndexArithmetic.test_parr_add_sub_index+  sF    ,222x7
fh/////r!   c                    t          ddd          }|j        }t          j        t          d          t          j                            d          dg          }t          j        t                    5  ||z   }d d d            n# 1 swxY w Y   t          g dd	          j                            t                    }t          j        ||           t          j        t                    5  ||z
  }d d d            n# 1 swxY w Y   t          d
gdz  d	          j                            t                    }t          j        ||           d S )Nr  r|   r"   rs   r   r#   r   )z
2001-01-01z
2001-01-03z
2001-01-05r+   z
2000-12-30)r   r4   r3   r
   rd   rS  ra  r1   rU  r   r   _datarU   rV   r5   )r6   rD   rM   r)   r;   r:   s         r   test_parr_add_sub_object_arrayz8TestPeriodIndexArithmetic.test_parr_add_sub_object_array4  s   ,<<<x)+++RZ^^A->->BCC'(:;; 	" 	"E\F	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 666S
 
 

v 	 	)))'(:;; 	" 	"E\F	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" ~1<<<BII&QQ
)))))s$   5BBB0DD	Dc                 D   t          d          }t          dd          }t          j        |gd          }t	          j        ||          }d}t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   t          j        t          |          5  ||z    d d d            n# 1 swxY w Y   d}t          j        t          |          5  |t          |g          z    d d d            n# 1 swxY w Y   t          j        t          |          5  t          |g          |z    d d d            n# 1 swxY w Y   t          j        t          |          5  |t          j        |g          z    d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        |g          |z    d d d            n# 1 swxY w Y   |t          j
        u rd}nd	}t          j        t          |          5  |t          j
        |g          z    d d d            n# 1 swxY w Y   |t          j
        u rd}nd
}t          j        t          |          5  t          j
        |g          |z    d d d            d S # 1 swxY w Y   d S )Nr*   rr   r+   r   r   z$cannot add PeriodArray and Timestampr   z(cannot add PeriodArray and DatetimeArrayzAunsupported operand type\(s\) for \+: 'Period' and 'DatetimeArrayzBunsupported operand type\(s\) for \+: 'DatetimeArray' and 'Period')r   r   rd   rk   r1   r2   ra   r   r   r	   r   )r6   r7   tsrx   rx  r   s         r    test_period_add_timestamp_raisesz:TestPeriodIndexArithmetic.test_period_add_timestamp_raisesH  su   vV#&&&huK000oc>224]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	8]9C000 	 	&",,	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	B4LL3	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	! 	!"(B4..  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!]9C000 	! 	!HbTNNS  	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! R\))<CCVC]9C000 	% 	%",t$$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%R\))<CCWC]9C000 	% 	%L"$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   *A<<B B "B44B8;B8C<<D D "EE	E(FFF3GGGH66H:=H:/JJJ)Ar^   r_   r`   r  r  r  r  ra   rb   rc   r$  rd   rS  r  rT  r`  Weekr-  r   to_pydatetimeto_datetime64re   r  r3   r4   r3  r:  r>  rI  rk   r\  rc  ri  rk  int64ro  ry  r  r  r  operatoraddr   raddr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   _from_sequencer  r  r  r  rl   r!   r   r  r  s  s         "- - - 0 0 0   [S,,,//3 3 0/3 [S,,,//[Z)Z"O4Z $'Z_i(		
 0 0  0/0& [ Il##Il##1133Il##1133BM,<<<BM,6GHHHBM,<<<BBM,lCCCIBH___%%	
 " # "4  "  > [Y(<(<(<==[Z$55*  *  65 >=* ^ [URXrx$899    :9 < [URXrx$899  :9:- - -
- 
- 
- [Va!28)D)D)D%EFF+ + GF+0 0 0- - -$ [[4-88* * 98*$* * *$ [\BHbh+?@@[THL#(#;<<0 0 =< A@0 [\BHbh+?@@  A@"  B [Y(W(W(WXX  YX>
- 
- 
-
- 
- 
-  2	- 	- 	-  ,	- 	- 	-- - -  - - -   [[4-88  98& [BHeWq[111)N)5'A+XFFF	
   F0 0 0* * *("% "% "% "% "%r!   r  c                       e Zd Zd Zd ZdS )TestPeriodSeriesArithmeticc                    t          t          dd          t          dd          gd          }|j        dk    sJ t          t          dd          t          d	d          gd          }t          j        ||          }|t
          j        u r|j        dk                                    sJ t          j        ||          }||z   }t          j	        ||           ||z   }t          j	        ||           d S )
N
2015-01-01r"   r+   
2015-01-02xxxr   	Period[D]
2015-01-04
2015-01-05)
r	   r   r   r1   r2   rd   r   dtypesallr5   )r6   r  r7   r   r:   r  r;   s          r   "test_parr_add_timedeltalike_scalarz=TestPeriodSeriesArithmetic.test_parr_add_timedeltalike_scalarn  s   Ls+++VLs-K-K-KL
 
 
 yK''''Ls+++VLs-K-K-KL
 
 

 oc>22R\))J+-2244444?8^<<z!
)))c!
)))))r!   c                 v   t          t          dd          t          dd          gd          }|j        dk    sJ t          dd          }|j        }t          d	|z  d
|z  gdt                    }t          j        ||z
  |           t          j        ||z
  d|z             t          t          dd          t          dd          gd          }|j        dk    sJ t          d|z  d|z  gdt                    }t          j        ||z
  |           t          j        ||z
  d|z             d S )Nr  r"   r+   r  r  r   r  z
2015-01-10rH   r  )r   r   r\   r  r  r?   r   )r	   r   r   r,   rV   r1   r   )r6   r   rx   r  r:   s2s         r   test_ops_series_periodz1TestPeriodSeriesArithmetic.test_ops_series_period  sc   Ls+++VLs-K-K-KL
 
 
 yK''''\,,,h1s7AG,5GGG
sSy(333
sSy"x-888Ls+++VLs-K-K-KL
 
 
 x;&&&&1s7AG,5GGG
rCx222
sRxh77777r!   N)r^   r_   r`   r  r  rl   r!   r   r  r  m  s2        * * *28 8 8 8 8r!   r  c                       e Zd ZdZd Zd Zej                            dddg          ej                            dd d	 d
 d d d d d g          d                         Z	d Z
d Zd Zd Zd Zd Zd ZdS )TestPeriodIndexSeriesMethodsr   c                     t          |          } ||          }t          j        ||           t          |          } ||          }t          ||j                  }t          j        ||           d S r   )r   r1   r5   r	   r   r   )r6   ru   r   r:   r8   r;   r   ry   s           r   r   z#TestPeriodIndexSeriesMethods._check  ss    &!!c
)))VnncXFK000
vs+++++r!   c                 6   t          g ddd          }t          g ddd          }|                     |d |           |                     |d |           |                     |dz   d	 |           |t          d
d          z
  }|j        }t	          j        d|z  d|z  d|z  d|z  gd          }t          j        ||           t          d
d          |z
  }t	          j        d|z  d|z  d|z  d|z  gd          }t          j        ||           d S )Nr   rr   r8   r   )r   r   r   2011-06c                     | dz   S Nr   rl   rW   s    r   rY   z:TestPeriodIndexSeriesMethods.test_pi_ops.<locals>.<lambda>  
    1q5 r!   c                     d| z   S r  rl   rW   s    r   rY   z:TestPeriodIndexSeriesMethods.test_pi_ops.<locals>.<lambda>  r  r!   r   c                     | dz
  S r  rl   rW   s    r   rY   z:TestPeriodIndexSeriesMethods.test_pi_ops.<locals>.<lambda>  
    q1u r!   r   r+   r   r   r|   r   r\   rO  )r   r   r   r,   rd   rk   r1   r  )r6   r8   r:   r;   r  ry   s         r   test_pi_opsz(TestPeriodIndexSeriesMethods.test_pi_ops  sO   888s
 
 
 888s
 
 
 	C(333C(333C!G__c222vic2222hhCS!c'1s7;%HHH
fc***	,,,s2hCc28R#X>UKKK
fc*****r!   ngstrg      ?r   c                     | |z   S rT   rl   r  r   s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  
    C"H r!   c                     || z   S rT   rl   r  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  
    BH r!   c                     | |z
  S rT   rl   r  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  r  r!   c                     || z
  S rT   rl   r  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  r  r!   c                 ,    t          j        | |          S rT   r3   r  r  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  s    BF3OO r!   c                 ,    t          j        ||           S rT   r
  r  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  s    BF2sOO r!   c                 ,    t          j        | |          S rT   r3   subtractr  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  s    BKR00 r!   c                 ,    t          j        ||           S rT   r  r  s     r   rY   z%TestPeriodIndexSeriesMethods.<lambda>  s    BKC00 r!   c                    t          g ddd          }t          j        ||          }d                    g d          }t	          j        t          |          5   |||           d d d            d S # 1 swxY w Y   d S )Nr   rr   r8   r   r1  )zunsupported operand type\(s\)zcan only concatenatezmust be strzobject to str implicitlyr   )r   r1   r2   r2  ra   r   r   )r6   r   r   r7   r8   r  r   s          r   test_parr_ops_errorsz1TestPeriodIndexSeriesMethods.test_parr_ops_errors  s     888s
 
 
 oc>22hh  
 
 ]9C000 	 	DbMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A66A:=A:c                    t          g ddd          }t          g ddd          }|                     |d |           |                     |d |           |                     |d |           |                     |d	z   d
 |           |                     |d	z   d |           t          g ddd          }t          g ddd          }|                     |d |           |                     |d |           |                     |d |           |                     |dz   d |           |                     |dz   d |           d S )Nr   r   r   r   rr   r8   r   )r   r   r   r  c                     | dz   S r  rl   rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   c                     d| z   S r  rl   rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   c                 ,    t          j        | d          S r  r
  rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>      26!Q<< r!   r   c                     | dz
  S r  rl   rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   c                 ,    t          j        | d          S r  r  rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>      r{1a'8'8 r!   r   )z2011-072011-08r   z2011-10c                     | dz   S Nr|   rl   rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   c                     d| z   S r  rl   rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   c                 ,    t          j        | d          S r  r
  rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   r|   c                     | dz
  S r  rl   rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>   r  r!   c                 ,    t          j        | d          S r  r  rW   s    r   rY   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>  r  r!   r   r   )r6   r8   r:   s      r   test_pi_ops_natz,TestPeriodIndexSeriesMethods.test_pi_ops_nat  s   4443U
 
 
 4443U
 
 
 	C(333C(333C//:::C!G__c222C!G88#>>> 4444e
 
 
 4444e
 
 
 	C(333C(333C//:::C!G__c222C!G88#>>>>>r!   c                    t          g ddd          }d }t          g ddd          }|                     |||           d }t          g ddd          }|                     |||           d	 }t          g d
dd          }|                     |||           d }t          g ddd          }|                     |||           d S )Nr  rr   r8   r   c                 4    | t          j        g d          z   S Nr  r3   r4   rW   s    r   rY   zDTestPeriodIndexSeriesMethods.test_pi_ops_array_int.<locals>.<lambda>      a"(<<<000 r!   )r   r   r   r  c                 T    t          j        | t          j        g d                    S )N)r?   r\   r   r   )r3   r  r4   rW   s    r   rY   zDTestPeriodIndexSeriesMethods.test_pi_ops_array_int.<locals>.<lambda>  s     bfQ 7 788 r!   )r   r   r   r  c                 4    | t          j        g d          z
  S r&  r'  rW   s    r   rY   zDTestPeriodIndexSeriesMethods.test_pi_ops_array_int.<locals>.<lambda>  r(  r!   )2010-12r+  r   r+  c                 T    t          j        | t          j        g d                    S )N)r|   r   r|   rO  )r3   r  r4   rW   s    r   rY   zDTestPeriodIndexSeriesMethods.test_pi_ops_array_int.<locals>.<lambda>  s     bk!RXmmm%<%<== r!   )z2010-10r+  r   r  r"  r6   r8   r   ry   s       r   test_pi_ops_array_intz2TestPeriodIndexSeriesMethods.test_pi_ops_array_int  s/   4443U
 
 
 104443U
 
 
 	CC   884443U
 
 
 	CC   004443U
 
 
 	CC   ==4443U
 
 
 	CC     r!   c                 B   t          g ddd          }d }t          g ddd          }|                     |||           d }t          g ddd          }|                     |||           d	 }t          g d
dd          }|                     |||           d S )Nr   z
2011-02-01z
2011-03-01z
2011-04-01r"   r8   r   c                 D    | t           j                                        z   S rT   rd   rS  ra  rW   s    r   rY   zATestPeriodIndexSeriesMethods.test_pi_ops_offset.<locals>.<lambda>%  s    a"*..*** r!   )z
2011-01-02z
2011-02-02z
2011-03-02z
2011-04-02c                 F    | t           j                            d          z   S r  r2  rW   s    r   rY   zATestPeriodIndexSeriesMethods.test_pi_ops_offset.<locals>.<lambda>-      a"*..+++ r!   )r   z
2011-02-03z
2011-03-03z
2011-04-03c                 F    | t           j                            d          z
  S r  r2  rW   s    r   rY   zATestPeriodIndexSeriesMethods.test_pi_ops_offset.<locals>.<lambda>5  r4  r!   )z
2010-12-30z
2011-01-30z
2011-02-27z
2011-03-30r"  r-  s       r   test_pi_ops_offsetz/TestPeriodIndexSeriesMethods.test_pi_ops_offset  s    DDD
 
 

 +*DDD
 
 

 	CC   ++DDD
 
 

 	CC   ++DDD
 
 

 	CC     r!   c                 `   t          g ddd          }t          |          }d}||fD ]}t          j        t          |          5  |t
          j                            d          z    d d d            n# 1 swxY w Y   t          j        t          |          5  t
          j                            d          |z    d d d            n# 1 swxY w Y   t          j        t          |          5  |t
          j                            d          z
   d d d            n# 1 swxY w Y   d S )Nr0  r"   r8   r   zmCannot add/subtract timedelta-like from PeriodArray that is not an integer multiple of the PeriodArray's freqr   r   )r   r	   ra   r   r   rd   rS  rV  )r6   r8   r   r   r  s        r   test_pi_offset_errorsz2TestPeriodIndexSeriesMethods.test_pi_offset_errors=  s   DDD
 
 

 Skk< 	 : 	) 	)C4C@@@ ) )bjooa(((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) 4C@@@ ) )
""S(() ) ) ) ) ) ) ) ) ) ) ) ) ) ) 4C@@@ ) )bjooa(((() ) ) ) ) ) ) ) ) ) ) ) ) ) )	) 	)s6   #A77A;	>A;	#CC	C	2#D!!D%	(D%	c                    t          g ddd          }|t          dd          z
  }|j        }t          j        d|z  d|z  d	|z  d
|z  gd          }t          j        ||           t          j        |t          dd                    }t          j        ||           t          dd          |z
  }t          j        d|z  d|z  d|z  d|z  gd          }t          j        ||           t          j        t          dd          |          }t          j        ||           t          t          j
        t          j
        t          j
        t          j
        gd          }|t          dd          z
  }t          j        ||           |j        |j        k    sJ t          dd          |z
  }t          j        ||           |j        |j        k    sJ d S )Nr   rr   r8   r   2012-01r+   ir   rM     rt   rH   r   )r   r   r,   rd   rk   r1   r  r3   r  r   nanr6   r8   r;   r  ry   s        r   test_pi_sub_periodz/TestPeriodIndexSeriesMethods.test_pi_sub_periodS  s   888s
 
 
 vic2222hhc	39cCicBOOO
fc***S&"="="=>>
fc***	,,,s2hS"s(BHa#g>UKKK
fc***VIC888#>>
fc***bfbfbfbf=EJJJve#....
fc***{ch&&&&C(((3.
fc***{ch&&&&&&r!   c                     t          g ddd          }t          t          j        gdz  d          }t	          j        t          j        |z
  |           t	          j        |t          j        z
  |           d S )Nr  rr   r8   r   r?   r   )r   r   rd   r   r1   r  )r6   r8   ry   s      r   test_pi_sub_pdnatz.TestPeriodIndexSeriesMethods.test_pi_sub_pdnatq  sw    4443U
 
 
 bfX\666
bfslC000
cBFlC00000r!   c                    t          g ddd          }|t          dd          z
  }|j        }t          j        d|z  t          j        d|z  d	|z  gd
          }t          j        ||           t          dd          |z
  }t          j        d|z  t          j        d|z  d|z  gd
          }t          j        ||           t          t          j
        t          j
        t          j
        t          j
        gd
          }t          j        |t          dd          z
  |           t          j        t          dd          |z
  |           d S )Nr   rr   r8   r   r:  r+   r;  r<  r=  r   rM  rt   rH   r   )r   r   r,   rd   rk   r   r1   r  r   r3   r?  r@  s        r   test_pi_sub_period_natz3TestPeriodIndexSeriesMethods.test_pi_sub_period_natz  sI   4443U
 
 
 vic2222hhc	2639b3h?eLLL
fc***	,,,s2hS"&"s(AG<5III
fc***bfbfbfbf=EJJJ
cF5s$;$;$;;SAAA
fU555;SAAAAAr!   N)r^   r_   r`   r   r   r  ra   rb   rc   r  r#  r.  r6  r8  rA  rC  rE  rl   r!   r   r  r    s/       <<	, 	, 	,+ + +. [TE3<00[$$$$$$$$++++0000		
    10"? ? ?<! ! !8! ! !<) ) ),' ' '<1 1 1B B B B Br!   r  )/r  numpyr3   ra   pandas._libs.tslibsr   r   r   r   pandas.errorsr   pandasrd   r   r	   r
   r   r   pandas._testing_testingr1   pandas.corer   pandas.core.arraysr   pandas.tests.arithmetic.commonr   r   r   rS  	YearBegin
MonthBeginrW  _common_mismatchfixtureto_pytimedeltar  r   r&   r(   rn   r   r   r   r  r  r  rl   r!   r   <module>rT     s                    - , , , , ,                              - - - - - -          JJ!J  	",,..r3	"
      sC  	s**,,	s
     * * * * * * * *Dh= h= h= h= h= h= h= h=V%1 %1 %1 %1 %1 %1 %1 %1P_! _! _! _! _! _! _! _!L(2 (2 (2 (2 (2 (2 (2 (2Vw% w% w% w% w% w% w% w%t18 18 18 18 18 18 18 18hjB jB jB jB jB jB jB jB jB jBr!   