U
    ÎZj²Å  ã                   @  s  U d dl mZ d dlmZ d dlmZ d dlZd dlmZ d dl	Z
d dlZd dlZd dl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mZmZ d d	lmZ d d
l m!Z!m"Z" ej#eeej$gd�dd„ ƒZ%dd„ Z&dd„ Z'eegZ(de)d< edddƒgZ*de)d< e* +dd„ dD ƒ¡ G dd„ dƒZ,G dd„ dƒZ-G dd„ dƒZ.G d d!„ d!ƒZ/G d"d#„ d#ƒZ0G d$d%„ d%ƒZ1G d&d'„ d'ƒZ2G d(d)„ d)ƒZ3d*d+„ Z4d,d-„ Z5ej6 7d.d d/d0gd d0d1gfg¡d2d3„ ƒZ8d4d5„ Z9ej6 7d6d/d0d7g¡ej6 7d8d d/d0d7g¡d9d:„ ƒƒZ:dS );é    )Úannotations)Úabc)ÚDecimalN)ÚAny)ÚIndexÚ
RangeIndexÚSeriesÚ	TimedeltaÚTimedeltaIndexÚarray)Úops)ÚFloat64IndexÚ
Int64IndexÚUInt64Index)Úexpressions)Úassert_invalid_addsub_typeÚassert_invalid_comparison)Úparamsc                 C  s   | j S )zL
    Fixture to test behavior for Index, Series and tm.to_array classes
    )Úparam)Úrequest© r   úg/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/pandas/tests/arithmetic/test_numeric.pyÚbox_pandas_1d_array%   s    r   c                 C  s8   t  t  | ¡¡ ¡ r4t  t  | ¡¡ ¡ s,t‚|d9 }|S )z_
    Helper to adjust the expected result if we are dividing by -0.0
    as opposed to 0.0
    éÿÿÿÿ)ÚnpZsignbitr   ÚanyÚallÚAssertionError)ÚzeroÚexpectedr   r   r   Úadjust_negative_zero-   s    r    c                 C  sˆ   |t jtjfkrt | ¡n| }|t jtjfkr8t |¡n|}|||ƒ}| ||¡}t|tƒrx|j	 
| j	¡sx|j	 d ¡|_	t ||¡ d S ©N)r   ÚrpowÚoperatorÚpowr   ÚabsÚcombineÚ
isinstancer   ÚindexÚequalsÚ
_with_freqÚtmÚassert_series_equal)ÚseriesÚotherÚopÚleftÚrightZcython_or_numpyÚpythonr   r   r   Ú
compare_op<   s    
r3   z	list[Any]Úser_or_indexé
   é(   Úleftsc                 C  s(   g | ] }t D ]}|d ddg|d�‘qqS )r5   é   é   ©Údtype)r4   )Ú.0r;   Úclsr   r   r   Ú
<listcomp>M   s    þr>   )Úi1Úi2Úi4Úi8Úu1Úu2Zu4Úu8Úf2Zf4Úf8c                   @  s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestNumericComparisonsc                 C  s°   t  d¡tdddgƒk}dtdddgƒk}t ||¡ tdddgƒt  d¡k }tdddgƒdk }t ||¡ t  dddg¡d tdddgƒk}dtdddgƒk}t ||¡ d S )Nr   é   é   é   ç        )r   Úfloat64r   r+   r,   r   )ÚselfÚresultr   r   r   r   Ú(test_operator_series_comparison_zerorankY   s    "z?TestNumericComparisons.test_operator_series_comparison_zerorankc                 C  s.   |}t  tdƒ¡}t ||¡}t|||ƒ d S ©Né   )r   r   Úranger+   Úbox_expectedr   )rN   Úbox_with_arrayÚfixed_now_tsÚtsÚobjr   r   r   Útest_df_numeric_cmp_dt64_raisese   s    z6TestNumericComparisons.test_df_numeric_cmp_dt64_raisesc                 C  sL   t tj d¡dd�}t tj d¡ƒ}t d¡|_t || d||  ¡ d S )NrR   r   ©Únamez
2000-01-01rI   )	r   r   ÚrandomÚrandnÚpdÚ	Timestampr[   r+   r,   )rN   ÚaÚbr   r   r   Útest_compare_invalidm   s    z+TestNumericComparisons.test_compare_invalidc              	   C  s¬   |}|t k	r|ntj}ttj d¡ƒ}tj||dd�}|dk}ttjdt	d�ƒ}tj||dd�}t 
||¡ |dk}t 
|| ¡ d}tjt|d�� |dk  W 5 Q R X d S )Ni † F©Z	transposer`   r:   z0Invalid comparison between dtype=float64 and str©Úmatch)r   r   Zndarrayr   r\   r]   r+   rT   ÚzerosÚboolÚassert_equalÚpytestÚraisesÚ	TypeError)rN   rU   ÚboxZxboxrX   rO   r   Úmsgr   r   r   Ú$test_numeric_cmp_string_numexpr_pathu   s    z;TestNumericComparisons.test_numeric_cmp_string_numexpr_pathN)Ú__name__Ú
__module__Ú__qualname__rP   rY   rb   rn   r   r   r   r   rH   X   s   rH   c                   @  sê  e Zd Zej dejee	g¡ejjde
dd„ d�dd„ ƒƒZej dejee	g¡ejjde
dd„ d�d	d
„ ƒƒZejjdedd�edd� ¡ edd� ¡ edd� ¡  d¡edd� ¡  d¡gdd„ d�dd„ ƒZejjdedd�edd� ¡ edd� ¡ gdd„ d�ej dejejg¡dd„ ƒƒZdd„ Zej dedd�edd� ¡ edd� ¡ edd� ¡  d¡e d¡e dd¡ej d¡ej d ¡ejd!d"d#�e d!¡e d!¡ ¡ ejd!d$d#� ¡ e d!¡ ¡ e dd%¡ejg¡d&d'„ ƒZ d(S ))Ú.TestNumericArraylikeArithmeticWithDatetimeLikeÚbox_clsr0   c                 C  s   t | ƒjt| jƒ S r!   ©Útypero   Ústrr;   ©Úxr   r   r   Ú<lambda>’   ó    z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>©Zidsc                 C  sp   t jdddgdd�}||ƒ}tdddgƒ}t|tƒs<|tkrDt|ƒ}|| }t ||¡ || }t ||¡ d S )	NrI   rJ   rK   úm8[s]r:   Z10sZ40sZ90s)r   r   r
   r'   r   r+   rh   )rN   r0   rs   r1   r   rO   r   r   r   Útest_mul_td64arr�   s    z?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arrc                 C  s   t | ƒjt| jƒ S r!   rt   rw   r   r   r   ry   ¥   rz   c              	   C  s¸   t jdddgdd�}||ƒ}tdddgƒ}t|tƒs<|tkrDt|ƒ}|| }t ||¡ || }t ||¡ d	}tjt	|d
�� ||  W 5 Q R X tjt	|d
�� ||  W 5 Q R X d S )Nr5   r6   éZ   r|   r:   Z1sZ2sZ3szCannot dividerd   )
r   r   r
   r'   r   r+   rh   ri   rj   rk   )rN   r0   rs   r1   r   rO   rm   r   r   r   Útest_div_td64arr£   s    z?TestNumericArraylikeArithmeticWithDatetimeLike.test_div_td64arrÚ	scalar_tdrI   ©Údaysztimedelta64[s]ztimedelta64[ms]c                 C  s
   t | ƒjS r!   ©ru   ro   rw   r   r   r   ry   È   rz   c           	      C  sf   |}|}t dd„ tt|ƒƒD ƒƒ}t ||¡}t ||¡}|| }t ||¡ || }t ||¡ d S )Nc                 S  s   g | ]}t |d �‘qS )r�   )r	   )r<   Únr   r   r   r>   Î   s     z`TestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar.<locals>.<listcomp>)r
   rS   Úlenr+   rT   rh   )	rN   r€   Únumeric_idxrU   rl   r(   r   rO   Zcommuter   r   r   Útest_numeric_arr_mul_tdscalar¿   s    zLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalarc                 C  s
   t | ƒjS r!   rƒ   rw   r   r   r   ry   à   rz   r;   c           
      C  s„   |}t  d¡jt jdd�}|j|dd�}tj||dd�}| d¡ d¡}tj||dd�}|| }	t |	|¡ || }	t |	|¡ d S )Ni N  F©Úcopyrc   ztimedelta64[D]ztimedelta64[ns])r   ÚarangeÚastypeÚint64r+   rT   Úviewrh   )
