a
    nÝEb u  ã                   @   s<  d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
mZ d dlZd dlmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZ ejdd	d d
gddgd�dd„ ƒZ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 d!„ Z(d"d#„ Z)dS )$é    )Ú	timedeltaN)ÚIncompatibleFrequency)Úis_datetime64_dtypeÚis_datetime64tz_dtype)ÚCategoricalÚIndexÚSeriesÚ	TimedeltaÚbdate_rangeÚ
date_rangeÚisna)ÚnanopsÚops)ÚexpressionsTÚmodulei@B ZnumexprÚpython)ZautouseÚscopeÚparamsÚidsc                 c   s    t j}| jt _| jV  |t _d S ©N)ÚexprÚ_MIN_ELEMENTSÚparam)Úrequestr   © r   úc/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/tests/series/test_arithmetic.pyÚswitch_numexpr_min_elements!   s    r   c                 C   s   |   tj t| ƒ¡¡S r   )ÚtakeÚnpÚrandomÚpermutationÚlen)Úobjr   r   r   Ú_permute+   s    r#   c                	   @   s  e Zd Zej ddd„ dd„ dfdd„ dd„ dfdd„ d	d„ d
fdd„ dd„ d
fg¡ej dg d¢¡dd„ ƒƒZdd„ Zdd„ Ze	j
ejdfe	jejdfgZdD ]VZdZee	eƒZeeeƒZee	de ƒZefdd„Ze eeef¡ e eeef¡ q ej de¡dd„ ƒZdS )ÚTestSeriesFlexArithmeticÚtsc                 C   s   | S r   r   ©Úxr   r   r   Ú<lambda>3   ó    z!TestSeriesFlexArithmetic.<lambda>c                 C   s   | d S ©Né   r   r&   r   r   r   r(   3   r)   Fc                 C   s   | S r   r   r&   r   r   r   r(   4   r)   c                 C   s   | d d d… S r*   r   r&   r   r   r   r(   4   r)   c                 C   s   | S r   r   r&   r   r   r   r(   5   r)   c                 C   s   dS )Né   r   r&   r   r   r   r(   5   r)   Tc                 C   s   t  ¡ S r   )ÚtmZmakeFloatSeriesr&   r   r   r   r(   6   r)   Úopname)ÚaddÚsubÚmulÚfloordivÚtruedivÚpowc                 C   s˜   t  ¡  d¡}|d |ƒ}|d |ƒ}|d }tt|ƒ}tt|ƒ}|||ƒ}	|||ƒ}
t  |	|
¡ |r”ttd| ƒ}|||ƒ}	|||ƒ}
t  |	|
¡ d S )Nr%   r   é   r+   Úr)r-   ZmakeTimeSeriesÚrenameÚgetattrr   ÚoperatorÚassert_almost_equal)Úselfr.   r%   ZtserÚseriesÚotherZcheck_reverseÚopZaltÚresultÚexpectedÚropr   r   r   Útest_flex_method_equivalence0   s    





z5TestSeriesFlexArithmetic.test_flex_method_equivalencec                    sT   G ‡ fdd„dt ƒ‰ |}tt |ƒ}ˆ g d¢dd�}d|_||dƒ}|jdksPJ ‚d S )Nc                       s"   e Zd ZdgZe‡ fdd„ƒZdS )zZTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeriesr'   c                    s   ˆ S r   r   )r;   ©ÚMySeriesr   r   Ú_constructorU   s    zgTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeries._constructorN)Ú__name__Ú
__module__Ú__qualname__Ú	_metadataÚpropertyrE   r   rC   r   r   rD   R   s   rD   ©r5   r+   é   Útest©Únameé*   r5   )r   r8   r'   )r;   Zall_arithmetic_operatorsr.   r>   Úmr?   r   rC   r   Ú/test_flex_method_subclass_metadata_preservationP   s    

zHTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservationc                 C   sD   t ddtjdddgƒ}| d¡ d¡}|jddd�}t ||¡ d S )Nr   r5   rL   é   r,   r+   ©Ú
fill_value)r   r   ÚnanÚfillnar/   r-   Úassert_series_equal)r;   ÚserÚexpÚresr   r   r   Útest_flex_add_scalar_fill_value`   s    z8TestSeriesFlexArithmetic.test_flex_add_scalar_fill_valuer5   )r/   r0   r1   r4   r3   r2   r   r6   c                 C   s   t t|ƒ|| ƒS r   )r8   r9   )r'   Úyr>   r   r   r   r(   o   r)   zop, equiv_op, fvc           	      C   s’   ddd„}t tjdddtjgt d¡d�}t tjd	tjd
tjdgt d¡d�}|||ƒ}|||ƒ}t ||¡ ||||||d� |||dd� d S )Nr   c              	   S   s6  |j  |j ¡}| |¡}| |¡}t|ƒ}t|ƒ}g }tt|ƒƒD ]Ê}	tjdd��¨ ||	 r”||	 r~| tj	¡ W d   ƒ qB| ||||	 ƒ¡ nX||	 rÔ||	 r¾| tj	¡ W d   ƒ qB| |||	 |ƒ¡ n| |||	 ||	 ƒ¡ W d   ƒ qB1 �s0    Y  qB| |||d�}
t
||ƒ}t |
|¡ d S )NÚignore)ÚallrT   )ÚindexÚunionÚreindexr   Úranger!   r   ÚerrstateÚappendrV   r   r-   rX   )Úmethr>   ÚaÚbrU   Z	exp_indexZamaskZbmaskZ
exp_valuesÚir?   r@   r   r   r   Ú_check_fillu   s,    

:
zDTestSeriesFlexArithmetic.test_operators_combine.<locals>._check_fillg      ð?g       @g      @r,   ©r`   r5   rL   g      @é   rT   ©Úaxis)r   )r   r   rV   Úaranger-   rX   )	r;   r>   Zequiv_opÚfvrj   rg   rh   r?   rZ   r   r   r   Útest_operators_combines   s    
 $

z/TestSeriesFlexArithmetic.test_operators_combineN)rF   rG   rH   ÚpytestÚmarkÚparametrizerB   rR   r\   r   Údivr9   r3   Zrdivr   ZrtruedivZpairingsr>   rp   r8   ZlopZlequivrA   Zrequivre   rq   r   r   r   r   r$   /   s2   üþ	ÿ

r$   c                   @   s°   e Zd Zdd„ Zej ddddgddgfd	ddgd
dgfg¡dd„ ƒZdd„ Zej dde	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#d$„ ZdS )%ÚTestSeriesArithmeticc                 C   sÊ   t jdddd�}ttj t|ƒ¡|d�}||d d d…  }|| }tj|jdd d…< t	 
||¡ |t|d d d… ƒ }t	 
||¡ d}tjt|d	��" ||jd
dd�  W d   ƒ n1 s¼0    Y  d S )Nú1/1/2000z1/1/2010ÚA©Úfreqrk   r+   r5   z4Input has different freq=D from Period\(freq=A-DEC\)©ÚmatchÚDÚend)Úhow)ÚpdZperiod_ranger   r   r   Úrandnr!   rV   Úilocr-   rX   r#   rr   Úraisesr   Zasfreq)r;   Úrngr%   r?   r@   Úmsgr   r   r   Ú!test_add_series_with_period_indexŸ   s    z6TestSeriesArithmetic.test_add_series_with_period_indexz%target_add,input_value,expected_valueú!ZhelloZworldzhello!zworld!rQ   ZhellomZworldmc                 C   s(   t |ƒ}|| }t |ƒ}t ||¡ d S r   ©r   r-   rX   )r;   Z
target_addZinput_valueZexpected_valuerg   r?   r@   r   r   r   Útest_string_addition¯   s    	z)TestSeriesArithmetic.test_string_additionc                 C   s²   t dddtjgg d¢d�}t dtjdtjgg d¢d�}| |¡}t||ƒ}t |d |d ¡ t |d |d ¡ | |¡}t||ƒ}t |d |d ¡ t |d |d ¡ d S )Nr5   )rg   rh   ÚcÚdrk   r+   )rg   rh   r‹   Úer   )r   r   rV   Údivmodr-   rX   Zrdivmod)r;   rg   rh   r?   r@   r   r   r   Útest_divmod¾   s    



