o
    Û­j‚  ã                   @   sV  d dl mZmZmZ d dlmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlZd dlmZmZmZ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! e	j"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%d&„ Z.dS )'é    )ÚdateÚ	timedeltaÚtimezone)ÚDecimalN)Úlib)ÚIncompatibleFrequency)ÚCategoricalÚDatetimeTZDtypeÚIndexÚSeriesÚ	TimedeltaÚbdate_rangeÚ
date_rangeÚisna)Úops)Úexpressions)ÚNUMEXPR_INSTALLEDTi@B ÚnumexprÚpython)ÚautouseÚparamsÚidsc                 c   sF   � |  ¡ �}| td| j¡ d V  W d   ƒ d S 1 sw   Y  d S )NÚ_MIN_ELEMENTS)ÚcontextÚsetattrÚexprÚparam)ÚrequestÚmonkeypatchÚm© r    ú`/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/series/test_arithmetic.pyÚswitch_numexpr_min_elements    s
   €
"þr"   c                 C   s   |   tj d¡ t| ƒ¡¡S ©Né   )ÚtakeÚnpÚrandomÚdefault_rngÚ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 ]+Z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¡ qPej de¡dd„ ƒZdS )ÚTestSeriesFlexArithmeticÚtsc                 C   ó   | S ©Nr    ©Úxr    r    r!   Ú<lambda>/   ó    z!TestSeriesFlexArithmetic.<lambda>c                 C   s   | d S r#   r    r1   r    r    r!   r3   /   s    Fc                 C   r/   r0   r    r1   r    r    r!   r3   0   r4   c                 C   s   | d d d… S r#   r    r1   r    r    r!   r3   0   s    c                 C   r/   r0   r    r1   r    r    r!   r3   1   r4   c                 C   s   dS )Né   r    r1   r    r    r!   r3   1   r4   Tc                 C   ó   t tdƒtjd�S ©Né
   ©Údtype©r   Úranger&   Úfloat64r1   r    r    r!   r3   3   ó    c                 C   r6   r7   r;   r1   r    r    r!   r3   4   r>   Úopname)ÚaddÚsubÚmulÚfloordivÚtruedivÚpowc                 C   s°   t tjdtjd�tddd�dd�}|d |ƒ}|d |ƒ}|d	 }tt |ƒ}tt|ƒ}|||ƒ}	|||ƒ}
t |	|
¡ |rVtt d
| ƒ}|||ƒ}	|||ƒ}
t |	|
¡ d S d S )Né   r9   z
2020-01-01©Úperiodsr.   ©ÚindexÚnamer   é   r$   Úr)	r   r&   Úaranger=   r   ÚgetattrÚoperatorÚtmÚassert_almost_equal)Úselfr?   r.   ÚtserÚseriesÚotherÚcheck_reverseÚopÚaltÚresultÚexpectedÚropr    r    r!   Útest_flex_method_equivalence,   s&   
ý





üz5TestSeriesFlexArithmetic.test_flex_method_equivalencec                    sT   G ‡ fdd„dt ƒ‰ |}tt |ƒ}ˆ g d¢dd�}d|_||dƒ}|jdks(J ‚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>.MySeriesr2   c                    s   ˆ S r0   r    )rS   ©ÚMySeriesr    r!   Ú_constructorY   s   zgTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeries._constructorN)Ú__name__Ú
__module__Ú__qualname__Ú	_metadataÚpropertyr`   r    r^   r    r!   r_   V   s    r_   ©rL   r$   é   Útest©rK   é*   rL   )r   rO   r2   )rS   Úall_arithmetic_operatorsr?   rX   r   rZ   r    r^   r!   Ú/test_flex_method_subclass_metadata_preservationT   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   rL   rg   é   r5   r$   ©Ú
fill_value)r   r&   ÚnanÚfillnar@   rQ   Úassert_series_equal)rS   ÚserÚexpÚresr    r    r!   Útest_flex_add_scalar_fill_valued   s   z8TestSeriesFlexArithmetic.test_flex_add_scalar_fill_valuerL   )r@   rA   rB   rE   rD   rC   r   rM   c                 C   s   t t|ƒ|| ƒS r0   )rO   rP   )r2   ÚyrX   r    r    r!   r3   s   s    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   s8  |j  |j ¡}| |¡}| |¡}t|ƒ}t|ƒ}g }tt|ƒƒD ]f}	tjdd��V ||	 rK||	 r@| tj	¡ 	 W d   ƒ q!| ||||	 ƒ¡ n-||	 rl||	 ra| tj	¡ 	 W d   ƒ q!| |||	 |ƒ¡ n| |||	 ||	 ƒ¡ W d   ƒ n1 s‚w   Y  q!| |||d�}
t
||ƒ}t |
|¡ d S )NÚignore)Úallrn   )rJ   ÚunionÚreindexr   r<   r*   r&   ÚerrstateÚappendrp   r   rQ   rr   )ÚmethrX   ÚaÚbro   Ú	exp_indexÚamaskÚbmaskÚ
exp_valuesÚirZ   r[   r    r    r!   Ú_check_filly   s6   

ü÷
€ô€
zDTestSeriesFlexArithmetic.test_operators_combine.<locals>._check_fillç      ð?g       @g      @r5   ©rJ   rL   rg   ç      @é   rn   ©Úaxis)r   )r   r&   rp   rN   rQ   rr   )	rS   rX   Úequiv_opÚfvr†   r   r€   rZ   rt   r    r    r!   Útest_operators_combinew   s   
 $

