a
    d                     @   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)Zautouseparamsidsc                 c   s    t j}| jt _| jV  |t _d S N)expr_MIN_ELEMENTSparam)requestr    r   l/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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 ]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>0       z!TestSeriesFlexArithmetic.<lambda>c                 C   s   | d S r   r   r+   r   r   r   r-   0   r.   Fc                 C   s   | S r   r   r+   r   r   r   r-   1   r.   c                 C   s   | d d d S r   r   r+   r   r   r   r-   1   r.   c                 C   s   | S r   r   r+   r   r   r   r-   2   r.   c                 C   s   dS )N   r   r+   r   r   r   r-   2   r.   Tc                 C   s   t  S r   )tmZmakeFloatSeriesr+   r   r   r   r-   3   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)r0   ZmakeTimeSeriesrenamegetattrr   operatorZassert_almost_equal)selfr1   r*   ZtserseriesotherZcheck_reverseopZ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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   _constructorR   s    zgTestSeriesFlexArithmetic.test_flex_method_subclass_metadata_preservation.<locals>.MySeries._constructorN)__name__
__module____qualname__	_metadatapropertyrG   r   rE   r   r   rF   O   s   rF   r8   r       testname*   r8   )r   r;   r,   )r=   Zall_arithmetic_operatorsr1   r@   mrA   r   rE   r   /test_flex_method_subclass_metadata_preservationM   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   r8   rN      r/   r    
fill_value)r   r"   nanfillnar2   r0   assert_series_equal)r=   serexpresr   r   r   test_flex_add_scalar_fill_value]   s    z8TestSeriesFlexArithmetic.test_flex_add_scalar_fill_valuer8   )r2   r3   r4   r7   r6   r5   r   r9   c                 C   s   t t||| S r   )r;   r<   )r,   yr@   r   r   r   r-   l   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)allrV   )indexunionreindexr   ranger&   r"   ZerrstateappendrX   r   r0   rZ   )methr@   abrW   	exp_indexZamaskZbmask
exp_valuesirA   rB   r   r   r   _check_fillr   s,    

:
zDTestSeriesFlexArithmetic.test_operators_combine.<locals>._check_fill      ?g       @g      @r/   rb   r8   rN         @   rV   axis)r   )r   r"   rX   aranger0   rZ   )	r=   r@   Zequiv_opfvrm   rh   ri   rA   r\   r   r   r   test_operators_combinep   s    
 $

z/TestSeriesFlexArithmetic.test_operators_combineN)rH   rI   rJ   pytestmarkparametrizerD   rT   r^   r   divr<   r6   Zrdivr   ZrtruedivZpairingsr@   ru   r;   ZlopZlequivrC   Zrequivrf   rv   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%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    n1 s0    Y  d S )N1/1/2000z1/1/2010Afreqr    ro   r8   z4Input has different freq=D from Period\(freq=A-DEC\)matchDend)how)pdZperiod_ranger   r"   r#   r$   standard_normalr&   rX   ilocr0   rZ   r(   rw   raisesr   Zasfreq)r=   rngr*   rA   rB   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!rS   ZhellomZworldmc                 C   s(   t |}|| }t |}t|| d S r   r   r0   rZ   )r=   Z
target_addZinput_valueZexpected_valuerh   rA   rB   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 )Nr8   )rh   ri   cdro   r    )rh   ri   r   er   )r   r"   rX   divmodr0   rZ   Zrdivmod)r=   rh   ri   rA   rB   r   r   r   test_divmod   s    



z TestSeriesArithmetic.test_divmodrb   N	   c                 C   sX   t tdd}t d|d}d}tjt|d ||  W d    n1 sJ0    Y  d S )Nr8   
   fooro   z4not all arguments converted during string formattingr   )r   re   rw   r   	TypeError)r=   rb   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 )Nr8   r    ro   r         )r8   r8   r    )r   r"   rX   r0   rZ   )r=   r   r   rA   rB   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 sZJ t|jd slJ d S )Nz1.3z2.3i  r8   r    ro   r   )r   r   r   shiftr   r   )r=   r[   rA   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)rb   dtyper   )r   r
   r"   float64isnanra   copyr&   )r=   datetime_seriesemptyrA   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*   rb   rQ   )astypeintr   valuesrb   r0   rZ   )r=   r   Zint_tsaddedrB   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        ro   )r   r"   int32r0   rZ   rX   )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-1rN   r   periodsr   r    r   rP   )r   r   r"   rX   r   r   r   ZNaTr0   rZ   to_frame)r=   dtZdt2rB   rA   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UTCro   )r   