rN   r;   r€   rU   rl   Zarr_i8ÚarrrX   r   rO   r   r   r   Ú*test_numeric_arr_mul_tdscalar_numexpr_pathÙ   s    zYTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar_numexpr_pathc           	   	   C  sr   |}|dd… }t ddgƒ}t ||¡}t ||¡}|| }t ||¡ d}tjt|d�� ||  W 5 Q R X d S )NrI   rK   z3 Daysz36 Hoursú$cannot use operands with types dtyperd   )r
   r+   rT   rh   ri   rj   rk   )	rN   Z
three_daysr†   rU   rl   r(   r   rO   rm   r   r   r   Útest_numeric_arr_rdiv_tdscalarö   s    zMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalarr.   é   )Úhourszm8[h]ÚNaTÚDrK   r   z
2021-01-01z
Asia/Tokyo)ÚtzÚUTCÚnsc                 C  s<   |}t  ||¡}d dddddddd	d
g	¡}t|||ƒ d S )Nú|úunsupported operand typez3Addition/subtraction of integers and integer-arrayszInstead of adding/subtractingr�   z;Concatenation operation is not implemented for NumPy arraysz+Cannot (add|subtract) NaT (to|from) ndarrayzBoperand type\(s\) all returned NotImplemented from __array_ufunc__z(can only perform ops with numeric valuesz*cannot subtract DatetimeArray from ndarray)r+   rT   Újoinr   )rN   r†   r.   rU   rl   r0   rm   r   r   r   Ú&test_add_sub_datetimedeltalike_invalid  s    öÿzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalidN)!ro   rp   rq   ri   ÚmarkÚparametrizer   r   r   r   r7   r}   r   r	   Zto_timedelta64Zto_pytimedeltar‹   r‡   rŒ   rM   r�   r‘   Ztimedelta64r^   ÚoffsetsZMinuteZSecondr_   Úto_pydatetimeZto_datetime64Z
datetime64r”   rœ   r   r   r   r   rr   �   sp     ÿ  ÿû÷
ýù	



ïþrr   c                   @  sö   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zej 	d	e
je
jg¡d
d„ ƒZej 	dejejejg¡dd„ ƒZej 	dejejej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d'd(„ Zd)d*„ Z d+S ),ÚTestDivisionByZeroc                 C  sv   |}t tjtjtjtjtjgtjd�}t||ƒ}|| }t ||¡ t|ƒ 	d¡t 
|¡ 	d¡ }t |t|ƒ¡ d S ©Nr:   rB   ©r   r   ÚnanÚinfrM   r    r+   Úassert_index_equalr   r‹   r   r,   ©rN   r   r†   Úidxr   Z	expected2rO   Ú
ser_compatr   r   r   Útest_div_zero9  s    "
z TestDivisionByZero.test_div_zeroc                 C  sv   |}t tjtjtjtjtjgtjd�}t||ƒ}|| }t ||¡ t|ƒ 	d¡t 
|¡ 	d¡ }t |t|ƒ¡ d S r¢   r£   r§   r   r   r   Útest_floordiv_zeroF  s    "
z%TestDivisionByZero.test_floordiv_zeroc                 C  sl   |}t tjtjtjtjtjgtjd�}|| }t ||¡ t|ƒ d¡t |¡ d¡ }t 	|t|ƒ¡ d S r¢   )
r   r   r¤   rM   r+   r¦   r   r‹   r   r,   )rN   r   r†   r¨   r   rO   r©   r   r   r   Útest_mod_zeroS  s    "z TestDivisionByZero.test_mod_zeroc                 C  s€   |}t tjtjtjtjtjgtjd�}t tjtjtjtjtjgtjd�}t||ƒ}t||ƒ}t |d |¡ t |d |¡ d S )Nr:   r   rI   )	r   r   r¤   r¥   rM   r    Údivmodr+   r¦   )rN   r   r†   r¨   ZexleftZexrightrO   r   r   r   Útest_divmod_zero\  s    ""