z/TestSeriesFlexArithmetic.test_operators_combineN)ra   rb   rc   ÚpytestÚmarkÚparametrizer]   rl   rv   r   ÚdivrP   rD   Úrdivr   ÚrtruedivÚpairingsrX   rŽ   rO   ÚlopÚlequivr\   Úrequivr}   r�   r    r    r    r!   r-   +   s:    ýüþÿ

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%d&„ Zd'd(„ Zd)d*„ Zej d+d,d-g¡d.d/„ ƒZd0d1„ ZdS )2ÚTestSeriesArithmeticc                 C   sÒ   t jdddd�}ttj d¡ 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   ƒ d S 1 sbw   Y  d S )Nú1/1/2000z1/1/2010ÚY©Úfreqr$   rˆ   rL   z4Input has different freq=D from Period\(freq=Y-DEC\)©ÚmatchÚDÚend)Úhow)ÚpdÚperiod_ranger   r&   r'   r(   Ústandard_normalr*   rp   ÚilocrQ   rr   r,   r�   Úraisesr   Úasfreq)rS   Úrngr.   rZ   r[   Úmsgr    r    r!   Ú!test_add_series_with_period_index£   s   "ÿz6TestSeriesArithmetic.test_add_series_with_period_indexz%target_add,input_value,expected_valueú!ÚhelloÚworldzhello!zworld!r   ÚhellomÚworldmc                 C   s(   t |ƒ}|| }t |ƒ}t ||¡ d S r0   ©r   rQ   rr   )rS   Ú
target_addÚinput_valueÚexpected_valuer   rZ   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 )NrL   )r   r€   ÚcÚdrˆ   r$   )r   r€   r¸   Úer   )r   r&   rp   ÚdivmodrQ   rr   Úrdivmod)rS   r   r€   rZ   r[   r    r    r!   Útest_divmodÂ   s   



z TestSeriesArithmetic.test_divmodrJ   Né	   c                 C   sZ   t tddƒƒ}t d|d�}d}tjt|d�� ||  W d   ƒ d S 1 s&w   Y  d S )NrL   r8   Úfoorˆ   zHnot all arguments converted during string formatting|'mod' not supportedrŸ   )r   r<   r�   r¨   Ú	TypeError)rS   rJ   Ú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 )NrL   r$   rˆ   r8   é   é   )rL   rL   r$   )r   r&   rp   rQ   rr   )rS   rÀ   rÁ   rZ   r[   r    r    r!   Útest_add_with_duplicate_indexÜ   s
   z2TestSeriesArithmetic.test_add_with_duplicate_indexc                 C   sp   t tdƒtdƒgtdddƒtdddƒgd�}|| d¡ }| d¡| }t|jd ƒs-J ‚t|jd ƒs6J ‚d S )Nz1.3z2.3iÜ  rL   r$   rˆ   r   )r   r   r   Úshiftr   r§   )rS   rs   rZ   Ú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s%J ‚d S )N)rJ   r:   r   )r   r
   r&   r=   Úisnanry   Úcopyr*   )rS   Údatetime_seriesÚemptyrZ   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.   rI   )ÚastypeÚintr   ÚvaluesrJ   rQ   rr   )rS   rË   Ú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 )Nr9   r2   g        rˆ   )r   r&   Úint32rQ   rr   rp   )rS   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-1rg   r¡   ©rH   rž   r$   éÿÿÿÿr   ri   )r   r   r&   rp   r§   r   r¤   ÚNaTrQ   rr   Úto_frame)rS   ÚdtÚdt2r[   rZ   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 s#J ‚|j|u s*J ‚d S )Nz
2016-01-01r8   ÚCET)rH   ÚtzÚUTCrˆ   )r   Ú
tz_convertr   rJ   )rS   ÚdtiÚdti_utcrs   Úser_utcr    r    r!   Útest_alignment_doesnt_change_tz  s   
z4TestSeriesArithmetic.test_alignment_doesnt_change_tzc                 C   sŠ   t g d¢ƒ}td|d�}td|d d… d�}|| }dgd dgd  d	g }tj||jd
�}dgd tjg }t||ƒ}t ||¡ d S )N)Ú3z53ræ   ÚLoJGrç   rç   ÚN503r$   rˆ   rØ   ræ   rm   rç   r½   rè   )Ú
categoriesr‰   é   )	r   r   r¤   ÚCategoricalIndexré   r&   rp   rQ   rr   )rS   ÚcatÚser1Úser2rZ   r�   r„   r[   r    r    r!   Útest_alignment_categorical$  s   
z/TestSeriesArithmetic.test_alignment_categoricalc                 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$   rg   rg   rm   rL   rŠ   Úint64r9   rˆ   r5   z20130101 09:00:00rG   Ú20130101z9 hours)r   r&   rN   rQ   rr   r   r   )rS   rJ   rs   rV   rZ   r[   r    r    r!   Ú$test_arithmetic_with_duplicate_index2  s   z9TestSeriesArithmetic.test_arithmetic_with_duplicate_indexc                 C   sL   t dtjgdd�}t ddgdd�}|| }t dtjgdd�}t ||¡ d S )Nr   Úfloatr9   rL   ÚInt64ÚFloat64)r   r&   rp   r¤   ÚNArQ   rr   ©rS   rí   rî   rZ   r[   r    r    r!   Ú'test_masked_and_non_masked_propagate_naD  s
   z<TestSeriesArithmetic.test_masked_and_non_masked_propagate_nac                 C   sl   t dtjddgdd�}t ddtjdgƒ}|| }t dtjtjdgdd�}t ||¡ || }t ||¡ d S )Né   r5   rm   rô   r9   r‡   rõ   )r   r¤   rö   r&   rp   rQ   rr   r÷   r    r    r!   Ú+test_mask_div_propagate_na_for_non_na_dtypeL  s   z@TestSeriesArithmetic.test_mask_div_propagate_na_for_non_na_dtypez
