o
    h                     @   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    w/var/www/html/construction_image-detection-poc/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 sw   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   s^   t tdd}t d|d}d}tjttf|d ||  W d    d S 1 s(w   Y  d S )NrL   r8   foor   z<not all arguments converted during string formatting|mod notr   )r   r<   r   r   	TypeErrorNotImplementedError)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 )Nr.   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 rtjdd|d d}t||d }|||}|j|d ksJ |tj	tj
fv r|d}	t|	|d }|||	}|j|d ksJ 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   s  t g d}t g d}t g d}|rwdd l}d}tj|jj|d ||k W d    n1 s2w   Y  tjtddd	. tj|jj|d ||k W d    n1 sXw   Y  W d    d S W d    d S 1 spw   Y  d S t	||k| t	||k| d S )
Nr  )FTFFFFr   zhas no kernelr   
comparisonF)r   check_stacklevel)
r   pyarrowr   r   r   ArrowNotImplementedErrorrQ   r  DeprecationWarningrr   )rS   using_infer_stringsr   rt   par   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 sJ ||k sJ ||k ||kk sJ ||k ||kk sJ ||k rJ ||k rJ ||k rJ ||k rJ ||k sJ ||k sJ ||k rJ ||k rJ ||k ||kk sJ ||k ||kk sJ ||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 sw   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 sw   Y  tjt|d d	|k  W d    n1 sw   Y  tjt|d d	|k W d    n1 sw   Y  t|d	kt g d
 t|d	kt g d d S )Nr  r@  r   r   F)orderedTz1Invalid comparison between dtype=category and strr   r3  )TTT)r   r   r  r   r   r   rQ   rr   )rS   r   r   r    r    r!   5test_unequal_categorical_comparison_raises_type_errorG  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   r:  rZ   r[   r    r    r!   test_comparison_tuplesf  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_frozenset  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   r=  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 sw   Y  tjt|d ||k  W d    n1 sw   Y  tjt|d ||k  W d    d S 1 sw   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	IntervalCrU  )TFFr   rG  r    r    r!   $test_compare_series_interval_keyword  s   z9TestSeriesComparison.test_compare_series_interval_keywordN)ra   rb   rc   r  r   r   r   r"  r#  r2  r<  rB  rD  rE  rH  rK  rO  r   r  rT  rX  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/2011d   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   r\  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 )
NrZ  r8   r'  r   r$   r   r\  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   re  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   rb  rd  rm  rt  r    r    r    r!   rY    s
    rY  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sJ 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  tuplerJ  rO   rQ   r  
isinstancer
   rK   )rS   rw  rv  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 sJ qVd S )Nzsomething else)r@   rA   rB   r   rD   rC   modrE   c                 S   s   g | ]}d | qS )rM   r    )rn  rX   r    r    r!   ro  ^  rp  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_nameK  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_namek  s   z0TestNamePreservation.test_scalarop_preserve_nameN)ra   rb   rc   r   r   r   r  r  r&   rM  r
   r   r   r  r  r  r    r    r    r!   ru  %  s    # ru  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_opsq  s   z-TestInplaceOperations.test_series_inplace_opsN)ra   rb   rc   r   r   r   r  r    r    r    r!   r  p  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rd}tjt|d d |k W d    n1 sw   Y  tjt|d |d k W d    d S 1 sw   Y  d S d |k}|jd rJ |jd rJ |d k }|jd rJ |jd rJ 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:   r  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    )rn  r   r    r    r!   ro    rp  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  rY  ru  r  r  r  r  r    r    r    r!   <module>   s:    (

u Y6  3FK0