U
    sVc                     @   s0  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
mZ d dlmZmZmZ d dlmZ ejddd	d
dgd d	dd
gfdejd
ejgd d	dd
gfdejd
ejgeddddgfgdd Zejdddddddd	gddd	hddidg
dd Zdd Zdd Zdd  Zd!d" Zd#d$ ZdS )%    )nullcontextN)is_matching_na)is_numpy_dev)is_float)Index
MultiIndexSerieszarr, idx            )r   a)r	   b)r
   c)r   r   c                 C   s<   t | |d}| }||s"td|d< ||r8td S )N)index	   r	   )r   copyequalsAssertionError)arridxs1s2 r   K/tmp/pip-unpacked-wheel-xj8nt62q/pandas/tests/series/methods/test_equals.pytest_equals   s
    r   valg?y      ?      ?Tabc)r	   r
   r   c              	   C   s|   t ddg}t||g}| }||s0t| |d< t| trTtsTt	j
tddnt }| ||rntW 5 Q R X d S )Nr	   r
   F)Zcheck_stacklevel)nparrayr   r   r   r   
isinstancestrr   tmZassert_produces_warningFutureWarningr   )r   r   r   r   cmr   r   r   test_equals_list_array(   s    r%   c                  C   s   dt jg} t| }| }ttdtd}| }| }| }d |d d<  |d d<  |d< |d< ||sxt||st||st||st||st||std S )NFr
   )r   dtyper   )r   nanr   r   rangeobjectr   r   )r   r   r   Zs3Zs4Zs5Zs6r   r   r   test_equals_false_negative=   s    
(r+   c                  C   s.  t tdgtd} t tdgtd}| |s6tt| t|sLt| j|js^tt tdgtd} t tdgtd}| |stt| t|st| j|jstt t	dgtd} t t	dgtd}| |stt| | j
dt||j
dst| j|js*td S )NZNaTr&   NaN)r   r   Z
datetime64r*   r   r   r   r   Ztimedelta64Zfloat64r&   leftrightr   r   r   test_equals_matching_nasP   s    $r1   c                 C   s   | }|}t |dr| }n
t|}t|gtd}t|gtd}t||r\||stn>|d krlt|s||d krt|r||stn||rtd S )Nr   r,   )hasattrr   r   r*   r   r   r   r   )Znulls_fixtureZnulls_fixture2r/   r0   serser2r   r   r   test_equals_mismatched_nase   s    



 r5   c                  C   sh   t dd gtd} t dtjgtd}| |s0tt| | jdt||jdsRt| j|jsdtd S )Nr	   r,   )	r   r*   r   r(   r   r   r   r&   r   )r3   r4   r   r   r   test_equals_none_vs_nany   s
    "r6   c                  C   s   t tj tjddddtjgtd} t d gt|  }| |rBt|| rPt|  | rft| |  r|tt	| ddt	|ddrtt	|ddt	| ddrtd S )Ng      g        g      ?g
@r,   r*   )
r   r   infr(   r*   lenr   r   Zto_framer   r.   r   r   r   test_equals_None_vs_float   s    "r9   )
contextlibr   r   Znumpyr   ZpytestZpandas._libs.missingr   Zpandas.compatr   Zpandas.core.dtypes.commonr   Zpandasr   r   r   Zpandas._testingZ_testingr"   markZparametrizer(   from_tuplesr   r%   r+   r1   r5   r6   r9   r   r   r   r   <module>   s8   
	 "