val, dtype)rg   rô   )g      @rõ   c                 C   s^   t g d¢dd�}|dd |g }t dd d| g|d�}t ||¡ dd |g| }t ||¡ d S )N)rL   Nrg   rô   r9   rL   r$   rg   r²   )rS   Úvalr:   rs   rZ   r[   r    r    r!   Útest_add_list_to_masked_arrayW  s   z2TestSeriesArithmetic.test_add_list_to_masked_arrayc                 C   sÂ   |j jjdkrtrtnd }tg d¢dd�}t |¡� |g d¢ }W d   ƒ n1 s+w   Y  tg d¢dd�}t ||¡ t |¡� g d¢| }W d   ƒ n1 sTw   Y  t ||¡ d S )Nr   )TNFÚbooleanr9   )TNT)	ÚnodeÚcallspecÚidr   ÚUserWarningr   rQ   Úassert_produces_warningrr   )rS   r   Úwarningrs   rZ   r[   r    r    r!   Ú%test_add_list_to_masked_array_booleanb  s   ÿýÿÿz:TestSeriesArithmetic.test_add_list_to_masked_array_boolean)ra   rb   rc   r¬   r�   r‘   r’   r¶   r¼   r<   rÂ   rÅ   rÈ   rÍ   rÔ   rÖ   rÝ   rå   rï   rò   rø   rú   rü   r  r    r    r    r!   rš       s4    þþ



	