z TestSeriesArithmetic.test_divmodr`   Né	   c                 C   sX   t tddƒƒ}t d|d�}d}tjt|d�� ||  W d   ƒ n1 sJ0    Y  d S )Nr5   é
   Úfoork   z4not all arguments converted during string formattingr{   )r   rc   rr   rƒ   Ú	TypeError)r;   r`   Ús1Ús2r…   r   r   r   Útest_series_integer_modÍ   s
    z,TestSeriesArithmetic.test_series_integer_modc                 C   sX   t ddgddgd�}t ddgddgd�}|| }t ddtjgg d¢d�}t ||¡ d S )Nr5   r+   rk   r�   é   é   )r5   r5   r+   )r   r   rV   r-   rX   )r;   r“   r”   r?   r@   r   r   r   Útest_add_with_duplicate_indexØ   s
    z2TestSeriesArithmetic.test_add_with_duplicate_indexc                 C   s„   ddl m} ddlm} t|dƒ|dƒg|dddƒ|dddƒgd	�}|| d¡ }| d¡| }t|d ƒspJ ‚t|d ƒs€J ‚d S )
Nr   ©Údate)ÚDecimalz1.3z2.3iÜ  r5   r+   rk   )Údatetimerš   Údecimalr›   r   Úshiftr   )r;   rš   r›   rY   r?   Úresult2r   r   r   Útest_add_na_handlingà   s    $ÿz)TestSeriesArithmetic.test_add_na_handlingc                 C   sN   t g tg ƒtjd�}|| }t |¡ ¡ s.J ‚|| ¡  }t|ƒdksJJ ‚d S )N)r`   Údtyper   )r   r   r   Zfloat64Úisnanr_   Úcopyr!   )r;   Údatetime_seriesÚemptyr?   r   r   r   Útest_add_corner_casesí   s
    z*TestSeriesArithmetic.test_add_corner_casesc                 C   sZ   |  t¡d d… }|| }t|jd d… |j |jd d… dd�}t |d d… |¡ d S )Néûÿÿÿr%   ©r`   rO   )ÚastypeÚintr   Úvaluesr`   r-   rX   )r;   r¤   Zint_tsÚaddedr@   r   r   r   Útest_add_float_plus_intö   s    ýz,TestSeriesArithmetic.test_add_float_plus_intc                 C   s>   t g g tjd�}t ddiƒ}t || t tjgdgd�¡ d S )N©r¡   r'   g        rk   )r   r   Zint32r-   rX   rV   )r;   r“   r”   r   r   r   Útest_mul_empty_int_corner_case  s    z3TestSeriesArithmetic.test_mul_empty_int_corner_casec                 C   sˆ   t tdddd�ƒ}tj|jd< |d d d… }t tdƒtdƒtjgƒ}|| }t 	||¡ t |dd�}| 
¡ | 
¡  d }t 	||¡ d S )	Nz2012-1-1rL   r}   ©Úperiodsrz   r+   éÿÿÿÿr   rN   )r   r   r   rV   r‚   r   r€   ZNaTr-   rX   Úto_frame)r;   ÚdtZdt2r@   r?   r   r   r   Útest_sub_datetimelike_align  s    z0TestSeriesArithmetic.test_sub_datetimelike_alignc                 C   sX   t dddd�}| d¡}td|d�}td|d�}||  |j|u sFJ ‚|j|u sTJ ‚d S )Nz
2016-01-01r�   ZCET)r±   ÚtzÚUTCrk   )r   Ú
tz_convertr   r`   )r;   ÚdtiZdti_utcrY   Úser_utcr   r   r   Útest_alignment_doesnt_change_tz  s    
z4TestSeriesArithmetic.test_alignment_doesnt_change_tzc                 C   s®   g d¢}t tjdddd�|d�}t tjddd�|d�}|| }t dg d¢d�}t ||¡ t tddd	�|d�}t td
dd	�|d�}|| }t tdƒg d¢d�}t ||¡ d S )N)r+   r+   rL   rL   rS   r5   rl   Zint64r®   rk   r,   z20130101 09:00:00©r±   Z20130101z9 hours)r   r   ro   r-   rX   r   r	   )r;   r`   rY   r=   r?   r@   r   r   r   Ú$test_arithmetic_with_duplicate_index#  s    z9TestSeriesArithmetic.test_arithmetic_with_duplicate_index)rF   rG   rH   r†   rr   rs   rt   r‰   rŽ   rc   r•   r˜   r    r¦   r­   r¯   rµ   r»   r½   r   r   r   r   rv   œ   s&   þþ


	rv   c                   @   sÞ   e Zd Zej dg d¢¡dd„ ƒZdd„ Zej dg d¢d	fg d
¢dfg d¢dfg d¢dfg d¢dfg d¢dfg¡dd„ ƒZej dg d¢d	dfg d¢ddfg d¢ddfg d¢ddfg d¢ddfg d¢ddfg¡dd„ ƒZ	dS )ÚTestSeriesFlexComparisonrn   )r   Nr`   c                 C   sN   t tj d¡ƒ}t tj d¡ƒ}t||jƒ||d�}|||ƒ}t ||¡ d S )Nr�   rm   )r   r   r   r�   r8   rF   r-   rX   )r;   rn   Úcomparison_opÚleftÚrightr?   r@   r   r   r   Útest_comparison_flex_basic<  s
    