tz_convertr   rb   )r=   dtiZdti_utcr[   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    ro   r   r   rU   r   r   r   )
categoriesrp      )	r   r   r   ZCategoricalIndexr   r"   rX   r0   rZ   )r=   catser1ser2rA   rj   rk   rB   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    rN   rN   rU   r8   rq   int64r   ro   r/   z20130101 09:00:00r   Z20130101z9 hours)r   r"   rt   r0   rZ   r   r   )r=   rb   r[   r?   rA   rB   r   r   r   $test_arithmetic_with_duplicate_index+  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   floatr   r8   Int64Float64)r   r"   rX   r   NAr0   rZ   r=   r   r   rA   rB   r   r   r   'test_masked_and_non_masked_propagate_na=  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   r/   rU   r   r   rn   r   )r   r   r   r"   rX   r0   rZ   r   r   r   r   +test_mask_div_propagate_na_for_non_na_dtypeE  s    z@TestSeriesArithmetic.test_mask_div_propagate_na_for_non_na_dtypez
val, dtype)rN   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)r8   NrN   r   r   r8   r    rN   r   )r=   valr   r[   rA   rB   r   r   r   test_add_list_to_masked_arrayP  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 sV0    Y  tg ddd}t|| t| g d| }W d    n1 s0    Y  t|| d S )Nr   )TNFbooleanr   )TNT)	nodeZcallspecidr   UserWarningr   r0   assert_produces_warningrZ   )r=   r   warningr[   rA   rB   r   r   r   %test_add_list_to_masked_array_boolean[  s    **z:TestSeriesArithmetic.test_add_list_to_masked_array_boolean)rH   rI   rJ   r   rw   rx   ry   r   r   re   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r{      s2   



	

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 )TestSeriesFlexComparisonrs   )r   Nrb   c                 C   sZ   t tjdd}t tjdd}t||j||d}|||}t|| d S )Nr    r   rr   )	r   r"   r#   r$   r   r;   rH   r0   rZ   )r=   rs   comparison_opleftrightrA   rB   r   r   r   test_comparison_flex_basicr  s
    
z3TestSeriesFlexComparison.test_comparison_flex_basicc                 C   sv   t tjdd}t tjdd}d}tjt|d$ t||j	|dd W d    n1 sh0    Y  d S )Nr    r   zNo axis named 1 for object typer   r8   rr   )
r   r"   r#   r$   r   rw   r   
ValueErrorr;   rH   )r=   r   r   r   r   r   r   r   test_comparison_bad_axisz  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r8   rN   r    abcro   r    r    r    bcdabcdr   listr;   r0   rZ   )r=   r   r@   r   r   rA   rB   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   ro   r   r   rV   r   r   )r=   r   r@   rW   r   r   rA   rB   r   r   r   #test_comparison_flex_alignment_fill  s
    z<TestSeriesFlexComparison.test_comparison_flex_alignment_fillN)
rH   rI   rJ   rw   rx   ry   r   r   r   r   r   r   r   r   r   q  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rh   ri   r   ri   rh   z'only compare identically-labeled Seriesr   r8   r    )r    rN   rU   )r   rw   r   r   )r=   rh   ri   r   r   r   r    test_comparison_different_length  s    &z5TestSeriesComparison.test_comparison_different_lengthr1   )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   rN   ro   r    bool)r   re   r;   dtypesr"   r   )r=   r1   r[   constrA   rB   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   rN   ro   r   r    r   )r   re   r   r;   r   r"   r   )r=   r1   r[   r   r   rA   rB   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   )r   r   rQ   r8   r    z
US/CentralZinferr~   )startr   rQ   category)r   r   r:   rQ   tz_localizer   ZDatetimeIndexr   r<   r   r   Zinterval_ranger   )
r=   r   r   r@   r   r[   rA   ZtdiiiZcidxr   r   r   test_ser_cmp_result_names  s0    






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   )r=   sr   r\   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)rh   ri   ccZacbrh   r    can only compare equality or notr   )r   r   r   ra   rw   r   r   )r=   rh   ri   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   ri   F)ZorderedTz1Invalid comparison between dtype=category and strr   r  )TTT)r   r   r   rw   r   r   r0   rZ   )r=   r   r   r   r   r   5test_unequal_categorical_comparison_raises_type_error3  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)r8   r8   )r8   r    FT)r   r   r   )r=   r  rA   rB   r   r   r   test_comparison_tuplesR  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 )Nr8   r    TF)r   	frozensetr0   rZ   r=   r[   rA   rB   r   r   r   test_comparison_frozensetq  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 )	Nr|   r   r   r   r    r/   TF)r   r   r  r"   rX   Zdropnard   rb   r<   r   rY   r   r   r0   rZ   )r=   r   r[   r   rA   rB   r   r   r   "test_comparison_operators_with_nasx  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)rN   rU   r/   rq      r   )TTFTTr/   )r   r   r0   ZequalContentsrb   )r=   r*   rB   r   r   r   test_ne  s    zTestSeriesComparison.test_nezleft, rightrM   ABCr,   r   r   Z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 sb0    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 s>0    Y  tjt|d ||k  W d    n1 sv0    Y  d S )Nz@Can only compare identically-labeled \(both index and columns\) z objectsz%Can only compare identically-labeled r   )r   rH   r   rw   r   r   )r=   r   r   Zframe_or_seriesr   r   r   r   test_comp_ops_df_compat  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)rH   rI   rJ   r   rw   rx   ry   r   r   r  r  r	  r
  r  r  r  r  r   r   r  r  r   r   r   r   r     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 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 sJ t|| d S )N1/1/2011d   r   utc)r   r   r   r    Z   z