z#TestDivisionByZero.test_divmod_zeror/   c                 C  sb   t |tƒrd S |d }ttj tj tj tjtjgtjd�}t||ƒ}|||ƒ}t 	||¡ d S )NrK   r:   )
r'   r   r   r   r¥   r¤   rM   r    r+   r¦   )rN   r   r†   r/   r¨   r   rO   r   r   r   Útest_div_negative_zerog  s    
(

z)TestDivisionByZero.test_div_negative_zeroÚdtype1c           	   	   C  sÔ   |}t ddddgdd� |¡}t ddddgdd� |¡}tjd	d
��$ t |j tj¡|j dd d�}W 5 Q R X tj|jdd…< |jdkrª|jdkrªt	j
rª|dkrª| d¡}|| }t ||¡ | || ¡rÐt‚d S )NrK   é   rR   é   ÚfirstrZ   r   ÚsecondÚignore©r   rM   )r;   r[   rŒ   Zfloat32)r   r‹   r   ÚerrstateÚvaluesrM   r¥   Úilocr;   ÚexprZUSE_NUMEXPRr+   r,   r)   r   )	rN   Zswitch_numexpr_min_elementsr°   Úany_real_numpy_dtypeÚdtype2r³   r´   r   rO   r   r   r   Útest_ser_div_serv  s     ý
z#TestDivisionByZero.test_ser_div_serc                 C  sÌ   |}t ddgƒ |¡}t ddgƒ |¡}|| || f}t|ƒ}|d  tj¡|d< tj|d d< t||ƒ}t |d |d ¡ t |d |d ¡ t|j	|ƒ}t |d |d ¡ t |d |d ¡ d S )NrI   r   rJ   )
r   r‹   Úlistr   rM   r¥   r­   r+   r,   r¸   )rN   r°   r»   r¼   r0   r1   r   rO   r   r   r   Útest_ser_divmod_zero”  s    
z'TestDivisionByZero.test_ser_divmod_zeroc                 C  s–   t tjdgƒ}t tjdgƒ}|| || f}t||ƒ}t |d |d ¡ t |d |d ¡ t|j|ƒ}t |d |d ¡ t |d |d ¡ d S )Nç      ð?ç       @r   rI   )r   r   r¥   r­   r+   r,   r¸   )rN   r0   r1   r   rO   r   r   r   Útest_ser_divmod_inf«  s    
z&TestDivisionByZero.test_ser_divmod_infc                 C  sz   t  dgd ¡}t j d¡}tdgd ƒ}|t|ƒ }t ||¡ t|ƒ| }t ||¡ t|ƒt|ƒ }t ||¡ d S )Nr   rR   rL   )r   r   r\   r]   r   r+   r,   )rN   Z
zero_arrayÚdatar   rO   r   r   r   Útest_rdiv_zero_compatº  s    z(TestDivisionByZero.test_rdiv_zero_compatc                 C  sD   t dddgdd�}t tj tjtjgdd�}|d }t ||¡ d S ©Nr   r   rI   r³   rZ   ©r   r   r¥   r¤   r+   r,   ©rN   Úserr   rO   r   r   r   Útest_div_zero_inf_signsÉ  s    z*TestDivisionByZero.test_div_zero_inf_signsc                 C  s>   t dddgdd�}t dtjdgdd�}d| }t ||¡ d S )Nr   r   rI   r³   rZ   rL   )r   r   r¤   r+   r,   rÇ   r   r   r   Útest_rdiv_zeroÑ  s    z!TestDivisionByZero.test_rdiv_zeroc                 C  sD   t dddgdd�}|d }t tj tjtjgdd�}t ||¡ d S rÅ   rÆ   )rN   rÈ   rO   r   r   r   r   Útest_floordiv_divÙ  s    z$TestDivisionByZero.test_floordiv_divc                 C  sn   t  ddddgddddgdœ¡}|| }tddddgƒ}ttjtjtjdgƒ}t  ||dœ¡}t ||¡ d S )	NrK   r±   rR   r²   r   ©r³   r´   rÀ   rI   )r^   Ú	DataFramer   r   r¤   r+   Úassert_frame_equal)rN   ÚdfrO   r³   r´   r   r   r   r   Útest_df_div_zero_dfá  s     z&TestDivisionByZero.test_df_div_zero_dfc              	   C  s¤   t  ddddgddddgdœ¡}tddddgƒ}ttjtjtjdgƒ}t  ||dœ¡}tjd	d
�� |j d¡|j }W 5 Q R X t j||j|j	d�}t
 ||¡ d S )NrK   r±   rR   r²   r   rÌ   rÀ   rI   rµ   r¶   Úfloat©r(   Úcolumns)r^   rÍ   r   r   r¤   r·   r¸   r‹   r(   rÓ   r+   rÎ   )rN   rÏ   r³   r´   r   rŽ   rO   r   r   r   Útest_df_div_zero_arrayë  s     z)TestDivisionByZero.test_df_div_zero_arrayc              	   C  sª   t  ddddgddddgdœ¡}|d }t jtj|j|jd�}tj|jdd…df< t 	||¡ tj
d	d
�� |j d¡d }W 5 Q R X t j||j|jd�}t 	||¡ d S )NrK   r±   rR   r²   r   rÌ   rÒ   rI   rµ   r¶   rM   )r^   rÍ   r   r¥   r(   rÓ   r¤   r¹   r+   rÎ   r·   r¸   r‹   ©rN   rÏ   rO   r   rŽ   Úresult2r   r   r   Útest_df_div_zero_intø  s     z'TestDivisionByZero.test_df_div_zero_intc                 C  sJ   t  tj dd¡¡}|d }|| }|| }| d¡ | d¡¡rFt‚d S ©Nr5   rR   r   ©r^   rÍ   r   r\   r]   Zfillnar)   r   ©rN   rÏ   rÈ   ÚresZres2r   r   r   Ú(test_df_div_zero_series_does_not_commute  s
    z;TestDivisionByZero.test_df_div_zero_series_does_not_commutec                 C  sî   t  ddddgddddgdœ¡}tddddgƒ}|s>| d¡}ttjtjtjdgƒ}t  ||dœ¡}|| }t ||¡ t jddddgddddgdœdd	�}tddddgd