z3TestSeriesFlexComparison.test_comparison_flex_basicc                 C   sj   t tj d¡ƒ}t tj d¡ƒ}d}tjt|d��$ t||jƒ|dd� W d   ƒ n1 s\0    Y  d S )Nr�   zNo axis named 1 for object typer{   r5   rm   )	r   r   r   r�   rr   rƒ   Ú
ValueErrorr8   rF   )r;   r¿   rÀ   rÁ   r…   r   r   r   Útest_comparison_bad_axisD  s
    z1TestSeriesFlexComparison.test_comparison_bad_axisz
values, op)FFTFÚeq)TTFTÚneÚle)FFFFÚlt)FTTFÚge)FTFFÚgtc                 C   sV   t g d¢tdƒd�}t g d¢tdƒd�}t||ƒ|ƒ}t |tdƒd�}t ||¡ d S )N©r5   rL   r+   Úabcrk   ©r+   r+   r+   ÚbcdÚabcd©r   Úlistr8   r-   rX   )r;   r«   r>   rÀ   rÁ   r?   r@   r   r   r   Útest_comparison_flex_alignmentL  s
    z7TestSeriesFlexComparison.test_comparison_flex_alignmentzvalues, op, fill_value)FFTTr+   )TTFFr   )FFFT)TTTFc                 C   sZ   t g d¢tdƒd�}t g d¢tdƒd�}t||ƒ||d�}t |tdƒd�}t ||¡ d S )NrË   rÌ   rk   rÍ   rÎ   rT   rÏ   rÐ   )r;   r«   r>   rU   rÀ   rÁ   r?   r@   r   r   r   Ú#test_comparison_flex_alignment_fill^  s
    z<TestSeriesFlexComparison.test_comparison_flex_alignment_fillN)
rF   rG   rH   rr   rs   rt   rÂ   rÄ   rÒ   rÓ   r   r   r   r   r¾   ;  s2   






úþ
úþr¾   c                
   @   s  e Z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	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej deg d¢edƒdd�eg d ¢ed!ƒdd�feg d¢edƒdd�eg d"¢ed#ƒdd�fg¡d$d%„ ƒZd&d'„ Zd(S ))ÚTestSeriesComparisonc                 C   s¤   t g d¢ƒ}t ddgƒ}d}tjt|d�� ||k  W d   ƒ n1 sH0    Y  t ddgƒ}t g d¢ƒ}tjt|d�� ||k W d   ƒ n1 s–0    Y  d S )	N©rg   rh   rŠ   rh   rg   z'only compare identically-labeled Seriesr{   r5   r+   )r+   rL   rS   )r   rr   rƒ   rÃ   )r;   rg   rh   r…   r   r   r   Ú test_comparison_different_lengthr  s    &z5TestSeriesComparison.test_comparison_different_lengthr.   )rÅ   rÆ   rÊ   rÈ   rÉ   rÇ   c                 C   sB   t g d¢tdƒd�}d}t||ƒ|ƒj}t d¡}||ks>J ‚d S )NrË   rL   rk   r+   Úbool)r   rc   r8   Údtypesr   r¡   )r;   r.   rY   Úconstr?   r@   r   r   r   Útest_ser_flex_cmp_return_dtypes~  s
    
