a
    j=icu                     @   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paramsZidsc                 c   s    t j}| jt _| jV  |t _d S N)expr_MIN_ELEMENTSparam)requestr    r   t/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/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 qe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 |	|
 |rt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propertyrD   r   rB   r   r   rC   R   s   rC   r4   r*      testname*   r4   )r   r7   r&   )r:   Zall_arithmetic_operatorsr-   r=   mr>   r   rB   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   r4   rK      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_valuer4   )r.   r/   r0   r3   r2   r1   r   r5   c                 C   s   t t||| S r   )r7   r8   )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)allrS   )indexunionreindexr   ranger    r   errstateappendrU   r   r,   rW   )methr=   abrT   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_   r4   rK   g      @   rS   axis)r   )r   r   rU   aranger,   rW   )	r:   r=   Zequiv_opfvri   rf   rg   r>   rY   r   r   r   test_operators_combines   s    
 $

z/TestSeriesFlexArithmetic.test_operators_combineN)rE   rF   rG   pytestmarkparametrizerA   rQ   r[   r   divr8   r2   Zrdivr   ZrtruedivZpairingsr=   ro   r7   lopZlequivr@   Zrequivrd   rp   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 s0    Y  d S )N1/1/2000z1/1/2010Afreqrj   r*   r4   z4Input has different freq=D from Period\(freq=A-DEC\)matchDend)how)pdZperiod_ranger   r   r   randnr    rU   ilocr,   rW   r"   rq   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!rP   ZhellomZworldmc                 C   s(   t |}|| }t |}t|| d S r   r   r,   rW   )r:   Z
target_addZinput_valueZexpected_valuerf   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 )Nr4   )rf   rg   cdrj   r*   )rf   rg   r   er   )r   r   rU   divmodr,   rW   Zrdivmod)r:   rf   rg   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 )Nr4   
   foorj   z4not all arguments converted during string formattingr{   )r   rb   rq   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 )Nr4   r*   rj   r         )r4   r4   r*   )r   r   rU   r,   rW   )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 sJ d S )
Nr   date)Decimalz1.3z2.3i  r4   r*   rj   )datetimer   decimalr   r   shiftr   )r:   r   r   rX   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   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 )Nr$   r_   rN   )astypeintr   valuesr_   r,   rW   )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        rj   )r   r   int32r,   rW   rU   )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-1rK   r}   periodsrz   r*   r   rM   )r   r   r   rU   r   r   r   ZNaTr,   rW   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UTCrj   )r   
tz_convertr   r_   )r:   dtiZdti_utcrX   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*   rK   rK   rR   r4   rk   int64r   rj   r+   z20130101 09:00:00r   Z20130101z9 hours)r   r   rn   r,   rW   r   r	   )r:   r_   rX   r<   r>   r?   r   r   r   $test_arithmetic_with_duplicate_index#  s    z9TestSeriesArithmetic.test_arithmetic_with_duplicate_index)rE   rF   rG   r   rq   rr   rs   r   r   rb   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 )TestSeriesFlexComparisonrm   )r   Nr_   c                 C   sN   t tjd}t tjd}t||j||d}|||}t|| d S )Nr   rl   )r   r   r   r   r7   rE   r,   rW   )r:   rm   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{   r4   rl   )	r   r   r   r   rq   r   
ValueErrorr7   rE   )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r4   rK   r*   abcrj   r*   r*   r*   bcdabcdr   listr7   r,   rW   )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   rj   r   r   rS   r   r   )r:   r   r=   rT   r   r   r>   r?   r   r   r   #test_comparison_flex_alignment_fill^  s
    z<TestSeriesFlexComparison.test_comparison_flex_alignment_fillN)