d�}ttjtjtjdgƒ}t  ||dœ¡}|| }t ||¡ d S )NrK   r±   rR   r²   r   rÌ   rM   Frˆ   rŒ   r:   )r^   rÍ   r   r‹   r   r¤   r+   rÎ   )rN   Zusing_array_managerrÏ   r³   r´   r   rO   r   r   r   Útest_df_mod_zero_df  s     
$z&TestDivisionByZero.test_df_mod_zero_dfc              	   C  s¸   t  ddddgddddgdœ¡}tddddgdd�}ttjtjtjdgƒ}t  ||dœ¡}tjd	d
�� |j|j }W 5 Q R X t j||j|jdd�}tj|j	dd…df< t
 ||¡ d S )NrK   r±   rR   r²   r   rÌ   rM   r:   rµ   r¶   )r(   rÓ   r;   rI   )r^   rÍ   r   r   r¤   r·   r¸   r(   rÓ   r¹   r+   rÎ   )rN   rÏ   r³   r´   r   rŽ   rÖ   r   r   r   Útest_df_mod_zero_array*  s     z)TestDivisionByZero.test_df_mod_zero_arrayc              	   C  s–   t  ddddgddddgdœ¡}|d }t jtj|j|jd�}t ||¡ tjdd	�� |j	 
d
¡d }W 5 Q R X t j||j|jd�}t ||¡ d S )NrK   r±   rR   r²   r   rÌ   rÒ   rµ   r¶   rM   )r^   rÍ   r   r¤   r(   rÓ   r+   rÎ   r·   r¸   r‹   rÕ   r   r   r   Útest_df_mod_zero_int;  s     z'TestDivisionByZero.test_df_mod_zero_intc                 C  sJ   t  tj dd¡¡}|d }|| }|| }| d¡ | d¡¡rFt‚d S rØ   rÙ   rÚ   r   r   r   Ú(test_df_mod_zero_series_does_not_commuteI  s
    z;TestDivisionByZero.test_df_mod_zero_series_does_not_commuteN)!ro   rp   rq   rª   r«   r¬   r®   ri   r�   rž   r#   ÚtruedivÚfloordivr¯   r   rŒ   rM   Úuint64r½   r¿   rÂ   rÄ   rÉ   rÊ   rË   rÐ   rÔ   r×   rÜ   rÝ   rÞ   rß   rà   r   r   r   r   r¡   8  s.   	



r¡   c                	   @  sò   e Zd Zdd„ Zdd„ Zdd„ Zej de	j
eje	jg¡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	jejg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zej d ejd!d"d#d$ejg¡d%d&„ ƒZd'd(„ Z d)d*„ Z!d+d,„ Z"d-S ).ÚTestMultiplicationDivisionc                 C  sl   |}t tdƒgƒ}t tdƒgƒ}t ||¡}t ||¡}|tdƒ }t ||¡ |tdƒ }t ||¡ d S )Nr5   rR   rJ   )r   r   r+   rT   rh   )rN   rU   rl   rÈ   r   rO   r   r   r   Útest_divide_decimalW  s    z.TestMultiplicationDivision.test_divide_decimalc                 C  sb   t ddgdd�}t ddgdd�}t dtj gƒ}| |¡}tj||dd	� || }t ||¡ d S )
NrI   r   r³   rZ   g{®Gáz„¿g{®Gáz”¿r´   F©Zcheck_names)r   r   r¥   Údivr+   r,   )rN   r³   r´   r   rO   r   r   r   Útest_div_equiv_binopg  s    
z/TestMultiplicationDivision.test_div_equiv_binopc                 C  sH   |}|d }|  d¡}t ||¡ |d }t|jd ƒ}t ||¡ d S )NrI   rM   rJ   )r‹   r+   r¦   r   r¸   )rN   r†   r¨   rO   r   r   r   r   Útest_div_intu  s    
z'TestMultiplicationDivision.test_div_intr/   c                 C  s*   |}t  ||¡}||dƒ}t  ||¡ d S ©NrI   )r+   rT   rh   )rN   r/   r†   rU   r¨   rO   r   r   r   Útest_mul_int_identity  s    
z0TestMultiplicationDivision.test_mul_int_identityc                 C  sb   |}|| }|t jddd� }t ||d ¡ t|tƒr<dnd}|t jd|d� }t ||¡ d S )NrR   rŒ   r:   rã   )r   r   r+   r¦   r'   r   rŠ   )rN   r†   r¨   ÚdidxrO   Ú	arr_dtyper   r   r   Útest_mul_int_array‡  s    z-TestMultiplicationDivision.test_mul_int_arrayc                 C  sH   |}|| }t |tƒrdnd}|ttjd|d�ƒ }t |t|ƒ¡ d S )Nrã   rŒ   rR   r:   )r'   r   r   r   rŠ   r+   r,   )rN   r†   r¨   rì   rí   rO   r   r   r   Útest_mul_int_series’  s
    z.TestMultiplicationDivision.test_mul_int_seriesc                 C  sB   |}t jddd�}|t|d ƒ }t||d  ƒ}t ||¡ d S )NrR   rM   r:   gš™™™™™¹?)r   rŠ   r   r+   r,   )rN   r†   r¨   Zrng5rO   r   r   r   r   Útest_mul_float_seriesš  s
    z0TestMultiplicationDivision.test_mul_float_seriesc                 C  s    |}|| }t  ||d ¡ d S ©NrJ   ©r+   r¦   )rN   r†   r¨   rO   r   r   r   Útest_mul_index¢  s    z)TestMultiplicationDivision.test_mul_indexc              	   C  s8   |}d}t jt|d�� |tjddd�  W 5 Q R X d S )Nz,cannot perform __rmul__ with this index typerd   Ú20130101rR   ©Zperiods)ri   rj   rk   r^   Ú
date_range©rN   r†   r¨   rm   r   r   r   Útest_mul_datelike_raises¨  s    z3TestMultiplicationDivision.test_mul_datelike_raisesc              	   C  sb   |}d}t jt|d�� ||dd…   W 5 Q R X t jt|d�� |t ddg¡  W 5 Q R X d S )Nz(operands could not be broadcast togetherrd   r   rK   rI   rJ   )ri   rj   Ú
ValueErrorr   r   r÷   r   r   r   Útest_mul_size_mismatch_raises®  s    z8TestMultiplicationDivision.test_mul_size_mismatch_raisesc                 C  sJ   |}|}t ||jdƒƒ}t ||¡}t ||¡}||dƒ}t ||¡ d S )NrÁ   )r   r¸   r+   rT   rh   )rN   r/   r†   rU   rl   r¨   r   rO   r   r   r   Útest_pow_float¶  s    
z)TestMultiplicationDivision.test_pow_floatc                 C  sF   |}|}t |jd ƒ}t ||¡}t ||¡}|d }t ||¡ d S rñ   )r   r¸   r+   rT   rh   )rN   r†   rU   rl   r¨   r   rO   r   r   r   Útest_moduloÃ  s    z&TestMultiplicationDivision.test_moduloc           	   	   C  sj   |}t |dƒ}tjdd�� t |jdƒ\}}W 5 Q R X t|ƒt|ƒf}t||ƒD ]\}}t ||¡ qPd S )NrJ   rµ   r¶   )r­   r   r·   r¸   r   Úzipr+   r¦   )	rN   r†   r¨   rO   rç   Úmodr   ÚrÚer   r   r   Útest_divmod_scalarÏ  s    
z-TestMultiplicationDivision.test_divmod_scalarc           
   	   C  s„   |}t j|jj|jjd�d }t||ƒ}t jdd�� t|j|ƒ\}}W 5 Q R X t|ƒt|ƒf}t||ƒD ]\}}	t	 