z4TestSeriesComparison.test_ser_flex_cmp_return_dtypesc                 C   sP   t g d¢tdƒd�}|jd d… }d}t||ƒ|ƒj}t d¡}||ksLJ ‚d S )NrË   rL   rk   r   r+   r×   )r   rc   r‚   r8   rØ   r   r¡   )r;   r.   rY   r¥   rÙ   r?   r@   r   r   r   Ú%test_ser_flex_cmp_return_dtypes_empty‡  s    
z:TestSeriesComparison.test_ser_flex_cmp_return_dtypes_emptyÚnames))NNN)r‘   ÚbarN)ÚbazrÞ   rÞ   c           
      C   sn  |}t ddd|d d�}t|ƒ |d ¡}|||ƒ}|j|d ksFJ ‚| d¡}tj|d	d
�}t|ƒ |d ¡}|||ƒ}|j|d ksŒJ ‚|| d¡ }t|ƒ |d ¡}|||ƒ}|j|d ksÈJ ‚|tj	tj
fv �rtjdd|d d�}t|ƒ |d ¡}|||ƒ}|j|d k�sJ ‚|tj	tj
fv �rj| d¡}	t|	ƒ |d ¡}|||	ƒ}|j|d k�sjJ ‚d S )Nz1949-06-07 03:00:00ÚHr,   r   )rz   r±   rO   r5   r+   z
US/CentralZinferry   )Ústartr±   rO   Úcategory)r   r   r7   rO   Útz_localizer€   ZDatetimeIndexrž   r9   rÅ   rÆ   Zinterval_ranger©   )
r;   rÜ   r¿   r>   r¹   rY   r?   ZtdiÚiiZcidxr   r   r   Útest_ser_cmp_result_names‘  s0    