rš   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 )ÚTestSeriesFlexComparisonrŒ   )r   NrJ   c                 C   sZ   t tj d¡ d¡ƒ}t tj d¡ d¡ƒ}t||jƒ||d�}|||ƒ}t ||¡ d S )Nr$   r8   r‹   )	r   r&   r'   r(   r¦   rO   ra   rQ   rr   )rS   rŒ   Úcomparison_opÚleftÚrightrZ   r[   r    r    r!   Útest_comparison_flex_basicy  s
   
z3TestSeriesFlexComparison.test_comparison_flex_basicc                 C   sx   t tj d¡ d¡ƒ}t tj d¡ d¡ƒ}d}tjt|d�� t||j	ƒ|dd� W d   ƒ d S 1 s5w   Y  d S )Nr$   r8   zNo axis named 1 for object typerŸ   rL   r‹   )
r   r&   r'   r(   r¦   r�   r¨   Ú
ValueErrorrO   ra   )rS   r  r  r  r«   r    r    r!   Útest_comparison_bad_axis�  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©rL   rg   r$   Úabcrˆ   ©r$   r$   r$   ÚbcdÚabcd©r   ÚlistrO   rQ   rr   )rS   rÑ   rX   r  r  rZ   r[   r    r    r!   Útest_comparison_flex_alignment‰  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  rˆ   r  r  rn   r  r  )rS   rÑ   rX   ro   r  r  rZ   r[   r    r    r!   Ú#test_comparison_flex_alignment_fill›  s
   z<TestSeriesFlexComparison.test_comparison_flex_alignment_fillN)
ra   rb   rc   r�   r‘   r’   r	  r  r  r  r    r    r    r!   r  x  s4    






úþ
úþ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 s$w   Y  t ddgƒ}t g d¢ƒ}tjt|d�� ||k W d   ƒ d S 1 sLw   Y  d S )	N©r   r€   r·   r€   r   z'only compare identically-labeled SeriesrŸ   rL   r$   )r$   rg   rm   )r   r�   r¨   r
  )rS   r   r€   r«   r    r    r!   Ú test_comparison_different_length¯  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  rg   rˆ   r$   Úbool)r   r<   rO   Údtypesr&   r:   )rS   r?   rs   ÚconstrZ   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s&J ‚d S )Nr  rg   rˆ   r   r$   r  )r   r<   r§   rO   r  r&   r:   )rS   r?   rs   rÌ   r   rZ   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   sj  |}t ddd|d d�}t|ƒ |d ¡}|||ƒ}|j|d ks#J ‚| d¡}tj|d	d
�}t|ƒ |d ¡}|||ƒ}|j|d ksFJ ‚|| d¡ }t|ƒ |d ¡}|||ƒ}|j|d ksdJ ‚|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 r±| d¡}	t|	ƒ |d ¡}|||	ƒ}|j|d ks³J ‚d S d S )Nz1949-06-07 03:00:00Úhr5   r   )rž   rH   rK   rL   r$   z
US/CentralÚinferr�   )ÚstartrH   rK   Úcategory)r   r   ÚrenamerK   Útz_localizer¤   ÚDatetimeIndexrÆ   rP   r  r  Úinterval_rangerÏ   )
rS   r#  r  rX   râ   rs   rZ   ÚtdiÚiiÚcidxr    r    r!   Útest_ser_cmp_result_namesÎ  s4   