||	¡ qjd S ©Nr:   rJ   rµ   r¶   )r   Úonesr¸   Úshaper;   r­   r·   r   rý   r+   r¦   ©
rN   r†   r¨   r.   rO   rç   rþ   r   rÿ   r   r   r   r   Útest_divmod_ndarrayÚ  s    
z.TestMultiplicationDivision.test_divmod_ndarrayc           
   	   C  sˆ   |}t j|jj|jjd�d }t|t|ƒƒ}t jdd�� t|j|ƒ\}}W 5 Q R X t|ƒt|ƒf}t||ƒD ]\}}	t	 
||	¡ qnd S r  )r   r  r¸   r  r;   r­   r   r·   rý   r+   r,   r  r   r   r   Útest_divmod_seriesæ  s    z-TestMultiplicationDivision.test_divmod_seriesr.   é   iéÿÿÿgX9´Èv¾@g…ëQ¸	Àc                 C  sš   t j dd¡}dd„ }||ƒ}t |t  |¡ ||| ƒ¡ t t  |¡| ||| ƒ¡ t |t  |¡ ||| ƒ¡ t t  |¡| ||| ƒ¡ d S )NrR   rK   c                 S  s   t j| tdƒdddgd�S )NZABCDEZjimZjoeZjolierÒ   )r^   rÍ   r¾   rw   r   r   r   ry   õ  s     ÿz?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>)r   r\   r]   r+   rÎ   r   )rN   r.   ÚvalsÚfrÏ   r   r   r   Útest_ops_np_scalarò  s    z-TestMultiplicationDivision.test_ops_np_scalarc                 C  s�   t  ¡ }d|_t d|i¡}t j|| ||d  dd� t j|| ||d  dd� t j||k ||d k dd� t j|| ||d  dd� d S )NrW   ÚAFræ   )r+   ÚmakeTimeSeriesr[   r^   rÍ   r,   )rN   rW   rÏ   r   r   r   Útest_operators_frame  s    z/TestMultiplicationDivision.test_operators_framec              	   C  s(  t jdd��� t ddddgddddgdœ¡}|d	 |d
  }t|d	 j|d
 j dd�}t j|jdd…< t 	||¡ |d	 d }tt j|j
d	d�}t 	||¡ | d¡}|d	 |d
  }t|d	 j|d
 j ƒ}t 	||¡ | d¡}|d	 |d
  }|d
 |d	  }| |¡�rt‚W 5 Q R X d S )Nrµ   r¶   rK   r±   rR   r²   r   rÌ   r³   r´   rM   r:   ©r(   r[   )r   r·   r^   rÍ   r   r¸   r¤   r¹   r+   r,   r(   r‹   r)   r   )rN   ÚprO   r   rÖ   r   r   r   Útest_modulo2  s"     

z'TestMultiplicationDivision.test_modulo2c              	   C  sn   t jdd��X tddgƒ}|d }tt jt jgƒ}t ||¡ d| }tt jdgƒ}t ||¡ W 5 Q R X d S )Nrµ   r¶   r   rI   rL   )r   r·   r   r¤   r+   r,   )rN   ÚsrO   r   r   r   r   Útest_modulo_zero_int'  s    z/TestMultiplicationDivision.test_modulo_zero_intN)#ro   rp   rq   rå   rè   ré   ri   r�   rž   r#   Úmulr   Zrmulrâ   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ä   S  s,   



rä   c                   @  sL  e Zd Zej dedddgedƒdd�edddgedƒdd�ed	d
ej	ej	gedƒdd�fedddgedƒdd�eddddgedƒdd�edddej	gedƒdd�fg¡dd„ ƒZ
ej dejddddgiedƒd�ejddddgiedƒd�ejdd	d
ej	ej	giedƒd�fejddddgiedƒd�ejdddddgiedƒd�ejddddej	giedƒd�fg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej dd¡dd „ ƒZejjd!d"d#„ d$d#„ d%d#„ gd&d'd(gd)�d*d+„ ƒZejjd!d,d#„ d-d#„ gd.d(gd)�d/d0„ ƒZejjd!d1d#„ d2d#„ d3d#„ gd&d'd(gd)�d4d5„ ƒZd6d7„ Zd8S )9ÚTestAdditionSubtractionzfirst, second, expectedrI   rJ   rK   ÚABCrx   r  ZABDç      @ç      @ÚABCDr±   rR   c                 C  s$   t  || |¡ t  || |¡ d S r!   )r+   r,   ©rN   r³   r´   r   r   r   r   Útest_add_series9  s    z'TestAdditionSubtraction.test_add_series©r(   c                 C  s$   t  || |¡ t  || |¡ d S r!   )r+   rÎ   r  r   r   r   Útest_add_framesM  s    z'TestAdditionSubtraction.test_add_framesc           	   	   C  sØ   t t dd¡ƒ}d| }| dd„ ¡}t ||¡ t d|i¡}d| }t d| dd„ ¡i¡}t ||¡ t ¡ }d|_	| 
¡ }d	 d
dg¡}tjt|d�� ||  W 5 Q R X tjt|d�� ||  W 5 Q R X d S )NrR   r5   Úfoo_c                 S  s   d|  S ©Nr  r   rw   r   r   r   ry   f  rz   zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>r	  c                 S  s   d|  S r  r   rw   r   r   r   ry   k  rz   rW   r™   rš   zConcatenation operationrd   )r   r+   Zrands_arrayÚmapr,   r^   rÍ   rÎ   r  r[   r    r›   ri   rj   rk   )	rN   rV   r	  rO   r   ÚframerW   Zfix_nowrm   r   r   r   Útest_series_frame_radd_bugb  s(    ýÿz2TestAdditionSubtraction.test_series_frame_radd_bugc              	   C  s  t tj d¡ƒ}||j ¡  }||j }t ||¡ t tj	ddd�tj	ddd�d�}||j ¡  }||j }t ||¡ d}t
jt|d�� ||j ¡  }W 5 Q R X tjtj dd¡tj	ddd�d�}t d¡|d	< |d	 |j ¡  |d
< |d	 |j |d< tj|d |d
 dd� d S )NrR   rô   rõ   r  zcannot subtract periodrd   rJ   Z20130102Údater   rO   Fræ   )r   r   r\   r]   r(   Z	to_seriesr+   r,   r^   rö   ri   rj   rk   Z	to_periodrÍ   r_   )rN   rÈ   r   rO   rm   rÏ   r   r   r   Útest_datetime64_with_index�  s,    
