3
Ud#              
   @   s:  d dl Z d dlZd dlmZmZmZ d dljZdd Z	dd Z
dd Ze jjd	ed
ededgdd Ze jjded
eddfededfededfededfed
edfgdd Ze jjdeddedddgdeddgdd Ze jjddPdQge jjd$d%dge jjd&d ddd
d'd(gd)d* Ze jjd+ed,d-gddgded,d-gd.d/gdd0fejddgd1d2gd,d-gd3d4d5gdjejd.d/gd1d2gd,d-gd3d4d5gdjd6fgd7d8 Zd9d: Zd;d< Zd=d> Zd?d@ ZdAdB ZdCdD ZdEdF ZdGdH ZdIdJ Z e jjdKdLdMgdNdO Z!dS )R    N)Categorical	DataFrameSeriesc             K   s$   t j| |f| t j|| f| dS )a&  
    Check that two Series equal.

    This check is performed commutatively.

    Parameters
    ----------
    a : Series
        The first Series to compare.
    b : Series
        The second Series to compare.
    kwargs : dict
        The arguments passed to `tm.assert_series_equal`.
    N)tmassert_series_equal)abkwargs r
   ^/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/util/test_assert_series_equal.py_assert_series_equal_both   s    r   c             K   s>   y$t j| |f| d}tj|d W n tk
r8   Y nX dS )a  
    Check that two Series are not equal.

    Parameters
    ----------
    a : Series
        The first Series to compare.
    b : Series
        The second Series to compare.
    kwargs : dict
        The arguments passed to `tm.assert_series_equal`.
    z7The two Series were equal when they shouldn't have been)msgN)r   r   pytestZfailAssertionError)r   r   r	   r   r
   r
   r   _assert_not_series_equal   s    r   c             K   s    t | |f| t || f| dS )a.  
    Check that two Series are not equal.

    This check is performed commutatively.

    Parameters
    ----------
    a : Series
        The first Series to compare.
    b : Series
        The second Series to compare.
    kwargs : dict
        The arguments passed to `tm.assert_series_equal`.
    N)r   )r   r   r	   r
   r
   r   _assert_not_series_equal_both1   s    r   data   abcu   áàäc             C   s   t t| t|  d S )N)r   r   )r   r
   r
   r   test_series_equalD   s    r   zdata1,data2      Zxyzu   éèës   aaac             C   s   t t| t| d S )N)r   r   )data1data2r
   r
   r   $test_series_not_equal_value_mismatchI   s    r   r	   Zfloat64)dtype   )indexZfoo)namec             C   s*   t d}t|}t|f| }t|| d S )Nr   )ranger   r   )r	   r   s1s2r
   r
   r   'test_series_not_equal_metadata_mismatchW   s    	r"   |Pk?9]?V-???r   Zfloat32decimals   
   c             C   s   d|  }t | g|d}t |g|d}|dksN|dksN|dkr~t| | dkr~d}tjt|d tj|||d W d Q R X nt|||d d S )	Nr)   )r   r(   r   gMb@?zSeries values are different)match)rtol)r   absr   raisesr   r   r   r   )r   r   r   r'   r+   r    r!   r   r
   r
   r   test_less_preciseg   s    
r.   z	s1,s2,msgl1l2g      ?g       @zSeries\.index are differentg @g      ?)r   r   cr   r   z$MultiIndex level \[0\] are differentc          
   C   sN   t |d}|r:tjt|d tj| |f| W d Q R X ntj| |f| d S )N)check_index_type)r*   )dictr   r-   r   r   r   )r    r!   r   r2   r	   r
   r
   r   test_series_equal_index_dtypey   s
    
r4   c             C   sP   d}t dddg}t ddddg}tjt|d tj||| d W d Q R X d S )NzSeries are different

Series length are different
\[left\]:  3, RangeIndex\(start=0, stop=3, step=1\)
\[right\]: 4, RangeIndex\(start=0, stop=4, step=1\)r   r   r   r   )r*   )r+   )r   r   r-   r   r   r   )r+   r   r    r!   r
   r
   r   !test_series_equal_length_mismatch   s
    r5   c             C   sN   d}t dddg}t dddg}tjt|d tj||| d W d Q R X d S )NzSeries are different

Series values are different \(33\.33333 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[1, 2, 3\]
\[right\]: \[1, 2, 4\]r   r   r   r   )r*   )r+   )r   r   r-   r   r   r   )r+   r   r    r!   r
   r
   r   )test_series_equal_numeric_values_mismatch   s
    r6   c             C   sV   d}t tdddg}t tdddg}tjt|d tj||| d W d Q R X d S )NzSeries are different