rE   rF   rG   rq   rr   rs   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 s0    Y  d S )	Nrf   rg   r   rg   rf   z'only compare identically-labeled Seriesr{   r4   r*   )r*   rK   rR   )r   rq   r   r   )r:   rf   rg   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   rK   rj   r*   bool)r   rb   r7   dtypesr   r   )r:   r-   rX   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   rK   rj   r   r*   r   )r   rb   r   r7   r   r   r   )r:   r-   rX   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sJ ||d }t||d }|||}|j|d ksJ |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   rN   r4   r*   z
US/CentralZinferry   )startr   rN   category)r   r   r6   rN   tz_localizer   ZDatetimeIndexr   r8   r   r   Zinterval_ranger   )
r:   r   r   r=   r   rX   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   rK   r]   )invalidOr   )FTFFFF)r   r   r   rU   r   Znangtrc   r   r,   r9   r   rW   )r:   r   r   r>   r?   sr   rY   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 sJ d|k rJ |dkd sJ d|kd sJ d|kd rJ ||k sJ ||k rJ |t|k sJ ||k sJ ||k sJ ||k ||kk s6J ||k ||kk sRJ ||k rdJ ||k rvJ ||k rJ ||k rJ ||k sJ ||k sJ ||k rJ ||k rJ ||k ||kk sJ ||k ||kk sJ ||k ||kk s6J ||k ||kk sRJ d	}tjt|d
 ||k  W d    n1 s0    Y  tjt|d
 ||k  W d    n1 s0    Y  tjt|d
 ||k W d    n1 s0    Y  tjt|d
 ||k W d    n1 s,0    Y  d S )Nr   r   r   object)rf   rg   ccZacbrf   r    can only compare equality or notr{   )r   r   r   r^   rq   r   r   )r:   rf   rg   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 s0    Y  t ttddd}d}tjt|d |d	k  W d    n1 s0    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 s0    Y  t|d	kt g d
 t|d	kt g d d S )Nr   r   r{   rg   F)ZorderedTz1Invalid comparison between dtype=category and strr   r   )TTT)r   r   r   rq   r   r   r,   rW   )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)r4   r4   )r4   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 )Nr4   r*   TF)r   	frozensetr,   rW   r:   rX   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   rU   Zdropnara   r_   r8   r   rV   r   r   r,   rW   )r:   r   rX   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)rK   rR   r+   rk      r   )TTFTTr+   )r   floatr,   ZequalContentsr_   )r:   r$   r?   r   r   r   test_ne^  s    zTestSeriesComparison.test_nezleft, rightrJ   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 s0    Y  tjt|d ||k W d    n1 s0    Y  tjt|d ||k W d    n1 s0    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{   )rE   r   r   rq   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)rE   rF   rG   r   rq   rr   rs   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sJ t|| d S )
N1/1/2011d   r   utc)r   rz   r   Z   z
US/Easternrj   zEurope/Berlin)r   r   r   r   r   r   r   r   r_   r   pytzr   r,   rW   )	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 s0    Y  d S )	Nr  r   r   r   rj   r  z0Cannot join tz-naive with tz-aware DatetimeIndexr{   )
r   r   r   r   r   r    r   rq   r   	Exception)r:   r   rX   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-01rK   r   rk   )days)z
2011-12-26z
2011-12-27z
2011-12-28)r   r   r   offsetsZ
DateOffsetto_datetimer,   rW   )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   rj   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,   rW   )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)rE   rF   rG   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 rtnd }d}tj	||d	 |||}W d    n1 s0    Y  |tu r|
rt
|tsJ d S t
|t sJ |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   rM   r4   _)andZrandxorZrxororZrorr5   z*operating as a set operation is deprecatedr{   r*   )r   rb   rE   strip
startswithr7   r   FutureWarningr,   Zassert_produces_warning
isinstancerN   )r:   r  r  r   Zall_binary_operatorsr=   r   r   rN   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 sJ g d}|dd |D  }|D ]T}| }t|||}|j |j ksJ | }d|_ t|||}|j d u sJ qd S )Nzsomething else)r.   r/   r0   rt   r2   r1   modr3   c                 S   s   g | ]}d | qS )r5   r   )r  r=   r   r   r   r    r(   zGTestNamePreservation.test_binop_maybe_preserve_name.<locals>.<listcomp>changed)rN   r0   r   r.   r7   )r:   r   r>   cpr   r=   rX   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)   rM   )r:   r   r>   r   r   r   test_scalarop_preserve_name  s    z0TestNamePreservation.test_scalarop_preserve_nameN)rE   rF   rG   rq   rr   rs   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 )Nr4   r   r*   rK   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)rE   rF   rG   rq   rr   rs   r/  r   r   r   r   r,    s
   	r,  c                 C   s  |}t |dk r&| jtjjdd tj|jd< |d k}|j	d rHJ |j	d rVJ |d k}|j	d slJ |j	d szJ d |k}|j	d rJ |j	d rJ d |k}|j	d sJ |j	d sJ t
|jst|jrNd}tjt|d d |k W d    n1 s
0    Y  tjt|d |d k W d    n1 sB0    Y  nPd |k}|j	d rfJ |j	d rvJ |d k }|j	d rJ |j	d rJ d S )Nr4   z%Test doesn't make sense on empty data)reasonr   zInvalid comparisonr{   )r    nodeZ
add_markerrq   rr   Zxfailr   rU   r   Ziatr   r   r   r   r   )r   Zseries_with_simple_indexr;   r>   r   r   r   r   test_none_comparison:  s<    (*r2  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xyr4   r*   )r4  r5  num)r   rj   c                 S   s   g | ]}d | qS )  r   )r  rh   r   r   r   r  s  r(   z;test_series_varied_multiindex_alignment.<locals>.<listcomp>r+   r6  rf   )r7  i  i  i  ))r&   r4   rf   )r&   r*   rf   )r\   r4   rf   )r\   r*   rf   )r5  r6  r4  )r   rb   r   Z
MultiIndexZfrom_productr   locZ
IndexSlicefrom_tuplesr,   rW   )r   r   r>   r?   r   r   r   'test_series_varied_multiindex_alignmentj  s&    $r:  )*r   r   r8   numpyr   rq   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,  r2  r:  r   r   r   r   <module>   s8   $	
m  6  &=L0