þ
 ÿz2TestAdditionSubtraction.test_datetime64_with_indexc                 C  sð   |}t j d¡}t|t  |j¡d�}|| }|| }| ¡ D ]P\}}| ¡ D ]>\}	}
|| |	 d }t  |
¡s||
|ksŠt‚qLt  |¡sLt‚qLq<| ¡ D ]T\}}| ¡ D ]B\}	}
|| |	 ||  }t  |
¡sÚ|
|ksèt‚q¦t  |¡s¦t‚q¦q–d S )Nr±   r  rJ   )r   r\   r   r   rÓ   ÚitemsÚisnanr   )rN   Úfloat_framer!  ÚgarbageZ	colSeriesZidSumZ	seriesSumÚcolr-   r¨   ÚvalZorigValr   r   r   Útest_frame_operators   s"    

z,TestAdditionSubtraction.test_frame_operatorsc                 C  s6   t j|ddddgd�}|| }|d }t ||¡ d S )Nr•   ÚCÚBr  )rÓ   rJ   )r^   rÍ   r+   rÎ   )rN   r'  Zframe2Úaddedr   r   r   r   Útest_frame_operators_col_align¹  s    z6TestAdditionSubtraction.test_frame_operators_col_alignc              	   C  s:   t  ddd dgi¡}t || t  ddtjdgi¡¡ d S )Nr`   ra   ZaaZbb)r^   rÍ   r+   rÎ   r   r¤   )rN   rÏ   r   r   r   Ú test_frame_operators_none_to_nan¿  s    z8TestAdditionSubtraction.test_frame_operators_none_to_nanr;   )rÑ   rŒ   c                 C  sZ   t j|d�t jdg|d�t jdg|d�g}|D ]&}||  |¡sDt‚t || |¡ q.d S )Nr:   r  )rÓ   r;   r   ©r(   r;   )r^   rÍ   r)   r   r+   rÎ   )rN   r;   ÚframesrÏ   r   r   r   Útest_frame_operators_empty_likeÃ  s    
ýz7TestAdditionSubtraction.test_frame_operators_empty_likeÚfuncc                 C  s   | d S rñ   r   rw   r   r   r   ry   Ñ  rz   z TestAdditionSubtraction.<lambda>c                 C  s   | d d d… S rñ   r   rw   r   r   r   ry   Ñ  rz   c                 C  s   dS rQ   r   rw   r   r   r   ry   Ñ  rz   ÚmultiplyÚsliceZconstantr{   c                 C  s*   |}t  ¡  d¡}||ƒ}t|||ƒ d S ©NrW   ©r+   r  Úrenamer3   )rN   Zall_arithmetic_functionsr4  r/   r-   r.   r   r   r   Ú test_series_operators_arithmeticÏ  s    z8TestAdditionSubtraction.test_series_operators_arithmeticc                 C  s   | d S rê   r   rw   r   r   r   ry   Û  rz   c                 C  s   dS rQ   r   rw   r   r   r   ry   Û  rz   Úaddc                 C  s*   |}t  ¡  d¡}||ƒ}t|||ƒ d S r7  r8  )rN   Zcomparison_opr4  r/   r-   r.   r   r   r   Útest_series_operators_compareÚ  s    z5TestAdditionSubtraction.test_series_operators_comparec                 C  s   | d S rñ   r   rw   r   r   r   ry   å  rz   c                 C  s   | d d d… S rñ   r   rw   r   r   r   ry   å  rz   c                 C  s   dS rQ   r   rw   r   r   r   ry   å  rz   c           
   	   C  sê   t  ¡  d¡}||ƒ}t||ƒ}t|tjƒrbt|ƒt|ƒkrbg }|D ]}| |¡ | t	j
¡ qDn|}t	 |¡}t	jdd�� t|jt	 |¡ƒ}W 5 Q R X t||ƒD ]@\}}	t  t	 |¡|	¡ |j|jksÎt‚t  |j|j d ¡¡ q¤d S )NrW   rµ   r¶   )r+   r  r9  r­   r'   r   ÚIterabler…   Úappendr   r¤   Zasarrayr·   r¸   rý   Zassert_almost_equalr[   r   r¦   r(   r*   )
rN   r4  r-   r.   ÚresultsZother_npr„   Ú	expectedsrO   r   r   r   r   Útest_divmodã  s     


z#TestAdditionSubtraction.test_divmodc                 C  s|   t  ¡  d¡}|d }t||ƒ}ttjgt|ƒ |jdd�}ttj	gt|ƒ |jdd�}t  
|d |¡ t  
|d |¡ d S )NrW   r   r  rI   )r+   r  r9  r­   r   r   r¥   r…   r(   r¤   r,   )rN   Ztserr.   rO   Úexp1Úexp2r   r   r   Útest_series_divmod_zero   s    
z/TestAdditionSubtraction.test_series_divmod_zeroN)ro   rp   rq   ri   r�   rž   r   r¾   r   r¤   r  r^   rÍ   r  r"  r$  r+  r/  r0  r3  r:  r<  rA  rD  r   r   r   r   r  5  sh   ýýúþ
 ýýúþ

ý
  ÿ