z.TestSeriesComparison.test_ser_cmp_result_namesc                 C   sÎ   t j d¡}t j d¡}t j|d d…< t ||¡}t jdd�� ||k d¡}W d   ƒ n1 sb0    Y  t j|d d…< t 	||¡ t
g d¢ƒ}t
g d¢ƒ}t
g d¢ƒ}t ||k|¡ t ||k|¡ d S )	Nr�   rL   r^   )ÚinvalidÚOrÕ   )FTF©FFF)r   r   r�   rV   r   Znangtrd   r©   r-   r:   r   rX   )r;   rÀ   rÁ   r?   r@   Úsr”   rZ   r   r   r   Útest_comparisons¹  s    ,z%TestSeriesComparison.test_comparisonsc                 C   s:  t tdƒdd�}t tdƒdd�}t g d¢dd�}t tdƒdd�}ttdƒƒ}ttdƒƒ}|dk ¡ rhJ ‚|dk|dk k ¡ s‚J ‚d|k ¡ r’J ‚|dkd s¢J ‚d|kd s²J ‚d|kd rÂJ ‚||k ¡ sÒJ ‚||k ¡ râJ ‚|t|ƒk ¡ söJ ‚||k ¡ �sJ ‚||k ¡ �sJ ‚||k ||kk ¡ �s6J ‚||k ||kk ¡ �sRJ ‚||k ¡ �rdJ ‚||k ¡ �rvJ ‚||k ¡ �rˆJ ‚||k ¡ �ršJ ‚||k ¡ �s¬J ‚||k ¡ �s¾J ‚||k ¡ �rÐJ ‚||k ¡ �râJ ‚||k ||kk ¡ �sþJ ‚||k ||kk ¡ �sJ ‚||k ||kk ¡ �s6J ‚||k ||kk ¡ �sRJ ‚d	}tjt|d
�� ||k  W d   ƒ n1 �s„0    Y  tjt|d
�� ||k  W d   ƒ n1 �s¼0    Y  tjt|d
�� ||k W d   ƒ n1 �sô0    Y  tjt|d
�� ||k W d   ƒ n1 �s,0    Y  d S )NrÌ   rá   r®   Úobject)rg   rh   ÚccZacbrg   r   ú can only compare equality or notr{   )r   rÑ   r   r_   rr   rƒ   r’   )r;   rg   rh   rŠ   r‹   rŒ   Úfr…   r   r   r   Útest_categorical_comparisonsÐ  sP    (((z1TestSeriesComparison.test_categorical_comparisonsc                 C   s¾  t ttdƒƒƒ}d}tjt|d�� |dk W d   ƒ n1 s@0    Y  t ttdƒdd�ƒ}tjt|d�� |dk W d   ƒ n1 sŠ0    Y  t ttdƒdd�ƒ}d}tjt|d�� |d	k  W d   ƒ n1 sØ0    Y  tjt|d�� |d	k W d   ƒ n1 �s0    Y  tjt|d�� d	|k  W d   ƒ n1 �sH0    Y  tjt|d�� d	|k W d   ƒ n1 �s€0    Y  t |d	kt g d
¢ƒ¡ t |d	kt g d¢ƒ¡ d S )NrÌ   rì   r{   rh   F)ZorderedTz1Invalid comparison between dtype=category and strr‹   rç   )TTT)r   r   rÑ   rr   rƒ   r’   r-   rX   )r;   Úcatr…   r   r   r   Ú5test_unequal_categorical_comparison_raises_type_error  s&    &&&(((zJTestSeriesComparison.test_unequal_categorical_comparison_raises_type_errorc                 C   sÜ   t ddgƒ}|dk}t ddgƒ}t ||¡ |dk}t ddgƒ}t ||¡ |dk}t ddgƒ}t ||¡ |dk}t ddgƒ}t ||¡ t ddgƒ}|dk}t ddgƒ}t ||¡ |dk}t ddgƒ}t ||¡ d S )N)r5   r5   )r5   r+   FT)r   r   rˆ   )r;   rè   r?   r@   r   r   r   Útest_comparison_tuples'  s(    z+TestSeriesComparison.test_comparison_tuplesc                 C   sD   t tdgƒtddgƒgƒ}|tdgƒk}t ddgƒ}t ||¡ d S )Nr5   r+   TF)r   Ú	frozensetr-   rX   ©r;   rY   r?   r@   r   r   r   Útest_comparison_frozensetF  s    z.TestSeriesComparison.test_comparison_frozensetc                 C   sˆ   t tddd�td�}tj|d d d…< |d }|||ƒ}|| ¡ |ƒ |j¡}|tj	u rh| 
d¡ t¡}n| 
d¡ t¡}t ||¡ d S )	Nrw   r�   r¼   r®   r+   r,   TF)r   r
   rê   r   rV   Zdropnarb   r`   r9   rÆ   rW   r©   r×   r-   rX   )r;   r¿   rY   Úvalr?   r@   r   r   r   Ú"test_comparison_operators_with_nasM  s    

z7TestSeriesComparison.test_comparison_operators_with_nasc                 C   sP   t g d¢g d¢td�}g d¢}t |jdk|¡s4J ‚t |jdk |¡sLJ ‚d S )N)rL   rS   r,   rl   é   r®   )TTFTTr,   )r   Úfloatr-   ZequalContentsr`   )r;   r%   r@   r   r   r   Útest_ne^  s    zTestSeriesComparison.test_nezleft, rightrK   ÚABCr'   r¨   rÍ   ZABD)r+   r+   r+   r+   ÚABCDc                 C   sr  d|j › d�}|tur&| ¡ }| ¡ }tjt|d�� ||k W d   ƒ n1 sR0    Y  tjt|d�� ||k W d   ƒ n1 sˆ0    Y  tjt|d�� ||k W d   ƒ n1 s¾0    Y  tjt|d�� ||k W d   ƒ n1 sô0    Y  tjt|d�� ||k  W d   ƒ n1 �s,0    Y  tjt|d�� ||k  W d   ƒ n1 �sd0    Y  d S )Nz%Can only compare identically-labeled z objectsr{   )rF   r   r³   rr   rƒ   rÃ   )r;   rÀ   rÁ   Zframe_or_seriesr…   r   r   r   Útest_comp_ops_df_compatd  s     &&&&(z,TestSeriesComparison.test_comp_ops_df_compatc                 C   s0   t g d¢ƒ}|dk}t g d¢ƒ}t ||¡ d S )N)Ú	IntervalAZ	IntervalBZ	IntervalCrý   )TFFrˆ   ró   r   r   r   Ú$test_compare_series_interval_keyword‡  s    z9TestSeriesComparison.test_compare_series_interval_keywordN)rF   rG   rH   rÖ   rr   rs   rt   rÚ   rÛ   rä   ré   rî   rð   rñ   rô   rö   rù   r   rÑ   rü   rþ   r   r   r   r   rÔ   q  s8   

	ÿ