ûz.TestSeriesComparison.test_ser_cmp_result_namesc                 C   sH   t g d¢ƒ}t g d¢ƒ}t g d¢ƒ}t ||k|¡ t ||k|¡ d S )Nr  )FTF©FFFr²   )rS   ÚsrÁ   rt   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 ¡ r4J ‚|dk|dk k ¡ sAJ ‚d|k ¡ rIJ ‚|dkd sQJ ‚d|kd sYJ ‚d|kd raJ ‚||k ¡ siJ ‚||k ¡ rqJ ‚|t|ƒk ¡ s{J ‚||k ¡ sƒJ ‚||k ¡ s‹J ‚||k ||kk ¡ s˜J ‚||k ||kk ¡ s¥J ‚||k ¡ r­J ‚||k ¡ rµJ ‚||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 ¡ �sJ ‚||k ||kk ¡ �sJ ‚d	}tjt|d
�� ||k  W d   ƒ n	1 �s4w   Y  tjt|d
�� ||k  W d   ƒ n	1 �sPw   Y  tjt|d
�� ||k W d   ƒ n	1 �slw   Y  tjt|d
�� ||k W d   ƒ d S 1 �s‰w   Y  d S )Nr  r)  r9   Úobject)r   r€   ÚccÚacbr   r   ú can only compare equality or notrŸ   )r   r  r   ry   r�   r¨   r¿   )rS   r   r€   r·   r¸   r¹   Úfr«   r    r    r!   Útest_categorical_comparisons  sX   
ÿ
ÿ
ÿ
$ÿz1TestSeriesComparison.test_categorical_comparisonsc                 C   s¸  t ttdƒƒƒ}d}tjt|d�� |dk W d   ƒ n1 s w   Y  t ttdƒdd�ƒ}tjt|d�� |dk W d   ƒ n1 sEw   Y  t ttdƒdd�ƒ}d}tjt|d�� |d	k  W d   ƒ n1 slw   Y  tjt|d�� |d	k W d   ƒ n1 s‡w   Y  tjt|d�� d	|k  W d   ƒ n1 s¢w   Y  tjt|d�� d	|k W d   ƒ n1 s½w   Y  t |d	kt g d
¢ƒ¡ t |d	kt g d¢ƒ¡ d S )Nr  r8  rŸ   r€   F)ÚorderedTz1Invalid comparison between dtype=category and strr¸   r2  )TTT)r   r   r  r�   r¨   r¿   rQ   rr   )rS   rì   r«   r    r    r!   Ú5test_unequal_categorical_comparison_raises_type_error:  s2   
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ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)rL   rL   )rL   r$   FT)r   r   r²   )rS   r3  rZ   r[   r    r    r!   Útest_comparison_tuplesY  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 )NrL   r$   TF)r   Ú	frozensetrQ   rr   ©rS   rs   rZ   r[   r    r    r!   Útest_comparison_frozensetx  s   z.TestSeriesComparison.test_comparison_frozensetc                 C   sº   t tddd�td�}tj|d d d…< |d }|||ƒ}|| ¡ |ƒ |j¡}d}tj	t
|d�� |tju r>| d	¡ t¡}n| d
¡ t¡}W d   ƒ n1 sPw   Y  t ||¡ d S )Nr›   r8   rG   r9   r$   r5   zDowncasting object dtype arraysrŸ   TF)r   r   r5  r&   rp   Údropnar{   rJ   rQ   r  ÚFutureWarningrP   r  rq   rÏ   r  rr   )rS   r  rs   rû   rZ   r[   r«   r    r    r!   Ú"test_comparison_operators_with_nas  s   

€üz7TestSeriesComparison.test_comparison_operators_with_nasc                 C   sN   t g d¢g d¢td�}t g d¢¡}t |jdk|¡ t |jdk |¡ d S )N)rg   rm   r5   rŠ   é   r9   )TTFTTr5   )r   ró   r&   ÚarrayrQ   Úassert_numpy_array_equalrJ   )rS   r.   r[   r    r    r!   Útest_ne’  s   zTestSeriesComparison.test_nezleft, rightrf   ÚABCr2   rI   r  ÚABD)r$   r$   r$   r$   ÚABCDc                 C   s€  |t urd|j› d�}| ¡ }| ¡ }nd|j› d�}tjt|d�� ||k W d   ƒ n1 s1w   Y  tjt|d�� ||k W d   ƒ n1 sLw   Y  tjt|d�� ||k W d   ƒ n1 sgw   Y  tjt|d�� ||k W d   ƒ n1 s‚w   Y  tjt|d�� ||k  W d   ƒ n1 s�w   Y  tjt|d�� ||k  W d   ƒ d S 1 s¹w   Y  d S )Nz@Can only compare identically-labeled \(both index and columns\) z objectsz%Can only compare identically-labeled rŸ   )r   ra   rÚ   r�   r¨   r
  )rS   r  r  Úframe_or_seriesr«   r    r    r!   Útest_comp_ops_df_compat˜  s6   ÿÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