ý
r  c                   @  sp   e Zd Zej deeee	e
g¡dd„ ƒZej deeee
g¡dd„ ƒZej deeee
g¡dd„ ƒZdd	„ Zd
S )ÚTestUFuncCompatÚholderc                 C  st   |t krt nt}|tkr(tdddd�}n|tjddd�dd�}t |¡}|t tjddd�¡dd�}t ||¡ d S )Nr   rR   ÚfoorZ   rŒ   r:   )r   r   r   r   rŠ   Úsinr+   rh   )rN   rF  rl   r¨   rO   r   r   r   r   Útest_ufunc_compat  s    
z!TestUFuncCompat.test_ufunc_compatc              
   C  s  |dddddgdd�}|t kr"t nt}t |¡}|jdkrDt||ƒsHt‚tt t dddddg¡¡dd�}t	 
||¡}t	 ||¡ t |d	¡}|jdkr¢t||ƒs¦t‚td
ddd	dgdd�}t	 
||¡}t	 ||¡ |d	 }|jdkrðt||ƒsôt‚tdddddgdd�}t	 
||¡}t	 ||¡ |d	 }|jdk�rBt||ƒ�sFt‚tdddd	dgdd�}t	 
||¡}t	 ||¡ |d }|jdk�r”t||ƒ�s˜t‚tdd	dddgdd�}t	 
||¡}t	 ||¡ |d	 }|jdk�ræt||ƒ�sêt‚td
ddd	dgdd�}t	 
||¡}t	 ||¡ d S )NrI   rJ   rK   r±   rR   rx   rZ   rG   rÁ   g      à?rÀ   g      ø?g      @r  r  g      @g      @g      @g      ð¿rL   )r   r   r   Úsqrtr;   r'   r   r   r   r+   rT   rh   Údivide)rN   rF  r¨   rl   rO   Úexpr   r   r   Útest_ufunc_coercions"  s@    
"z$TestUFuncCompat.test_ufunc_coercionsc                 C  s’   |dddgdd�}|t krt nt}t |¡}t|tƒs:t‚tdddgdd�}tddd	gdd�}t 	|d
 t 
||¡¡ t 	|d t 
||¡¡ d S )NrI   rJ   rK   rx   rZ   rL   rÀ   rÁ   r  r   )r   r   r   Úmodfr'   Útupler   r   r+   rh   rT   )rN   rF  rX   rl   rO   rB  rC  r   r   r   Ú!test_ufunc_multiple_return_valuesL  s    
z1TestUFuncCompat.test_ufunc_multiple_return_valuesc                 C  sX   t dddgdddgdd�}tj |ddgd¡ t dddgdddgdd�}t ||¡ d S )	Nr   rI   rJ   rK   rx   r  r5   é   )r   r   r;  Úatr+   r,   )rN   r  r   r   r   r   Útest_ufunc_atX  s    zTestUFuncCompat.test_ufunc_atN)ro   rp   rq   ri   r�   rž   r   r   r   r   r   rI  rM  rP  rS  r   r   r   r   rE    s   þ

)
rE  c                   @  sj   e Zd Zej ddeg¡dd„ ƒZej ddeg¡dd„ ƒZej de	j
e	je	je	je	jg¡dd	„ ƒZdS )
ÚTestObjectDtypeEquivalencer;   Nc                 C  sv   |}t dddg|d�}t tjtjtjg|d�}t ||¡}t ||¡}tj| }t ||¡ |tj }t ||¡ d S )NrI   rJ   rK   r:   )r   r   r¤   r+   rT   rh   ©rN   r;   rU   rl   rÈ   r   rO   r   r   r   Útest_numarr_with_dtype_add_nanb  s    

z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nanc                 C  sl   |}t dddg|d�}t dddg|d�}t ||¡}t ||¡}d| }t ||¡ |d }t ||¡ d S )NrI   rJ   rK   r:   r±   )r   r+   rT   rh   rU  r   r   r   Útest_numarr_with_dtype_add_intq  s    z9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_intr/   c                 C  sL   t tj d¡t d¡td�}|d|ƒ}|d| t¡ƒ}t 	| t¡|¡ d S )Nr5   r1  rÀ   )
r   r   r\   r]   rŠ   Úobjectr‹   rÑ   r+   r,   )rN   r/   rŽ   rO   r   r   r   r   Útest_operators_reverse_object�  s    
z8TestObjectDtypeEquivalence.test_operators_reverse_object)ro   rp   rq   ri   r�   rž   rX  rV  rW  r#   r;  Úsubr  rá   râ   rY  r   r   r   r   rT  _  s   

þrT  c                   @  sè  e Zd Zej dejejej	ej
ejg¡ej dedddƒedddƒedddƒed	d
dƒg¡ej dedddƒedddƒedddƒed	d
dƒg¡dd„ ƒƒƒZej dejejej	ej
ejg¡ej dedddƒedddƒedddƒed	d
dƒg¡ej ddddg¡dd„ ƒƒƒZej dedddƒedddƒg¡ej dedddƒedddƒg¡dd„ ƒƒZej dedddƒedddƒg¡ej dddg¡dd„ ƒƒZej dejejej	ej
ejejejg¡dd„ ƒZdd„ Zej dedddƒdedddƒfeddd ƒd ed!d"dƒfedddƒdeedddƒjƒd fedd#dƒd$eedd#dƒjƒd$ fedƒd%edƒfedd&dƒd'edddƒfed
dd(ƒd&ed)ddƒfed*d+d'ƒdedƒfg¡d,d-„ ƒZej d.ejejg¡ej d/dddg¡d0d1„ ƒƒZd2S )3ÚTestNumericArithmeticUnsortedr/   Úidx1r   r5   rI   r8   rJ   iöÿÿÿrR   éûÿÿÿr   Úidx2c                 C  sD   |  d¡}|  d¡}|||ƒ}|t|ƒt|ƒƒ}tj||dd� d S ©NrG  ÚbarÚequiv©Úexact)Ú_renamer   r+   r¦   )rN   r/   r\  r^  rO   r   r   r   r   Útest_binops_index‘  s
    


z/TestNumericArithmeticUnsorted.test_binops_indexr¨   Úscalarc                 C  s,   |||ƒ}|t |ƒ|ƒ}tj||dd� d S ©Nra  rb  )r   r+   r¦   )rN   r/   r¨   rf  rO   r   r   r   r   Útest_binops_index_scalar´  s    
z6TestNumericArithmeticUnsorted.test_binops_index_scalarc                 C  sD   |  d¡}|  d¡}t||ƒ}tt|ƒt|ƒƒ}tj||dd� d S r_  )rd  r$   r   r+   r¦   )rN   r\  r^  rO   r   r   r   r   Útest_binops_index_powÍ  s
    