Series values are different \(66\.66667 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \['a', 'b', 'c'\]
Categories \(3, object\): \['a', 'b', 'c'\]
\[right\]: \['a', 'c', 'b'\]
Categories \(3, object\): \['a', 'b', 'c'\]r   r   r1   )r*   )r+   )r   r   r   r-   r   r   r   )r+   r   r    r!   r
   r
   r   -test_series_equal_categorical_values_mismatch   s
    r7   c             C   sZ   d}t tjdddd}t tjdddd}tjt|d tj||| d W d Q R X d S )	Nznumpy array are different

numpy array values are different \(100.0 %\)
\[index\]: \[0, 1, 2\]
\[left\]:  \[1514764800000000000, 1514851200000000000, 1514937600000000000\]
\[right\]: \[1549065600000000000, 1549152000000000000, 1549238400000000000\]z
2018-01-01r   D)Zperiodsfreqz
2019-02-02)r*   )r+   )r   pdZ
date_ranger   r-   r   r   r   )r+   r   r    r!   r
   r
   r   *test_series_equal_datetime_values_mismatch   s
    r;   c             C   sn   d}t tddg}t tddgtdd}| r\tjt|d tj||| d W d Q R X nt||| d d S )NzAttributes of Series are different

Attribute "dtype" are different
\[left\]:  CategoricalDtype\(categories=\['a', 'b'\], ordered=False\)
\[right\]: CategoricalDtype\(categories=\['a', 'b', 'c'\], ordered=False\)r   r   r   )
categories)r*   )check_categorical)	r   r   listr   r-   r   r   r   r   )r=   r   r    r!   r
   r
   r   &test_series_equal_categorical_mismatch   s    r?   c              C   sd   t tjdddgdd} | jt}d}tj| |dd tjt	|d	 tj| |d
d W d Q R X d S )Nr   r   r   Int64)r   zjAttributes of Series are different

Attribute "dtype" are different
\[left\]:  Int64
\[right\]: int[32|64]F)check_dtype)r*   T)
r   r:   arrayastypeintr   r   r   r-   r   )leftrightr   r
   r
   r   1test_assert_series_equal_extension_dtype_mismatch   s    
rG   c              C   sb   t tjddgdd} | jt}d}tj| |dd tjt	|d tj| |d	d W d Q R X d S )
Nr   r   interval)r   zrAttributes of Series are different

Attribute "dtype" are different
\[left\]:  interval\[int64\]
\[right\]: objectF)rA   )r*   T)
r   r:   ZIntervalrC   objectr   r   r   r-   r   )rE   rF   r   r
   r
   r   0test_assert_series_equal_interval_dtype_mismatch   s    
rJ   c              C   s   G dd dt } t ddg}t ddg}| ddg}tj||dd tj||dd tj||dd tj||dd tjtdd	 tj||dd W d Q R X tjtdd	 tj||dd W d Q R X d S )
Nc               @   s   e Zd ZdS )z/test_series_equal_series_type.<locals>.MySeriesN)__name__
__module____qualname__r
   r
   r
   r   MySeries
  s   rN   r   r   F)Zcheck_series_typeTzSeries classes are different)r*   )r   r   r   r   r-   r   )rN   r    r!   s3r
   r
   r   test_series_equal_series_type	  s    rP   c              C   s   t ddg} t ddg}t ddg}tj| |dd tj|| dd tjt tj| |dd W d Q R X tjt tj|| dd W d Q R X d S )Nr   r   T)Zcheck_exact)r   r   r   r   r-   r   )r    r!   rO   r
   r
   r   &test_series_equal_exact_for_nonnumeric  s    rQ   right_dtypeZInt32Zint64c             C   s<   t jdddgdd}t jdddg| d}tj||dd d S )Nr   r   r   r@   )r   F)rA   )r:   r   r   r   )rR   rE   rF   r
   r
   r   8test_assert_series_equal_ignore_extension_dtype_mismatch-  s    rS   )r#   r$   )r%   r&   )"r   Zpandasr:   r   r   r   Zpandas._testingZ_testingr   r   r   r   markZparametrizer   r>   r   r   r3   r"   r.   Zfrom_recordsr1   r4   r5   r6   r7   r;   r?   rG   rJ   rP   rQ   rS   r
   r
   r
   r   <module>   sT   
(&""