%8þþûþ
rÔ   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestTimeSeriesArithmeticc           	      C   s¾   t ddddd�}tj d¡d d… }ttj d¡| |¡ d¡d�}tj d¡d d… }ttj d¡| |¡ d	¡d�}|| }| d¡}| d¡}|| }|jj	t
jks®J ‚t ||¡ d S )
Nú1/1/2011éd   rß   Úutc)r±   rz   r¶   éZ   z
US/Easternrk   zEurope/Berlin)r   r   r   r    r   r�   r   r¸   r`   r¶   Úpytzr·   r-   rX   )	r;   r„   ÚpermÚser1Úser2r?   Zuts1Zuts2r@   r   r   r   Ú+test_series_add_tz_mismatch_converts_to_utc–  s    ÿÿ

zDTestTimeSeriesArithmetic.test_series_add_tz_mismatch_converts_to_utcc                 C   s¤   t dddd�}ttj t|ƒ¡|d�}| d¡}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   r�   rß   r°   rk   r  z0Cannot join tz-naive with tz-aware DatetimeIndexr{   )
r   r   r   r   r�   r!   râ   rr   rƒ   Ú	Exception)r;   r„   rY   rº   r…   r   r   r   Ú"test_series_add_aware_naive_raises¬  s    
&z;TestTimeSeriesArithmetic.test_series_add_aware_naive_raisesc                 C   sH   t tddd�ƒ}tjjdd�}|| }t t g d¢¡ƒ}t ||¡ d S )Nz
2012-01-01rL   r¼   rl   )Údays)z
2011-12-26z
2011-12-27z
2011-12-28)r   r   r€   ÚoffsetsZ
DateOffsetÚto_datetimer-   rX   )r;   r<   Úoffsetr?   r@   r   r   r   Útest_datetime_understood¹  s
    z1TestTimeSeriesArithmetic.test_datetime_understoodc                 C   s�   t ddd�}ttj d¡|d�}|dd … }| ¡ }dd„ |jD ƒ|_|| }|| }||dd …  }|j d ¡|_t 	||¡ t 	||¡ d S )Nrw   é   r¼   rk   r,   c                 S   s   g | ]}|  ¡ ‘qS r   r™   )Ú.0r'   r   r   r   Ú
<listcomp>È  r)   zWTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindex.<locals>.<listcomp>)
r   r   r   r   r�   r£   r`   Z
_with_freqr-   rX   )r;   r„   r%   Zts_sliceZts2r?   rŸ   r@   r   r   r   Ú*test_align_date_objects_with_datetimeindexÂ  s    zCTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindexN)rF   rG   rH   r  r
  r  r  r   r   r   r   rÿ   •  s   	rÿ   c                	   @   sT   e Zd Zej deeej	e
eej	g¡ej dddg¡dd„ ƒƒZdd„ Zd	d
„ ZdS )ÚTestNamePreservationÚboxÚflexTFc                 C   sJ  |}t tdƒ|d d�}t tdƒ|d d�}|j d¡}	|	dv }
|
oL|	 d¡}||ƒ}|rr|
rbd S t||	ƒ|ƒ}nP|r‚|tu r‚tnd }d}tj	||d	�� |||ƒ}W d   ƒ n1 s¸0    Y  |tu rà|ràt
|tƒsÜJ ‚d S t
|t ƒsîJ ‚|tt fv �r"|j|d
 u �sF|j|d
 k�sFJ ‚n$|j|d u �sF|j|d k�sFJ ‚d S )Nr�   r   rN   r5   Ú_)ÚandZrandÚxorZrxorÚorZrorr6   z*operating as a set operation is deprecatedr{   r+   )r   rc   rF   ÚstripÚ
startswithr8   r   ÚFutureWarningr-   Zassert_produces_warningÚ
isinstancerO   )r;   r   r  r  rÜ   Zall_binary_operatorsr>   rÀ   rÁ   rO   Z
is_logicalZis_rlogicalr?   Úwarnr…   r   r   r   Útest_series_ops_name_retentionÓ  s,    (&z3TestNamePreservation.test_series_ops_name_retentionc                 C   s  || }|j |j ksJ ‚| |¡}|j |j ks2J ‚||d d…  }|j |j ksRJ ‚| ¡ }d|_ || }|j d u svJ ‚| |¡}|j d u sŽJ ‚g d¢}|dd„ |D ƒ }|D ]T}| ¡ }t||ƒ|ƒ}|j |j ksÖJ ‚| ¡ }d|_ t||ƒ|ƒ}|j d u s¬J ‚q¬d S )Néþÿÿÿzsomething else)r/   r0   r1   ru   r3   r2   Úmodr4   c                 S   s   g | ]}d | ‘qS )r6   r   )r  r>   r   r   r   r    r)   zGTestNamePreservation.test_binop_maybe_preserve_name.<locals>.<listcomp>Úchanged)rO   r1   r£   r/   r8   )r;   r¤   r?   Úcpr   r>   rY   r   r   r   Útest_binop_maybe_preserve_nameû  s,    