z3TestNumericArithmeticUnsorted.test_binops_index_powc                 C  s,   t ||ƒ}t t|ƒ|ƒ}tj||dd� d S rg  )r$   r   r+   r¦   )rN   r¨   rf  rO   r   r   r   r   Útest_binops_index_scalar_powØ  s    
z:TestNumericArithmeticUnsorted.test_binops_index_scalar_powc                 C  s~   t dƒ}ttj d¡ƒ}|t|ƒ|ƒ}|||ƒ}t ||¡ t tj dd¡¡}|t ||g¡|ƒ}|||ƒ}t 	||¡ d S )NrR   rJ   )
r   r   r   r\   r]   r+   r,   r^   rÍ   rÎ   )rN   r/   r(   r.   r   rO   r   r   r   Ú$test_arithmetic_with_frame_or_seriesâ  s    

zBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_seriesc                 C  sJ  t dddƒ}|d }t dddƒ}tj||dd� |d }t dddƒ}tj||dd� |d }t d	d
dƒ}tj||dd� |d }t dddƒ d¡}tj||dd� |d }t dddƒd }tj||dd� |d }|}tj||dd� || }t|j|j ƒ}tj||dd� t dddƒ}|d }t|jƒd }tjt|jƒ|dd� d S )Nr   r5   rJ   r8   r±   Trb  rQ  éþÿÿÿr²   rR   rI   rM   éè  )r   r+   r¦   r‹   r   r¸   r   Ú_values)rN   r¨   rO   r   r   r   r   Útest_numeric_compat2ý  s4    z2TestNumericArithmeticUnsorted.test_numeric_compat2zidx, div, expectedrm  iô  i�ÿÿÿi7ÿÿÿéýÿÿÿé!   éC   éd   rÁ   é2   r±   rK   iúÿÿÿrl  iœÿÿÿi8ÿÿÿc                 C  s   t j|| |dd� d S )NTrb  rò   )rN   r¨   rç   r   r   r   r   Útest_numeric_compat2_floordiv&  s    z;TestNumericArithmeticUnsorted.test_numeric_compat2_floordivr;   Údeltac                 C  s    ||ƒ}t dddg|d�}|| }t |j| |d�}t ||¡ || }t |j| |d�}t ||¡ t || d| ¡ t || d| ¡ || jrœt‚d S )Nr5   é   rQ  r:   rJ   r   )r   r¸   r+   r¦   Úemptyr   )rN   r;   rv  r(   rO   r   r   r   r   Útest_addsub_arithmetic?  s    z4TestNumericArithmeticUnsorted.test_addsub_arithmeticN)ro   rp   rq   ri   r�   rž   r#   r;  rZ  r  râ   rá   r   re  rh  ri  rj  r$   rþ   rk  ro  r   rn  ru  r   rŒ   rM   ry  r   r   r   r   r[  Ž  s¬   ûþ




üþ	



üþ	ûþ




üþ	  	 ùþ
)
ý
ýðþ
r[  c                  C  s~   t  dddgdd dgdœ¡} t jddddgiddd	gd
�}| j|dd�}t  tjdddgdtjdtjgdœ¡}t ||¡ d S )Nr   rI   rJ   gš™™™™™ñ?)r  r-  r  g333333ó?gÍÌÌÌÌÌô?rK   r  ©Z
fill_valuerÀ   rL   )r^   rÍ   Z	rfloordivr   r¥   r¤   r+   rÎ   )rÏ   r.   rO   r   r   r   r   Útest_fill_value_inf_maskingS  s    ÿr{  c               	   C  s�   t jt d¡tjddddgd tjgd t d¡dœtdƒtdƒd	�} t jtj dd¡td
ƒtdƒd	�}t 	d ¡� | j
|dd� W 5 Q R X d S )Nr5   rI   rJ   rK   r±   )r  r-  r,  r•   Z
abcdefghijr  rÒ   Z
abcdefghjkZABCXr   rz  )r^   rÍ   r   rŠ   r¤   r¾   r\   r]   r+   Zassert_produces_warningrç   )Zpdf1Zpdf2r   r   r   Útest_dataframe_div_silenceda  s     
üø
  ÿr|  zdata, expected_datarI   rJ   r±   c           
      C  s|   t |dd�}| |ƒ}|||ƒ }||ƒ| }t|| fkr>t}nt|| fkrPt}nt }||dd�}	t ||	¡ t ||	¡ d S )NZInt64r:   )r   r   r   r+   rh   )
r   Zbox_1d_arrayrÃ   Zexpected_datarŽ   Ú	containerr0   r1   r=   r   r   r   r   Ú test_integer_array_add_list_liket  s    r~  c                  C  s‚   t jdtj d¡it jjddgdddggddgd	�d
�} |  ¡ }|j 	dd¡|_| | }t jdgd dg| jd�}t
 ||¡ d S )Nr`   é   ra   r   rI   rJ   ZlevAZlevB)Únamesr  rL   )rÓ   r(   )r^   rÍ   r   r\   r]   Z
MultiIndexZfrom_productr‰   r(   Z	swaplevelr+   rÎ   )rÏ   Zdf2rO   r   r   r   r   Ú"test_sub_multiindex_swapped_levelsŽ  s     ÿþr�  ÚpowerrR   Ústring_sizec                 C  sX   t  td|  ƒ¡}tj|t jd�}d| }||k}t t j|jtd�¡}t	 
||¡ d S )Nr5   r:   ú )r   r   rS   r^   rÍ   rŒ   rf   r  rg   r+   rÎ   )r‚  rƒ  r`   r1   r0   rO   r   r   r   r   Útest_empty_str_comparison�  s    r…  );Ú
__future__r   Úcollectionsr   Údecimalr   r#   Útypingr   Únumpyr   ri   Zpandasr^   r   r   r   r	   r
   r   Zpandas._testingZ_testingr+   Zpandas.corer   Zpandas.core.apir   r   r   Zpandas.core.computationr   rº   Zpandas.tests.arithmetic.commonr   r   ZfixtureZto_arrayr   r    r3   r4   Ú__annotations__r7   ÚextendrH   rr   r¡   rä   r  rE  rT  r[  r{  r|  r�   rž   r~  r�  r…  r   r   r   r   Ú<module>   sd     
þÿ7 *   c ^M/ Fþ
