a
    nÝEbóØ  ã                   @   s  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 G dd	„ d	ƒZG d
d„ dƒZG dd„ dƒZG dd„ dƒZ G dd„ dƒZ!G dd„ dƒZ"G dd„ dƒZ#G d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_boxc                   @   s  e Zd Zej ddeddd�g¡dd„ ƒZdd„ Zej d	d
e	dƒe
dd�dddddg¡dd„ ƒZej dejddd�jejddd�je d¡e d¡ ej¡eedƒƒg d¢e dd¡e dd¡ e¡e g d¢¡g	¡dd„ ƒZej deejdd„ g¡dd „ ƒZdS )!ÚTestPeriodArrayLikeComparisonsÚotherÚ2017ÚD©Úfreqc                 C   sZ   t g d¢dd�}t ||¡}t||dƒ}t g d¢¡}t ||¡}||k}t ||¡ d S )N)r   r   Z2018r   r   T©TTF©r   ÚtmÚbox_expectedr   ÚnpÚarrayÚassert_equal)Úselfr   Úbox_with_arrayÚidxÚxboxÚexpectedÚresult© r$   úc/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/arithmetic/test_period.pyÚtest_eq_scalar+   s    z-TestPeriodArrayLikeComparisons.test_eq_scalarc                 C   sh   t ddd�}t | ¡ d ¡}t ||¡}t||dƒ}||k}t g d¢¡}t ||¡}t ||¡ d S )NÚ2000é   ©Úperiodsr   T©TFFF)r   r   r   Zto_numpyr   r   r   r   )r   r   Úpir   r!   r#   r"   r$   r$   r%   Útest_compare_zerodim9   s    z3TestPeriodArrayLikeComparisons.test_compare_zerodimÚscalarZfooz
2021-01-01r(   ©Údaysé	   g      #@éÐ  FNc                 C   s(   t ddd�}t ||¡}t|||ƒ d S ©Nr'   r(   r)   ©r   r   r   r   )r   r   r.   r,   Úparrr$   r$   r%   Útest_compare_invalid_scalarG   s    z:TestPeriodArrayLikeComparisons.test_compare_invalid_scalarr'   r)   Z1D)r2   iÑ  iÒ  iÓ  iÔ  c                 C   s(   t ddd�}t ||¡}t|||ƒ d S r3   r4   )r   r   r   r,   r5   r$   r$   r%   Útest_compare_invalid_listlike[   s    z<TestPeriodArrayLikeComparisons.test_compare_invalid_listlikeÚ	other_boxc                 C   s
   |   t¡S ©N)ÚastypeÚobject©Úxr$   r$   r%   Ú<lambda>o   ó    z'TestPeriodArrayLikeComparisons.<lambda>c           	      C   sî  t ddd�}t ||¡}||ƒ}t||dƒ}t g d¢¡}t ||¡}||k}t ||¡ ||k}t ||¡ ||k}t ||¡ ||k}t || ¡ ||k }t || ¡ ||k}t || ¡ ||d d d… ƒ}t g d¢¡}t ||¡}||k}t ||¡ t g d¢¡}t ||¡}||k}t ||¡ t g d	¢¡}t ||¡}||k}t ||¡ t g d
¢¡}t ||¡}||k}t ||¡ t g d¢¡}t ||¡}||k }t ||¡ t g d¢¡}t ||¡}||k}t ||¡ d S )Nr'   é   r)   T)TTTTTéÿÿÿÿ)FFTFF)TTTFF)FFTTT)TTFTT)TTFFF)FFFTT)r   r   r   r   r   r   r   )	r   r   r8   r,   r5   r   r!   r"   r#   r$   r$   r%   Útest_compare_object_dtypeo   sV    z8TestPeriodArrayLikeComparisons.test_compare_object_dtype)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚparametrizer   r&   r-   r   r	   r6   ÚpdÚ
date_ranger   Ztimedelta_ranger   Zaranger:   Zfloat64ÚlistÚranger;   ÚIndexr7   rB   r$   r$   r$   r%   r   &   s@   
øþ


öþ
r   c                   @   s¸   e Zd Zdd„ Zdd„ Zej dg d¢¡dd„ ƒZej dg d¢¡d	d
„ ƒZ	ej dg d¢¡dd„ ƒZ
ej dg d¢¡dd„ ƒZej dg d¢¡dd„ ƒZej dedg¡dd„ ƒZdS )ÚTestPeriodIndexComparisonsc                 C   s~   t dddd�}|d }||k }|j|jd k }t ||¡ |j dd¡|k }t || dd¡¡ |t |¡k }t ||¡ d S )Nú2007-01é   ÚM©r*   r   é
   é   )r   Úvaluesr   Úassert_numpy_array_equalZreshaper   r   )r   r    Úperr#   Úexpr$   r$   r%   Útest_pi_cmp_period¬   s    z-TestPeriodIndexComparisons.test_pi_cmp_periodc                    sž   t dddd�}|d ‰ ‡ fdd„|D ƒ}t ||¡}t|ˆ dƒ}t ||¡}|ˆ k}t ||¡ |d	 ‰ |ˆ k}‡ fd