z3TestNamePreservation.test_binop_maybe_preserve_namec                 C   s   |d }|j |j ksJ ‚d S r*   rN   )r;   r¤   r?   r   r   r   Útest_scalarop_preserve_name  s    z0TestNamePreservation.test_scalarop_preserve_nameN)rF   rG   rH   rr   rs   rt   rÑ   Útupler   Úarrayr   r   r€   r   r%  r&  r   r   r   r   r  Ò  s
   & r  c                   @   s"   e Zd Zej dd¡dd„ ƒZdS )ÚTestInplaceOperationsz)dtype1, dtype2, dtype_expected, dtype_mul))ÚInt64r*  r*  r*  )rø   rø   rø   rø   )r*  rø   ÚFloat64r+  )r*  r+  r+  r+  c                 C   s†   t dg|d�}t dg|d�}||7 }t dg|d�}t ||¡ ||8 }t dg|d�}t ||¡ ||9 }t dg|d�}t ||¡ d S )Nr5   r®   r+   rL   rˆ   )r;   Zdtype1Zdtype2Zdtype_expectedZ	dtype_mulr  r  r@   r   r   r   Útest_series_inplace_ops!  s    z-TestInplaceOperations.test_series_inplace_opsN)rF   rG   rH   rr   rs   rt   r,  r   r   r   r   r)     s
   þ	r)  c                 C   s”  | }t |ƒdk rt d¡ tj|jd< |d k}|jd r<J ‚|jd rJJ ‚|d k}|jd s`J ‚|jd snJ ‚d |k}|jd r„J ‚|jd r’J ‚d |k}|jd s¨J ‚|jd s¶J ‚t|jƒsÌt	|jƒ�r@d}tj
t|d�� d |k W d   ƒ n1 sü0    Y  tj
t|d�� |d k W d   ƒ n1 �s40    Y  nPd |k}|jd �rXJ ‚|jd �rhJ ‚|d k }|jd �r€J ‚|jd �r�J ‚d S )Nr5   z%Test doesn't make sense on empty datar   zInvalid comparisonr{   )r!   rr   Úskipr   rV   r‚   Ziatr   r¡   r   rƒ   r’   )Zseries_with_simple_indexr<   r?   r…   r   r   r   Útest_none_comparison<  s8    
&*r.  c                  C   sÂ   t tdƒtjjtdƒtdƒddggg d¢d�d�} t d	d
„ tddƒD ƒtjjtdƒddggddgd�d�}| jtjdgd d …d d …f  | }t g d¢tjjg d¢g d¢d�d�}t	 
||¡ d S )Né   ÚabÚxyr5   r+   )r0  r1  Únum)rÜ   rk   c                 S   s   g | ]}d | ‘qS )éè  r   )r  ri   r   r   r   r  s  r)   z;test_series_varied_multiindex_alignment.<locals>.<listcomp>r,   r2  rg   )r3  iÑ  iº  i£  ))rg   r'   r5   )rg   r'   r+   )rg   r]   r5   )rg   r]   r+   )r   rc   r€   Z
MultiIndexZfrom_productrÑ   ÚlocZ
IndexSliceÚfrom_tuplesr-   rX   )r“   r”   r?   r@   r   r   r   Ú'test_series_varied_multiindex_alignmentj  s&    ÿþþ$þþr6  )*rœ   r   r9   Únumpyr   rr   r  Zpandas._libs.tslibsr   Zpandas.core.dtypes.commonr   r   Zpandasr€   r   r   r   r	   r
   r   r   Zpandas._testingZ_testingr-   Zpandas.corer   r   Zpandas.core.computationr   r   Zfixturer   r#   r$   rv   r¾   rÔ   rÿ   r  r)  r.  r6  r   r   r   r   Ú<module>   s8   $	ÿ
m  6  &=N.