"ÿz,TestSeriesComparison.test_comp_ops_df_compatc                 C   s0   t g d¢ƒ}|dk}t g d¢ƒ}t ||¡ d S )N)Ú	IntervalAÚ	IntervalBÚ	IntervalCrM  )TFFr²   r?  r    r    r!   Ú$test_compare_series_interval_keywordÄ  s   z9TestSeriesComparison.test_compare_series_interval_keywordN)ra   rb   rc   r  r�   r‘   r’   r!  r"  r1  r4  r:  r<  r=  r@  rC  rG  r   r  rL  rP  r    r    r    r!   r  ®  s:    

	ÿ
%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 d… }ttj d¡ d¡| |¡ d¡d	�}tj d¡ d¡d d… }ttj d¡ d¡| |¡ d
¡d	�}|| }| d¡}| d¡}|| }| 	¡ }|j
jtju sgJ ‚t ||¡ d S )Nú1/1/2011éd   r&  Úutc)rH   rž   rß   r$   éZ   z
US/Easternrˆ   zEurope/Berlin)r   r&   r'   r(   r)   r   r¦   r%   rá   Ú
sort_indexrJ   rß   r   rT  rQ   rr   )	rS   rª   Úpermrí   rî   rZ   Úuts1Ú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 d¡ t|ƒ¡|d�}| d¡}d}tj	t
|d	�� ||  W d   ƒ n1 s3w   Y  tj	t
|d	�� ||  W d   ƒ d S 1 sOw   Y  d S )
NrR  r8   r&  r×   r$   rˆ   rT  z0Cannot join tz-naive with tz-aware DatetimeIndexrŸ   )r   r   r&   r'   r(   r¦   r*   r+  r�   r¨   Ú	Exception)rS   rª   rs   rä   r«   r    r    r!   Ú"test_series_add_aware_naive_raisesî  s   

ÿ
"ÿz;TestTimeSeriesArithmetic.test_series_add_aware_naive_raisesc                 C   sT   t tdd|d�ƒ}tjjdd�}|| }t g d¢¡ |¡}t |ƒ}t ||¡ d S )Nz
2012-01-01rg   )rH   ÚunitrŠ   )Údays)z
2011-12-26z
2011-12-27z
2011-12-28)	r   r   r¤   ÚoffsetsÚ
DateOffsetÚto_datetimeÚas_unitrQ   rr   )rS   r]  rU   ÚoffsetrZ   Úexp_dtir[   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d„ |jD ƒ|_|| }|| }||dd …  }|j d ¡|_t	 
||¡ t	 
||¡ d S )	Nr›   rF   rG   r$   rˆ   r5   c                 S   s   g | ]}|  ¡ ‘qS r    )r   )Ú.0r2   r    r    r!   Ú
<listcomp>  ó    zWTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindex.<locals>.<listcomp>)r   r   r&   r'   r(   r¦   rÊ   rJ   Ú
_with_freqrQ   rr   )rS   rª   r.   Úts_sliceÚts2rZ   rÇ   r[   r    r    r!   Ú*test_align_date_objects_with_datetimeindex  s   zCTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindexN)ra   rb   rc   rZ  r\  re  rl  r    r    r    r!   rQ  Ò  s
    rQ  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   s"  |}t tdƒ|d d�}t tdƒ|d d�}|j d¡}|dv }	d}
d }|ttfv r.|	r.t}||ƒ}|r@|	r8d S t||ƒ|ƒ}ntj	||
d�� |||ƒ}W d   ƒ n1 sWw   Y  t
|t ƒscJ ‚|tt fv r}|j|d	 u sy|j|d	 ks{J ‚d S d S |j|d u s�|j|d ks�J ‚d S d S )
Nr8   r   ri   rL   Ú_)ÚandÚrandÚxorÚrxorÚorÚrorzLLogical ops \(and, or, xor\) between Pandas objects and dtype-less sequencesrŸ   r$   )r   r<   ra   Ústripr  ÚtuplerB  rO   rQ   r  Ú
isinstancer
   rK   )rS   ro  rn  r#  Úall_binary_operatorsrX   r  r  rK   Ú