US/Easternro   zEurope/Berlin)r   r"   r#   r$   r%   r   r   r!   r   rb   r   r   r  r0   rZ   )	r=   r   permr   r   rA   Zuts1Zuts2rB   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 sf0    Y  tj	t
|d	 ||  W d    n1 s0    Y  d S )
Nr  r   r   r   r    ro   r  z0Cannot join tz-naive with tz-aware DatetimeIndexr   )r   r   r"   r#   r$   r   r&   r   rw   r   	Exception)r=   r   r[   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-01rN   r   rq   )days)z
2011-12-26z
2011-12-27z
2011-12-28)r   r   r   offsetsZ
DateOffsetto_datetimer0   rZ   )r=   r>   offsetrA   rB   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|      r   r    ro   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   rb   Z
_with_freqr0   rZ   )r=   r   r*   Zts_sliceZts2rA   r   rB   r   r   r   *test_align_date_objects_with_datetimeindex  s    zCTestTimeSeriesArithmetic.test_align_date_objects_with_datetimeindexN)rH   rI   rJ   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   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|	rpd S t|||}n8tj	||
d |||}W d    n1 s0    Y  t
|t sJ |tt fv r|j|d	 u s|j|d	 ksJ n$|j|d u s|j|d ksJ d S )
Nr   r   rP   r8   _)andZrandxorZrxororZrorzLLogical ops \(and, or, xor\) between Pandas objects and dtype-less sequencesr   r    )r   re   rH   stripr   tupleFutureWarningr;   r0   r   
isinstancer
   rQ   )r=   r+  r*  r   Zall_binary_operatorsr@   r   r   rQ   Z
is_logicalr   warnrA   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)r2   r3   r4   rz   r6   r5   modr7   c                 S   s   g | ]}d | qS )r9   r   )r&  r@   r   r   r   r'  A  r.   zGTestNamePreservation.test_binop_maybe_preserve_name.<locals>.<listcomp>changed)rQ   r4   r   r2   r;   )r=   r   rA   cpr   r@   r[   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   rP   )r=   r   rA   r   r   r   test_scalarop_preserve_nameN  s    z0TestNamePreservation.test_scalarop_preserve_nameN)rH   rI   rJ   rw   rx   ry   r   r1  r"   arrayr
   r   r   r5  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))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 )Nr8   r   r    rN   r   )r=   Zdtype1Zdtype2Zdtype_expectedZ	dtype_mulr   r   rB   r   r   r   test_series_inplace_opsT  s    z-TestInplaceOperations.test_series_inplace_opsN)rH   rI   rJ   rw   rx   ry   r>  r   r   r   r   r=  S  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dst|jtrTd}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  nPd |k}|j	d rlJ |j	d r|J |d k }|j	d rJ |j	d rJ d S )Nr8   z%Test doesn't make sense on empty data)reasonr   MzInvalid comparisonr   )r&   r   Z
add_markerrw   rx   Zxfailr"   rX   r   Ziatr   Zis_np_dtyper   r3  r	   r   r   )r   Zseries_with_simple_indexr>   rA   r   r   r   r   test_none_comparisono  s<    (*rA  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xyr8   r    )rC  rD  num)r   ro   c                 S   s   g | ]}d | qS )  r   )r&  rl   r   r   r   r'    r.   z;test_series_varied_multiindex_alignment.<locals>.<listcomp>r/   rE  rh   )rF  i  i  i  ))r,   r8   rh   )r,   r    rh   )r_   r8   rh   )r_   r    rh   )rD  rE  rC  )r   re   r   Z
MultiIndexZfrom_productr   locZ
IndexSlicefrom_tuplesr0   rZ   )r   r   rA   rB   r   r   r   'test_series_varied_multiindex_alignment  s&    $rI  c                  C   s2   t dgd d} t dgd }t| | d S )Nr    i'  r   r8   )r   Zrmodr0   rZ   )rA   rB   r   r   r   !test_rmod_consistent_large_series  s    rJ  )/datetimer   r   r   decimalr   r<   numpyr"   rw   Zpandas._libsr   Zpandas._libs.tslibsr   Zpandasr   r   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingr0   Zpandas.corer   Zpandas.core.computationr   r   Zpandas.core.computation.checkr   Zfixturer   r(   r)   r{   r   r   r  r)  r=  rA  rI  rJ  r   r   r   r   <module>   s8   (

m Y6  $?K0