d„|D ƒ}t ||¡}t ||¡ d S )Nz
2000-01-01rS   r   rR   é   c                    s   g | ]}|ˆ k‘qS r$   r$   ©Ú.0r=   ©Úvalr$   r%   Ú
<listcomp>Á   r?   zKTestPeriodIndexComparisons.test_parr_cmp_period_scalar2.<locals>.<listcomp>Tr@   c                    s   g | ]}|ˆ k‘qS r$   r$   r[   r]   r$   r%   r_   Ì   r?   )r   r   r   r   r   )r   r   r,   r"   Úserr!   r#   r$   r]   r%   Útest_parr_cmp_period_scalar2½   s    z7TestPeriodIndexComparisons.test_parr_cmp_period_scalar2r   )rQ   Ú2MÚ3Mc                 C   s”  t g d¢|d�}t ||¡}td|d�}t||dƒ}t g d¢¡}t ||¡}t ||k|¡ t ||k|¡ t g d¢¡}t ||¡}t ||k|¡ t ||k|¡ t g d¢¡}t ||¡}t ||k|¡ t ||k |¡ t g d¢¡}t ||¡}t ||k |¡ t ||k|¡ t g d	¢¡}t ||¡}t ||k|¡ t ||k|¡ t g d
¢¡}t ||¡}t ||k|¡ t ||k|¡ d S )N©ú2011-01ú2011-02ú2011-03ú2011-04r   rf   T©FTFF©TFTT)FFTTr+   )FTTT)TTFF)r   r   r   r   r   r   r   r   )r   r   r   ÚbaserW   r!   rX   r$   r$   r%   Útest_parr_cmp_period_scalarÐ   s8    z6TestPeriodIndexComparisons.test_parr_cmp_period_scalarc                 C   s8  t g d¢|d�}t ||¡}t g d¢|d�}t||dƒ}t g d¢¡}t ||¡}t ||k|¡ t g d¢¡}t ||¡}t ||k|¡ t g d¢¡}t ||¡}t ||k|¡ t g d¢¡}t ||¡}t ||k |¡ t g d	¢¡}t ||¡}t ||k|¡ t g d
¢¡}t ||¡}t ||k|¡ d S )Nrd   r   )rf   re   rg   ú2011-05T©FFTF©TTFTri   ©TFFT©FTTFrj   r   )r   r   r   rk   r    r!   rX   r$   r$   r%   Útest_parr_cmp_piö   s,    z+TestPeriodIndexComparisons.test_parr_cmp_pic                 C   sü  t g d¢|d�}t ||¡}d|› d�}tjt|d��  |tddd�k W d   ƒ n1 s\0    Y  tjt|d��  tddd�|k W d   ƒ n1 sš0    Y  t g d¢dd�}d	}|tjtj	fv rÌ|n|}tjt|d�� ||k W d   ƒ n1 sü0    Y  d|› d�}tjt|d��  |tdd
d�k W d   ƒ n1 �sH0    Y  tjt|d��  tdd
d�|k W d   ƒ n1 �sˆ0    Y  t g d¢d
d�}d}|tjtj	fv �r¼|n|}tjt|d�� ||k W d   ƒ n1 �sî0    Y  d S )Nrd   r   ú)Invalid comparison between dtype=period\[z\] and Period©ÚmatchÚ2011ÚA)rv   Ú2012Ú2013Ú2014z@Invalid comparison between dtype=period\[A-DEC\] and PeriodArrayÚ4Mz=Invalid comparison between dtype=period\[4M\] and PeriodArray)
r   r   r   rF   ÚraisesÚ	TypeErrorr   Úto_arrayrI   r   )r   r   r   rk   Úmsgr    Zrev_msgZidx_msgr$   r$   r%   Ú test_parr_cmp_pi_mismatched_freq  s,    ..&00z;TestPeriodIndexComparisons.test_parr_cmp_pi_mismatched_freqc                 C   s€  t g d¢|d�}|d }||k}t g d¢¡}t ||¡ ||k }t ||¡ |tjk}t g d¢¡}t ||¡ tj|k}t ||¡ |tjk}t g d¢¡}t ||¡ tj|k}t ||¡ t g d¢|d�}||k }t g d¢¡}t ||¡ ||k}t g d¢¡}t ||¡ ||k}t g d¢¡}t ||¡ ||k}t g d	¢¡}t ||¡ ||k}t g d
¢¡}t ||¡ d S )N©re   rf   ÚNaTrm   r   é   ©FFFT©FFFF©TTTT©rf   re   rh   r‚   r+   ro   rn   )r   r   r   r   rV   rI   r‚   )r   r   Úidx1rW   r#   rX   Zidx2r$   r$   r%   Útest_pi_cmp_nat<  sB    



z*TestPeriodIndexComparisons.test_pi_cmp_natc                 C   sŒ   t g d¢|d�}t g d¢dd�}d|› d�}tjt|d�� ||k W d   ƒ n1 sX0    Y  ||k}tjg d¢td	�}t ||¡ d S )
Nr�   r   r‡   r{   rs   z\] and PeriodArrayrt   r…   ©Údtype)	r   rF   r|   r}   r   r   Úboolr   rV   )r   r   rˆ   Údiffr   r#   r"   r$   r$   r%   Ú&test_pi_cmp_nat_mismatched_freq_raisesh  s    &zATestPeriodIndexComparisons.test_pi_cmp_nat_mismatched_freq_raisesr‹   Nc                 C   s(  t tdƒtjtdƒgƒ}t tjtjtdƒgƒ}|d urJ| |¡}| |¡}||k}t g d¢¡}t ||¡ ||k}t g d¢¡}t ||¡ t g d¢¡}t |tjk|¡ t tj|k|¡ t g d¢¡}t |tjk|¡ t tj|k|¡ t g d¢¡}t |tjk |¡ t tj|k|¡ d S )Nú
2011-01-01ú
2011-01-03)FFTr   )FFF)TTT)	r   r   rI   r‚   r:   r   r   r   rV   )r   r‹   ÚleftÚrightr#   r"   r$   r$   r%   Útest_comp_natv  s(    

z(TestPeriodIndexComparisons.test_comp_nat)rC   rD   rE   rY   ra   rF   rG   rH   rl   rr   r€   r‰   rŽ   r;   r“   r$   r$   r$   r%   rN   ©   s   
%
"
"
+
rN   c                   @   s   e Zd Zdd„ ZdS )ÚTestPeriodSeriesComparisonsc                 C   s  t tddd�tddd�tddd�tddd�gƒ}t tddd�td	dd�tddd�td
dd�gƒ}t g d¢ƒ}t ||k|¡ t g d¢ƒ}t ||k|¡ t g d¢ƒ}t ||k|¡ t g d¢ƒ}t ||k |¡ t g d¢ƒ}t ||k|¡ t g d¢ƒ}t ||k|¡ d S )Nrv   rw   r   rf   rQ   ry   rh   rx   re   rm   rn   ro   ri   rp   rq   rj   )r   r   r   Úassert_series_equal)r   rk   r`   rX   r$   r$   r%   Ú(test_cmp_series_period_series_mixed_freq•  s4    



üÿ	



üÿ	zDTestPeriodSeriesComparisons.test_cmp_series_period_series_mixed_freqN)rC   rD   rE   r–   r$   r$   r$   r%   r”   ”  s   r”   c                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	Ú*TestPeriodIndexSeriesComparisonConsistencyú2Test PeriodIndex and Period Series Ops consistencyc                 C   s`   t |ƒ}||ƒ}t|tjtjfƒs&J ‚t ||¡ t|ƒ}||ƒ}t||j	d�}t 
||¡ d S ©N©Úname)r   Ú
isinstancerI   rM   r   Zndarrayr   r   r   r›   r•   )r   rU   Úfuncr"   r    r#   ÚsrX   r$   r$   r%   Ú_checkÁ  s    z1TestPeriodIndexSeriesComparisonConsistency._checkc                    s8  t g d¢ddd�}|d ‰ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fd
d„}|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fdd„}|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ d S )Nrd   rQ   r    ©r   r›   rT   c                    s   | ˆ kS r9   r$   r<   ©rW   r$   r%   r>   ×  r?   zPTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period.<locals>.<lambda>rn   rŠ   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>   Ú  r?   c                    s   | ˆ kS r9   r$   r<   r¡   r$   r%   r>   Ý  r?   ro   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>   à  r?   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>   ã  r?   )TTTFc                    s   | ˆ kS r9   r$   r<   r¡   r$   r%   r>   ç  r?   r„   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>   ë  r?   ©r   r   r   Zbool_rŸ   ©r   r    ÚfrX   r$   r¡   r%   Útest_pi_comp_periodÑ  s.    
ÿz>TestPeriodIndexSeriesComparisonConsistency.test_pi_comp_periodc                    sÞ  t g d¢ddd�}|d ‰ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fd
d„}|  |||¡ dd„ }tjg d¢tjd	�}|  |||¡ dd„ }|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fdd„}|  |||¡ dd„ }tjg d¢tjd	�}|  |||¡ dd„ }|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ ‡ fdd„}tjg d¢tjd	�}|  |||¡ dd„ }tjg d¢tjd	�}|  |||¡ dd„ }tjg d¢tjd	�}|  |||¡ d S )N©re   r‚   rg   rh   rQ   r    r    rT   c                    s   | ˆ kS r9   r$   r<   r¡   r$   r%   r>   õ  r?   zTTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_nat.<locals>.<lambda>rn   rŠ   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>   ø  r?   c                 S   s
   | t jkS r9   ©rI   r‚   r<   r$   r$   r%   r>   û  r?   r…   c                 S   s
   t j| kS r9   r§   r<   r$   r$   r%   r>   þ  r?   c                    s   | ˆ kS r9   r$   r<   r¡   r$   r%   r>     r?   ro   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>     r?   c                 S   s
   | t jkS r9   r§   r<   r$   r$   r%   r>     r?   r†   c                 S   s
   t j| kS r9   r§   r<   r$   r$   r%   r>   
  r?   c                    s   ˆ | kS r9   r$   r<   r¡   r$   r%   r>     r?   )TFTFc                    s   | ˆ k S r9   r$   r<   r¡   r$   r%   r>     r?   r+   c                 S   s
   | t jkS r9   r§   r<   r$   r$   r%   r>     r?   c                 S   s
   t j| kS r9   r§   r<   r$   r$   r%   r>     r?   r¢   r£   r$   r¡   r%   Útest_pi_comp_period_natï  sH    