is_logicalr«   ÚwarnrZ   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sJ ‚||d d…  }|j |j ks)J ‚| ¡ }d|_ || }|j d u s;J ‚| |¡}|j d u sGJ ‚g d¢}|dd„ |D ƒ }|D ]*}| ¡ }t||ƒ|ƒ}|j |j kskJ ‚| ¡ }d|_ t||ƒ|ƒ}|j d u s€J ‚qVd S )Néþÿÿÿzsomething else)r@   rA   rB   r“   rD   rC   ÚmodrE   c                 S   s   g | ]}d | ‘qS )rM   r    )rf  rX   r    r    r!   rg  Q  rh  zGTestNamePreservation.test_binop_maybe_preserve_name.<locals>.<listcomp>Úchanged)rK   rB   rÊ   r@   rO   )rS   rË   rZ   Úcpr   rX   rs   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#   ri   )rS   rË   rZ   r    r    r!   Útest_scalarop_preserve_name^  s   z0TestNamePreservation.test_scalarop_preserve_nameN)ra   rb   rc   r�   r‘   r’   r  rx  r&   rE  r
   r   r¤   r}  r‚  rƒ  r    r    r    r!   rm    s    # rm  c                   @   s"   e Zd Zej dd¡dd„ ƒZdS )ÚTestInplaceOperationsz)dtype1, dtype2, dtype_expected, dtype_mul))rô   rô   rô   rô   )ró   ró   ró   ró   )rô   ró   rõ   rõ   )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 )NrL   r9   r$   rg   r²   )rS   Údtype1Údtype2Údtype_expectedÚ	dtype_mulrí   rî   r[   r    r    r!   Útest_series_inplace_opsd  s   z-TestInplaceOperations.test_series_inplace_opsN)ra   rb   rc   r�   r‘   r’   r‰  r    r    r    r!   r„  c  s    þ	r„  c                 C   sœ  |}t |ƒdk r|  tjjdd�¡ tj|jd< |d k}|jd r#J ‚|jd r*J ‚|d k}|jd s5J ‚|jd s<J ‚d |k}|jd rGJ ‚|jd rNJ ‚d |k}|jd sYJ ‚|jd s`J ‚t	 
|jd¡smt|jtƒr¨d}tjt|d�� d |k W d   ƒ n1 s…w   Y  tjt|d�� |d k W d   ƒ d S 1 s¡w   Y  d S d |k}|jd r³J ‚|jd rºJ ‚|d k }|jd rÅJ ‚|jd rÌJ ‚d S )NrL   z%Test doesn't make sense on empty data)Úreasonr   ÚMzInvalid comparisonrŸ   )r*   Úapplymarkerr�   r‘   Úxfailr&   rp   r§   Úiatr   Úis_np_dtyper:   ry  r	   r¨   r¿   )r   Úseries_with_simple_indexrU   rZ   r«   r    r    r!   Útest_none_comparison  s@   ÿ
ÿ
"ÿ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ÚxyrL   r$   )r“  r”  Únum)r#  rˆ   c                 S   s   g | ]}d | ‘qS )éè  r    )rf  r…   r    r    r!   rg  ¸  rh  z;test_series_varied_multiindex_alignment.<locals>.<listcomp>r5   r•  r   )r–  iÑ  iº  i£  ))r   r2   rL   )r   r2   r$   )r   rw   rL   )r   rw   r$   )r   r<   r¤   Ú
MultiIndexÚfrom_productr  ÚlocÚ
IndexSliceÚfrom_tuplesrQ   rr   )rÀ   rÁ   rZ   r[   r    r    r!   Ú'test_series_varied_multiindex_alignment¯  s&   ÿþþ$þþrœ  c                  C   s2   t dgd ƒ d¡} t dgd ƒ}t | |¡ d S )Nr$   i'  rØ   rL   )r   ÚrmodrQ   rr   )rZ   r[   r    r    r!   Ú!test_rmod_consistent_large_seriesÆ  s   rž  )/Údatetimer   r   r   Údecimalr   rP   Únumpyr&   r�   Úpandas._libsr   Úpandas._libs.tslibsr   Úpandasr¤   r   r	   r
   r   r   r   r   r   Úpandas._testingÚ_testingrQ   Úpandas.corer   Úpandas.core.computationr   r   Úpandas.core.computation.checkr   Úfixturer"   r,   r-   rš   r  r  rQ  rm  r„  r‘  rœ  rž  r    r    r    r!   Ú<module>   s:    (

u Y6  &FK0