ÿzBTestPeriodIndexSeriesComparisonConsistency.test_pi_comp_period_natN)rC   rD   rE   Ú__doc__rŸ   r¥   r¨   r$   r$   r$   r%   r—   ¼  s   r—   c                   @   s   e Zd Zdd„ ZdS )ÚTestPeriodFrameArithmeticc                 C   s’  t  tddd�tddd�gtddd�tddd�gdœ¡}|d jd	ksJJ ‚|d
 jd	ks\J ‚tddd�}|j}t  tjd| d| gtd�tjd| d| gtd�dœ¡}t 	|| |¡ t 	|| d| ¡ t  tddd�tddd�gtddd�tddd�gdœ¡}|d jd	k�sJ ‚|d
 jd	k�s.J ‚t  tjd| d| gtd�tjd| d| gtd�dœ¡}t 	|| |¡ t 	|| d| ¡ d S )Nz2015-01rQ   r   z2015-02ú2014-01z2014-02)rw   ÚBrw   z	Period[M]r¬   z2015-03rT   rƒ   rŠ   é   é   rA   z2015-05z2015-06r(   é   )
rI   Ú	DataFramer   r‹   r   r   r   r;   r   Zassert_frame_equal)r   ZdfÚpÚoffrX   Zdf2r$   r$   r%   Útest_ops_frame_period#  s<    þÿþÿþÿþÿz/TestPeriodFrameArithmetic.test_ops_frame_periodN)rC   rD   rE   r³   r$   r$   r$   r%   rª   "  s   rª   c                   @   s  e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	g d
¢¡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d„ ƒƒZej 	dedƒedƒ ¡ edƒ ¡ ejdddd�ejdddd�ejdddd�jejdddd�jde g d¢¡g	¡dd „ ƒZd!d"„ Zd#d$„ Zej 	d%g d&¢¡ej 	d'ddg¡d(d)„ ƒƒZej 	d*ejejg¡d+d,„ ƒZej 	d*ejejg¡d-d.„ ƒZd/d0„ Z d1d2„ Z!ej 	d3d4ejd4ej"d5�g¡d6d7„ ƒZ#d8d9„ Z$ej 	d:d;d<g¡d=d>„ ƒZ%d?d@„ Z&ej 	dAejejg¡ej 	dBe'j(e)j*g¡dCdD„ ƒƒZ+ej 	dAejejg¡dEdF„ ƒZ,dGdH„ Z-ej 	dIg dJ¢¡dKdL„ ƒZ.dMdN„ Z/dOdP„ Z0dQdR„ Z1dSdT„ Z2dUdV„ Z3dWdX„ Z4dYdZ„ Z5d[d\„ Z6d]d^„ Z7d_d`„ Z8ej 	d:d;d<g¡dadb„ ƒZ9ej 	dejdcgdd ded5�e: ;dcgdd ¡g¡dfdg„ ƒZ<dhdi„ Z=djdk„ Z>dS )lÚTestPeriodIndexArithmeticc                 C   sœ   t dddd�}t dddd�}t ||¡}d}tjt|d�� ||  W d   ƒ n1 sX0    Y  tjt|d�� ||7 }W d   ƒ n1 sŽ0    Y  d S )Nú1/1/2000r   r@   ©r   r*   ú1/6/2000z/unsupported operand type\(s\) for \+: .* and .*rt   )r   r   r   rF   r|   r}   )r   r   Úrngr   r   r$   r$   r%   Útest_parr_add_iadd_parr_raisesT  s    &z8TestPeriodIndexArithmetic.test_parr_add_iadd_parr_raisesc                 C   sb   t dddd�}t dddd�}|j}t d| gd ¡}|| }t ||¡ ||8 }t ||¡ d S )Nrµ   r   r@   r¶   r·   éûÿÿÿ)r   r   rI   rM   r   Úassert_index_equal)r   r¸   r   r²   r"   r#   r$   r$   r%   Útest_pi_sub_isub_pie  s    z-TestPeriodIndexArithmetic.test_pi_sub_isub_pic                 C   s†   t dddd�}|dd …  dtj¡}|dd …  |dd … ¡sBJ ‚|| }|j}t tjd| d| d| d| g¡}t ||¡ d S )Nrµ   r   r@   r¶   rƒ   r   )	r   ÚinsertrI   r‚   Úequalsr   rM   r   r»   )r   r¸   r   r#   r²   r"   r$   r$   r%   Útest_pi_sub_pi_with_natu  s    &z1TestPeriodIndexArithmetic.test_pi_sub_pi_with_natc                 C   sr   t dddd�}t dddd�}t ||¡}t ||¡}d}tjt|d�� ||  W d   ƒ n1 sd0    Y  d S )	Nrµ   r   r@   r¶   r·   ÚHz;Input has different freq=[HD] from PeriodArray\(freq=[DH]\)rt   ©r   r   r   rF   r|   r   )r   r   Zbox_with_array2r¸   r   r   r$   r$   r%   Ú test_parr_sub_pi_mismatched_freq  s    z:TestPeriodIndexArithmetic.test_parr_sub_pi_mismatched_freqÚn©rƒ   rT   rZ   r(   c                 C   sd   d}d}t |g||ƒd�}t |g||ƒd�}t |g|jjd�t |g|jjd� }t || |¡ d S )NÚ19910905Ú19920406r   )r   r   rk   r   r»   )r   Ztick_classesrÃ   Úp1_dÚp2_dÚp1Úp2r"   r$   r$   r%   Útest_sub_n_gt_1_ticks‰  s    
ÿz/TestPeriodIndexArithmetic.test_sub_n_gt_1_tickszoffset, kwd_nameÚmonthÚstartingMonthNÚweekdayc                 C   s„   |d ur|dini }d}d}||fddi|¤Ž}t |g|d�}t |g|d�}	|	| }
t |g|jd�t |g|jd� }t |
|¡ d S )NrZ   rÅ   rÆ   Ú	normalizeFr   )r   rk   r   r»   )r   ÚoffsetZkwd_namerÃ   ÚkwdsrÇ   rÈ   r   rÉ   rÊ   r#   r"   r$   r$   r%   Útest_sub_n_gt_1_offsets—  s    ÿz1TestPeriodIndexArithmetic.test_sub_n_gt_1_offsetsr   z
2016-01-01rZ   rÀ   rR   zEurope/Brussels)r*   ÚtzÚSz
Asia/Tokyog…ëQ¸	@)g       @g      @g      @c                 C   s  t dddd�}t ||¡}d g d¢¡}t|||ƒ tjt|d�� ||  W d   ƒ n1 s`0    Y  tjt|d�� ||  W d   ƒ n1 s–0    Y  tjt|d�� ||  W d   ƒ n1 sÌ0    Y  tjt|d�� ||  W d   ƒ n1 �s0    Y  d S )Nrµ   r   rZ   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 .*rt   )r   r   r   Újoinr   rF   r|   r}   )r   r   r   r¸   r   r$   r$   r%   Útest_parr_add_sub_invalid´  s    ÿ&&&z3TestPeriodIndexArithmetic.test_parr_add_sub_invalidc                 C   s  t dddd�}tg d¢ƒ}|j}d}tjt|d�� ||  W d   ƒ n1 sP0    Y  tjt|d�� ||  W d   ƒ n1 s†0    Y  tjt|d�� ||  W d   ƒ n1 s¼0    Y  d}tjt|d�� ||  W d   ƒ n1 sö0    Y  d S )	Nrµ   ÚQrZ   r¶   ©ú-1 DayrÚ   rÚ   zCCannot add or subtract timedelta64\[ns\] dtype from period\[Q-DEC\]rt   z9cannot subtract period\[Q-DEC\]-dtype from TimedeltaArray)r   r
   rU   rF   r|   r}   )r   r¸   ÚtdiÚtdarrr   r$   r$   r%   Ú*test_pi_add_sub_td64_array_non_tick_raisesß  s    &&&zDTestPeriodIndexArithmetic.test_pi_add_sub_td64_array_non_tick_raisesc                 C   s*  t dddd�}tg d¢ƒ}|j}t dddd�}|| }t ||¡ || }t ||¡ || }t ||¡ || }t ||¡ t dddd�}|| }t ||¡ || }t ||¡ d}tjt|d	�� ||  W d   ƒ n1 sä0    Y  tjt|d	�� ||  W d   ƒ n1 �s0    Y  d S )
Nrµ   Z90DrZ   r¶   rÙ   z
12/31/1999z1/2/2000úcannot subtract .* from .*rt   )r   r
   rU   r   r»   rF   r|   r}   )r   r¸   rÛ   rÜ   r"   r#   r   r$   r$   r%   Útest_pi_add_sub_td64_array_tickð  s,    &z9TestPeriodIndexArithmetic.test_pi_add_sub_td64_array_tickÚpi_freq)r   ÚWrØ   rÀ   Útdi_freqc                 C   sÊ  |}|t jtjfvr|nt j}tddg|d�}tdƒ| }| |¡}t ||¡}	|dkrÊ||	 }
| 	d¡|  |¡}t ||¡}t 
|
|¡ |d |	 }
|d  	d¡|  |¡}t ||¡}t 
|
|¡ nü|dk�rNd	}tjt|d
�� ||	  W d   ƒ n1 �s0    Y  tjt|d
�� |d |	  W d   ƒ n1 �sB0    Y  nxd}tjt|d
�� ||	  W d   ƒ n1 �s€0    Y  tjt|d
�� |d |	  W d   ƒ n1 �s¼0    Y  d S )Nz1 hoursz2 hoursr   z2018-03-07 17:16:40rÀ   rÔ   r   r   z.Input has different freq=None from PeriodArrayrt   z"Cannot add or subtract timedelta64)rI   r   r   r~   rM   r
   r   Z	to_periodr   Zto_timestampr   rF   r|   r   r}   )r   r   râ   rà   Úboxr!   rÛ   Zdtir,   Ztd64objr#   r"   r   r$   r$   r%   Útest_parr_sub_td64array  s4    

(.(z1TestPeriodIndexArithmetic.test_parr_sub_td64arrayrã   c           	   	   C   sº  t tdƒtdƒgƒ}|tjjddd�tjjddd�gƒ}t tdƒtdƒgƒ}t t¡� || }W d   ƒ n1 st0    Y  t ||¡ t t¡� || }W d   ƒ n1 s²0    Y  t ||¡ t	 
tjjdd	�tjjdd	�g¡}d
}tjt|d��D t t¡� ||  W d   ƒ n1 �s(0    Y  W d   ƒ n1 �sH0    Y  tjt|d��D t t¡� ||  W d   ƒ n1 �sŒ0    Y  W d   ƒ n1 �s¬0    Y  d S )NÚ2015Q1Ú2016Q2rƒ   é   ©rÃ   rÍ   éþÿÿÿZ2015Q2Z2015Q4©rÃ   z1Input cannot be converted to Period\(freq=Q-DEC\)rt   )r   r   rI   ÚoffsetsÚ
QuarterEndr   Úassert_produces_warningr   r»   r   r   ÚHourZMinuterF   r|   r   )	r   rã   r,   Zoffsr"   ÚresZres2Z
unanchoredr   r$   r$   r%   Útest_pi_add_offset_array<  s*    þÿ&&"Hz2TestPeriodIndexArithmetic.test_pi_add_offset_arrayc              	      s€  t tdƒtdƒgƒ‰|tjjddd�tjjddd�gƒ‰ t ‡ ‡fdd„ttˆƒƒD ƒƒ}t t	¡� ˆˆ  }W d   ƒ n1 s€0    Y  t 
||¡ |tj ¡ tjjd	d
�gƒ}d}tjt|d��B t t	¡� ˆ|  W d   ƒ n1 sî0    Y  W d   ƒ n1 �s0    Y  tjt|d��D t t	¡� |ˆ  W d   ƒ n1 �sR0    Y  W d   ƒ n1 �sr0    Y  d S )Nrå   ræ   rƒ   rç   rè   ré   c                    s   g | ]}ˆ| ˆ |  ‘qS r$   r$   )r\   rÃ   ©r   r,   r$   r%   r_   f  r?   zFTestPeriodIndexArithmetic.test_pi_sub_offset_array.<locals>.<listcomp>rT   rê   z6Input has different freq=-1M from Period\(freq=Q-DEC\)rt   )r   r   rI   rë   rì   rL   Úlenr   rí   r   r»   ÚMonthEndÚDayrF   r|   r   )r   rã   r"   rï   Zanchoredr   r$   rñ   r%   Útest_pi_sub_offset_array[  s$    þÿ &Fz2TestPeriodIndexArithmetic.test_pi_sub_offset_arrayc                 C   sH   t dddd�}|| }t dddd�}t ||¡ ||7 }t ||¡ d S )Nú2000-01-01 09:00rÀ   rS   r¶   z2000-01-01 10:00©r   r   r»   ©r   Úoner¸   r#   r"   r$   r$   r%   Útest_pi_add_iadd_intx  s    z.TestPeriodIndexArithmetic.test_pi_add_iadd_intc                 C   sH   t dddd�}|| }t dddd�}t ||¡ ||8 }t ||¡ dS )z‹
        PeriodIndex.__sub__ and __isub__ with several representations of
        the integer 1, e.g. int, np.int64, np.uint8, ...
        rö   rÀ   rS   r¶   z2000-01-01 08:00Nr÷   rø   r$   r$   r%   Útest_pi_sub_isub_int�  s    z.TestPeriodIndexArithmetic.test_pi_sub_isub_intÚfiver@   rŠ   c                 C   s.   t ddd�}|| }||  }t ||¡ d S )NrO   é2   r)   r÷   )r   rü   r¸   r#   rX   r$   r$   r%   Útest_pi_sub_intlike�  s    
z-TestPeriodIndexArithmetic.test_pi_sub_intlikec                 C   s¬   t dddd�}|tj d¡ }t dddd�}t ||¡ |tj d¡8 }t ||¡ t dd	d
d�}|tj d¡ }t ddd
d�}t ||¡ |tj d¡8 }t ||¡ d S )Nrz   Ú2024rw   r   r@   Z2009Ú2019r«   ú2016-12rQ   z2013-08z2016-07)r   rI   rë   ÚYearEndr   r»   ró   ©r   r¸   r#   r"   r$   r$   r%   Útest_pi_sub_isub_offset•  s    z1TestPeriodIndexArithmetic.test_pi_sub_isub_offsetÚ	transposeTFc                 C   st   t ddd�}t|gƒ}tdgdd�}tj|||d�}tj|||d�}||j }t ||¡ |j| }t ||¡ d S )Nú2016-01rb   r   z2016-03©r  )r   r   r   r   r   r   )r   r   r  rW   r,   r"   r#   r$   r$   r%   Útest_pi_add_offset_n_gt1§  s    


z2TestPeriodIndexArithmetic.test_pi_add_offset_n_gt1c                 C   sh   t dgdd�}t dgdd�}t ||¡}t ||¡}|tdƒ }t ||¡ tdƒ| }t ||¡ d S )Nr  rb   r   z2016-04rc   )r   r   r   r   r   )r   r   r,   r"   r#   r$   r$   r%   Ú&test_pi_add_offset_n_gt1_not_divisibleº  s    z@TestPeriodIndexArithmetic.test_pi_add_offset_n_gt1_not_divisibleÚ
int_holderÚopc                 C   sN   t tdƒtdƒgƒ}|ddgƒ}|||ƒ}t tdƒtdƒgƒ}t ||¡ d S )Nrå   r‚   r(   rA   Z2016Q1)r   r   r   r»   )r   r
  r  r,   r   r#   r"   r$   r$   r%   Útest_pi_add_intarrayÌ  s
    
z.TestPeriodIndexArithmetic.test_pi_add_intarrayc                 C   s†   t tdƒtdƒgƒ}|ddgƒ}|| }t tdƒtdƒgƒ}t ||¡ d}tjt|d�� ||  W d   ƒ n1 sx0    Y  d S )Nrå   r‚   r(   rA   Z2014Q1ú+bad operand type for unary -: 'PeriodArray'rt   )r   r   r   r»   rF   r|   r}   )r   r
  r,   r   r#   r"   r   r$   r$   r%   Útest_pi_sub_intarray×  s    z.TestPeriodIndexArithmetic.test_pi_sub_intarrayc                 C   sÚ   |}t dddd�}t ||¡}tg d¢dd�}t ||¡}|| }t ||¡ || }t ||¡ tg d¢dd�}t ||¡}|| }t ||¡ d d	d
g¡}tjt|d�� ||  W d   ƒ n1 sÌ0    Y  d S )Nú
2014-05-01rZ   Z2DrR   )ú
2014-05-04z
2014-05-06z
2014-05-08r   )ú
2014-04-28z
2014-04-30z
2014-05-02rÕ   r  ú4cannot subtract PeriodArray from timedelta64\[[hD]\]rt   )	r   r   r   r   r   rÖ   rF   r|   r}   )r   Ú
three_daysr   r   r¸   r"   r#   r   r$   r$   r%   Ú&test_parr_add_timedeltalike_minute_gt1é  s(    þÿz@TestPeriodIndexArithmetic.test_parr_add_timedeltalike_minute_gt1Úfreqstr)Z5nsZ5usZ5msZ5sZ5TZ5hZ5dc           
      C   sæ   |}t dd|d�}|d }t ||¡}t || d|d�}t ||¡}|| }t ||¡ || }t ||¡ t || d|d�}t ||¡}|| }t ||¡ d ddg¡}	tjt|	d�� ||  W d   ƒ n1 sØ0    Y  d S )	Nr  é   rR   r   rÕ   r  r  rt   )r   r   r   r   rÖ   rF   r|   r}   )
r   r  r  r   r   r¸   Úfirstr"   r#   r   r$   r$   r%   Ú$test_parr_add_timedeltalike_tick_gt1
  s*    þÿz>TestPeriodIndexArithmetic.test_parr_add_timedeltalike_tick_gt1c                 C   sL   |}t dddd�}t dddd�}|| }t ||¡ ||7 }t ||¡ d S )Nr  ú
2014-05-15r   r   r  z
2014-05-18r÷   ©r   r  r   r¸   r"   r#   r$   r$   r%   Ú$test_pi_add_iadd_timedeltalike_daily*  s    z>TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_dailyc                 C   sL   |}t dddd�}t dddd�}|| }t ||¡ ||8 }t ||¡ d S )Nr  r  r   r   r  z
2014-05-12r÷   r  r$   r$   r%   Ú$test_pi_sub_isub_timedeltalike_daily6  s    z>TestPeriodIndexArithmetic.test_pi_sub_isub_timedeltalike_dailyc                 C   sþ   |}t dddd�}t ||¡}d}tjt|d�� ||  W d   ƒ n1 sN0    Y  tjt|d�� ||7 }W d   ƒ n1 s„0    Y  tjt|d�� ||  W d   ƒ n1 sº0    Y  tjt|d�� ||8 }W d   ƒ n1 sð0    Y  d S )Nr  r  r   r   z7Input has different freq(=.+)? from Period.*?\(freq=D\)rt   rÁ   )r   Z	not_dailyr   r   r¸   r   r$   r$   r%   Ú3test_parr_add_sub_timedeltalike_freq_mismatch_dailyB  s    &&&zMTestPeriodIndexArithmetic.test_parr_add_sub_timedeltalike_freq_mismatch_dailyc                 C   sL   |}t dddd�}t dddd�}|| }t ||¡ ||7 }t ||¡ d S )Nú2014-01-01 10:00ú2014-01-05 10:00rÀ   r   z2014-01-01 12:00z2014-01-05 12:00r÷   ©r   Z	two_hoursr   r¸   r"   r#   r$   r$   r%   Ú%test_pi_add_iadd_timedeltalike_hourlyS  s    z?TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_hourlyc                 C   s’   |}t dddd�}t ||¡}d}tjt|d�� ||  W d   ƒ n1 sN0    Y  tjt|d�� ||7 }W d   ƒ n1 s„0    Y  d S )Nr  r  rÀ   r   z7Input has different freq(=.+)? from Period.*?\(freq=H\)rt   rÁ   )r   Z
not_hourlyr   r   r¸   r   r$   r$   r%   Ú2test_parr_add_timedeltalike_mismatched_freq_hourly^  s    &zLTestPeriodIndexArithmetic.test_parr_add_timedeltalike_mismatched_freq_hourlyc                 C   sL   |}t dddd�}t dddd�}|| }t ||¡ ||8 }t ||¡ d S )Nr  r  rÀ   r   z2014-01-01 08:00z2014-01-05 08:00r÷   r   r$   r$   r%   Ú%test_pi_sub_isub_timedeltalike_hourlyl  s    z?TestPeriodIndexArithmetic.test_pi_sub_isub_timedeltalike_hourlyc                 C   sX   t dddd�}|tj d¡ }t dddd�}t ||¡ |tj d¡7 }t ||¡ d S )Nrz   rÿ   rw   r   r@   r   Z2029)r   rI   rë   r  r   r»   r  r$   r$   r%   Ú"test_add_iadd_timedeltalike_annualw  s    z<TestPeriodIndexArithmetic.test_add_iadd_timedeltalike_annualc                 C   sò   |}t dddd�}d}tjt|d�� ||  W d   ƒ n1 sB0    Y  tjt|d�� ||7 }W d   ƒ n1 sx0    Y  tjt|d�� ||  W d   ƒ n1 s®0    Y  tjt|d�� ||8 }W d   ƒ n1 sä0    Y  d S )Nrz   rÿ   rw   r   z;Input has different freq(=.+)? from Period.*?\(freq=A-DEC\)rt   ©r   rF   r|   r   ©r   Zmismatched_freqr   r¸   r   r$   r$   r%   Ú2test_pi_add_sub_timedeltalike_freq_mismatch_annual�  s    &&&zLTestPeriodIndexArithmetic.test_pi_add_sub_timedeltalike_freq_mismatch_annualc                 C   sX   t dddd�}t dddd�}|tj d¡ }t ||¡ |tj d¡7 }t ||¡ d S )Nr«   r  rQ   r   z2014-06z2017-05r@   )r   rI   rë   ró   r   r»   )r   r¸   r"   r#   r$   r$   r%   Ú test_pi_add_iadd_timedeltalike_MŽ  s    z:TestPeriodIndexArithmetic.test_pi_add_iadd_timedeltalike_Mc                 C   sò   |}t dddd�}d}tjt|d�� ||  W d   ƒ n1 sB0    Y  tjt|d�� ||7 }W d   ƒ n1 sx0    Y  tjt|d�� ||  W d   ƒ n1 s®0    Y  tjt|d�� ||8 }W d   ƒ n1 sä0    Y  d S )Nr«   r  rQ   r   z7Input has different freq(=.+)? from Period.*?\(freq=M\)rt   r%  r&  r$   r$   r%   Ú3test_pi_add_sub_timedeltalike_freq_mismatch_monthly˜  s    &&&zMTestPeriodIndexArithmetic.test_pi_add_sub_timedeltalike_freq_mismatch_monthlyc           	      C   sÄ   t dddd�}t d¡}tdgd dd�}tj|||d�}tj|||d�}|| }t ||¡ || }t ||¡ || }t ||¡ d}tjt	|d	�� ||  W d   ƒ n1 s¶0    Y  d S )
Nú
1994-04-01r1   Ú19DrR   r‚   r   r  rÞ   rt   )
r   r   Ztimedelta64r   r   r   r   rF   r|   r}   )	r   r   r  r,   r   r"   Úobjr#   r   r$   r$   r%   Útest_parr_add_sub_td64_nat¥  s    
z4TestPeriodIndexArithmetic.test_parr_add_sub_td64_natr‚   r1   zm8[ns]c                 C   s²   t dddd�}tdgd dd�}t ||¡}t ||¡}|| }t ||¡ || }t ||¡ || }t ||¡ d}tjt|d�� ||  W d   ƒ n1 s¤0    Y  d S )	Nr*  r1   r+  rR   r‚   r   rÞ   rt   )r   r   r   r   r   rF   r|   r}   )r   r   r   r,   r"   r,  r#   r   r$   r$   r%   Ú!test_parr_add_sub_tdt64_nat_array¹  s    z;TestPeriodIndexArithmetic.test_parr_add_sub_tdt64_nat_arrayc                 C   s2   t ddd�}|j}|| }|| }t ||¡ d S )Nú
2000-12-31rZ   r)   )r   r   r   r»   )r   r,   r5   r#   r"   r$   r$   r%   Útest_parr_add_sub_indexÔ  s
    z1TestPeriodIndexArithmetic.test_parr_add_sub_indexc                 C   sØ   t dddd�}|j}t tdd�tj d¡dg¡}t t	¡� || }W d   ƒ n1 sZ0    Y  t
g d¢dd	�j}t ||¡ t t	¡� || }W d   ƒ n1 sª0    Y  t
d
gd dd	�j}t ||¡ d S )Nr/  rZ   r   rR   rƒ   r/   rT   )z
2001-01-01z
2001-01-03z
2001-01-05r   z
2000-12-30)r   r   r   r	   rI   rë   rô   r   rí   r   r   r   )r   r,   r5   r   r#   r"   r$   r$   r%   Útest_parr_add_sub_object_arrayÝ  s    &ÿ&z8TestPeriodIndexArithmetic.test_parr_add_sub_object_array)?rC   rD   rE   r¹   r¼   r¿   rÂ   rF   rG   rH   rË   rI   rë   r  rì   ró   ZWeekrÒ   r   Zto_pydatetimeZto_datetime64rJ   Ú_datar   r   r×   rÝ   rß   rä   rM   rð   rõ   rú   rû   Zint64rþ   r  r  r	  ÚoperatorÚaddr   Zraddr  r  r  r  r  r  r  r!  r"  r#  r$  r'  r(  r)  r-  r   Z_from_sequencer.  r0  r1  r$   r$   r$   r%   r´   M  s˜   






üþ	

ôþ
+

	

	
!



þþ
	r´   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestPeriodSeriesArithmeticc                 C   s®   t tddd�tddd�gdd�}|jdks.J ‚t tddd�td	dd�gdd�}t ||¡}|tju rv|jdk ¡ svJ ‚t ||¡}|| }t 	||¡ || }t 	||¡ d S )
Nú
2015-01-01r   r   ú
2015-01-02Úxxxrš   ú	Period[D]ú
2015-01-04ú
2015-01-05)
r   r   r‹   r   r   rI   r°   ZdtypesÚallr   )r   r  r   r`   r"   r,  r#   r$   r$   r%   Ú"test_parr_add_timedeltalike_scalaró  s"    þþ
z=TestPeriodSeriesArithmetic.test_parr_add_timedeltalike_scalarc                 C   sî   t tddd�tddd�gdd�}|jdks.J ‚tddd�}|j}t d	| d
| gdtd�}t || |¡ t || d| ¡ t tddd�tddd�gdd�}|jdks¬J ‚t d| d| gdtd�}t || |¡ t || d| ¡ d S )Nr6  r   r   r7  r8  rš   r9  z
2015-01-10r1   é   )r›   r‹   rA   r;  r:  r(   rT   )r   r   r‹   r   r;   r   r•   )r   r`   rW   r²   r"   Ús2r$   r$   r%   Útest_ops_series_period  s$    þþz1TestPeriodSeriesArithmetic.test_ops_series_periodN)rC   rD   rE   r=  r@  r$   r$   r$   r%   r5  ò  s   r5  c                   @   s°   e Zd ZdZdd„ Zdd„ Zej dddg¡ej d	d
d„ dd„ dd„ dd„ dd„ dd„ dd„ dd„ g¡dd„ ƒƒZ	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#S )$ÚTestPeriodIndexSeriesMethodsr˜   c                 C   sJ   t |ƒ}||ƒ}t ||¡ t|ƒ}||ƒ}t||jd�}t ||¡ d S r™   )r   r   r   r   r›   r•   )r   rU   r�   r"   r    r#   r`   rX   r$   r$   r%   rŸ   )  s    z#TestPeriodIndexSeriesMethods._checkc                 C   sì   t g d¢ddd�}t g d¢ddd�}|  |dd„ |¡ |  |dd„ |¡ |  |d	 d
d„ |¡ |tddd� }|j}tjd| d| d	| d| gdd�}t ||¡ tddd�| }tjd| d| d| d| gdd�}t ||¡ d S )Nrd   rQ   r    r    )rg   rh   rm   ú2011-06c                 S   s   | d S ©NrT   r$   r<   r$   r$   r%   r>   =  r?   z:TestPeriodIndexSeriesMethods.test_pi_ops.<locals>.<lambda>c                 S   s   d|  S rC  r$   r<   r$   r$   r%   r>   >  r?   rT   c                 S   s   | d S rC  r$   r<   r$   r$   r%   r>   @  r?   re   r   r   rƒ   rZ   rš   rA   ré   éýÿÿÿ)r   rŸ   r   r   rI   rM   r   r»   )r   r    r"   r#   r²   rX   r$   r$   r%   Útest_pi_ops4  s     
ÿ
ÿ&&z(TestPeriodIndexSeriesMethods.test_pi_opsÚngÚstrg      ø?r�   c                 C   s   | | S r9   r$   ©r,  rF  r$   r$   r%   r>   O  r?   z%TestPeriodIndexSeriesMethods.<lambda>c                 C   s   ||  S r9   r$   rH  r$   r$   r%   r>   P  r?   c                 C   s   | | S r9   r$   rH  r$   r$   r%   r>   Q  r?   c                 C   s   ||  S r9   r$   rH  r$   r$   r%   r>   R  r?   c                 C   s   t  | |¡S r9   ©r   r4  rH  r$   r$   r%   r>   S  r?   c                 C   s   t  || ¡S r9   rI  rH  r$   r$   r%   r>   T  r?   c                 C   s   t  | |¡S r9   ©r   ÚsubtractrH  r$   r$   r%   r>   U  r?   c                 C   s   t  || ¡S r9   rJ  rH  r$   r$   r%   r>   V  r?   c                 C   sh   t g d¢ddd�}t ||¡}d g d¢¡}tjt|d�� |||ƒ W d   ƒ n1 sZ0    Y  d S )Nrd   rQ   r    r    rÕ   )zunsupported operand type\(s\)zcan only concatenatezmust be strzobject to str implicitlyrt   )r   r   r   rÖ   rF   r|   r}   )r   rF  r�   r   r    r,  r   r$   r$   r%   Útest_parr_ops_errorsK  s    
ÿÿ	z1TestPeriodIndexSeriesMethods.test_parr_ops_errorsc                 C   s  t g d¢ddd�}t g d¢ddd�}|  |dd„ |¡ |  |dd„ |¡ |  |d	d„ |¡ |  |d
 dd„ |¡ |  |d
 dd„ |¡ t g d¢ddd�}t g d¢ddd�}|  |dd„ |¡ |  |dd„ |¡ |  |dd„ |¡ |  |d dd„ |¡ |  |d dd„ |¡ d S )N©re   rf   r‚   rh   rQ   r    r    )rg   rh   r‚   rB  c                 S   s   | d S rC  r$   r<   r$   r$   r%   r>   r  r?   z>TestPeriodIndexSeriesMethods.test_pi_ops_nat.<locals>.<lambda>c                 S   s   d|  S rC  r$   r<   r$   r$   r%   r>   s  r?   c                 S   s   t  | d¡S rC  rI  r<   r$   r$   r%   r>   t  r?   rT   c                 S   s   | d S rC  r$   r<   r$   r$   r%   r>   v  r?   c                 S   s   t  | d¡S rC  rJ  r<   r$   r$   r%   r>   w  r?   rb   )z2011-07ú2011-08r‚   z2011-10c                 S   s   | d S ©NrZ   r$   r<   r$   r$   r%   r>   �  r?   c                 S   s   d|  S rO  r$   r<   r$   r$   r%   r>   ‚  r?   c                 S   s   t  | d¡S rO  rI  r<   r$   r$   r%   r>   ƒ  r?   rZ   c                 S   s   | d S rO  r$   r<   r$   r$   r%   r>   …  r?   c                 S   s   t  | d¡S rO  rJ  r<   r$   r$   r%   r>   †  r?   ©r   rŸ   )r   r    r"   r$   r$   r%   Útest_pi_ops_natj  s,    
ÿ
ÿ
ÿ
ÿz,TestPeriodIndexSeriesMethods.test_pi_ops_natc                 C   s¶   t g d¢ddd�}dd„ }t g d¢ddd�}|  |||¡ dd„ }t g d	¢ddd�}|  |||¡ d
d„ }t g d¢ddd�}|  |||¡ dd„ }t g d¢ddd�}|  |||¡ d S )NrM  rQ   r    r    c                 S   s   | t  g d¢¡ S ©NrÄ   ©r   r   r<   r$   r$   r%   r>   �  r?   zDTestPeriodIndexSeriesMethods.test_pi_ops_array_int.<locals>.<lambda>)rf   rh   r‚   rN  c                 S   s   t  | t  g d¢¡¡S )N)r(   rA   rƒ   rT   )r   r4  r   r<   r$   r$   r%   r>   “  r?   )rm   re   r‚   rB  c                 S   s   | t  g d¢¡ S rR  rS  r<   r$   r$   r%   r>   ™  r?   )ú2010-12rT  r‚   rT  c                 S   s   t  | t  g d¢¡¡S )N)rZ   rT   rZ   ré   )r   rK  r   r<   r$   r$   r%   r>   Ÿ  r?   )z2010-10rT  r‚   rB  rP  r£   r$   r$   r%   Útest_pi_ops_array_intˆ  s.    
ÿ
ÿ
ÿ
ÿ
ÿz2TestPeriodIndexSeriesMethods.test_pi_ops_array_intc                 C   sŽ   t g d¢ddd�}dd„ }t g d¢ddd�}|  |||¡ dd„ }t g d	¢ddd�}|  |||¡ d
d„ }t g d¢ddd�}|  |||¡ d S )N©r�   z
2011-02-01z
2011-03-01z
2011-04-01r   r    r    c                 S   s   | t j ¡  S r9   ©rI   rë   rô   r<   r$   r$   r%   r>   «  r?   zATestPeriodIndexSeriesMethods.test_pi_ops_offset.<locals>.<lambda>)z
2011-01-02z
2011-02-02z
2011-03-02z
2011-04-02c                 S   s   | t j d¡ S rC  rW  r<   r$   r$   r%   r>   ³  r?   )r�   z
2011-02-03z
2011-03-03z
2011-04-03c                 S   s   | t j d¡ S rC  rW  r<   r$   r$   r%   r>   »  r?   )z
2010-12-30z
2011-01-30z
2011-02-27z
2011-03-30rP  r£   r$   r$   r%   Útest_pi_ops_offset¥  s4    ýýýýz/TestPeriodIndexSeriesMethods.test_pi_ops_offsetc              	   C   sî   t g d¢ddd�}t|ƒ}||fD ]Æ}d}tjt|d��  |tj d¡  W d   ƒ n1 s^0    Y  tjt|d��  tj d¡|  W d   ƒ n1 sœ0    Y  d}tjt|d��  |tj d¡  W d   ƒ q"1 sÞ0    Y  q"d S )	NrV  r   r    r    z4Input has different freq=2H from Period.*?\(freq=D\)rt   rT   z5Input has different freq=-2H from Period.*?\(freq=D\))r   r   rF   r|   r   rI   rë   rî   )r   r    r`   r,  r   r$   r$   r%   Útest_pi_offset_errorsÃ  s    ý..z2TestPeriodIndexSeriesMethods.test_pi_offset_errorsc                 C   sX  t g d¢ddd�}|tddd� }|j}tjd| d| d	| d
| gdd�}t ||¡ t |tddd�¡}t ||¡ tddd�| }tjd| d| d| d| gdd�}t ||¡ t tddd�|¡}t ||¡ t	tj
tj
tj
tj
gdd�}|tddd� }t ||¡ |j|jk�s&J ‚tddd�| }t ||¡ |j|jk�sTJ ‚d S )Nrd   rQ   r    r    ú2012-01r   éôÿÿÿiõÿÿÿéöÿÿÿé÷ÿÿÿrš   rç   é   rS   r1   r‚   )r   r   r   rI   rM   r   r»   r   rK  r
   Únan©r   r    r#   r²   rX   r$   r$   r%   Útest_pi_sub_periodÙ  s*    
ÿ&&z/TestPeriodIndexSeriesMethods.test_pi_sub_periodc                 C   sN   t g d¢ddd�}ttjgd dd�}t tj| |¡ t |tj |¡ d S )NrM  rQ   r    r    r(   rš   )r   r
   rI   r‚   r   r»   )r   r    rX   r$   r$   r%   Útest_pi_sub_pdnat÷  s    
ÿz.TestPeriodIndexSeriesMethods.test_pi_sub_pdnatc                 C   sè   t g d¢ddd�}|tddd� }|j}tjd| tjd| d	| gdd
�}t ||¡ tddd�| }tjd| tjd| d| gdd
�}t ||¡ tt	j
t	j
t	j
t	j
gdd
�}t |tddd� |¡ t tddd�| |¡ d S )Nr¦   rQ   r    r    rZ  r   r[  r\  r]  rš   rç   rS   r1   r‚   )r   r   r   rI   rM   r‚   r   r»   r
   r   r_  r`  r$   r$   r%   Útest_pi_sub_period_nat   s    
ÿ$$z3TestPeriodIndexSeriesMethods.test_pi_sub_period_natN)rC   rD   rE   r©   rŸ   rE  rF   rG   rH   rL  rQ  rU  rX  rY  ra  rb  rc  r$   r$   r$   r%   rA  &  s0   øþ	rA  )%r3  Únumpyr   rF   Zpandas._libs.tslibsr   r   r   r   Zpandas.errorsr   ZpandasrI   r   r   r	   r
   r   Zpandas._testingZ_testingr   Zpandas.corer   Zpandas.core.arraysr   Zpandas.tests.arithmetic.commonr   r   r   r   rN   r”   r—   rª   r´   r5  rA  r$   r$   r$   r%   Ú<module>   s2   
  l(f+     *4