3
Ud                 @   sH   d dl Zd dlZd dlZd dlmZmZmZ d dlj	Z
G dd dZdS )    N)	DataFrameSeries	Timestampc            	   @   s   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	j
jdddgdd Ze	j
jddgej fdgej fejdddgej fejdddgejdfdgej fgdd ZdS )TestDataFrameAppendc             C   st   t  }|jg }|}tj|| ||k	s,tt tjjddddddgd}|jg }|}tj|| ||k	sptd S )N      foobarbazqux)columns)r   appendtmassert_frame_equalAssertionErrornprandomrandn)selfdfresultexpected r   Z/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/frame/methods/test_append.pytest_append_empty_list
   s    

z*TestDataFrameAppend.test_append_empty_listc             C   s  t tjjddddddgd}|jd }d}tjt|d	 |j|d
d W d Q R X d |_	d}tjt
|d	 |j|d
d W d Q R X |j|d d d d
d}|jt d|d d d i|jdjd
d}tj|| |j|j d
d}tj|| |j|d d d d d d
d}|jt d|d d d d d ijd
d
d}tj||jd d |jf  d}tjt
|d	 |j|j  W d Q R X |jd }d|_	|j|}|j|dd  d
d}tj|| d S )Nr   r   r   r	   r
   r   )r   zIndexes have overlapping values)matchT)Zverify_integrityz-Can only append a Series if ignore_index=True   )ignore_indexr   )index   )r   sortz+Can only append a dict if ignore_index=Truer!   r!   r!   r!   )r   r   r   r   locpytestZraises
ValueErrorr   name	TypeErrorr   Tr   r   to_dict)r   r   Zseriesmsgr   r   rowr   r   r   test_append_series_dict   s6    
$ (

z+TestDataFrameAppend.test_append_series_dictc             C   s   t tjjddddddgd}dd	 |j D }|j|d
d}|j|d
d}tj|| ddddddddddg}|j|d
d
d}|jt |d
d
d}tj|| d S )Nr   r   r   r	   r
   r   )r   c             S   s   g | ]\}}|j  qS r   )r(   ).0idxxr   r   r   
<listcomp>C   s    zHTestDataFrameAppend.test_append_list_of_series_dicts.<locals>.<listcomp>T)r   r      r   )r   r	   r
   Zpeekaboo         )r   r    )r   r   r   r   Ziterrowsr   r   r   )r   r   dictsr   r   r   r   r    test_append_list_of_series_dicts@   s    z4TestDataFrameAppend.test_append_list_of_series_dictsc             C   sx   t tjjddddddgd}ddidd	ig}tjd  |j|d
d
d}W d Q R X |jt |d
d
d}tj|| d S )Nr   r   r   r	   r
   r   )r   	   
   T)r   r    )r   r   r   r   r   Zassert_produces_warningr   r   )r   r   r4   r   r   r   r   r   test_append_missing_colsR   s    z,TestDataFrameAppend.test_append_missing_colsc             C   s   t  }t  }|j|}|j }tj|| t tjjdd}t  }|j|}|j }tj|| t ddgd}t  }|j|}|j }tj|| t tjjddddgd}t  }|j|}|j }tj|| d S )Nr   r0   r	   r   )r   )r   r   copyr   r   r   r   r   )r   df1df2r   r   r   r   r   test_append_empty_dataframe`   s(    



z/TestDataFrameAppend.test_append_empty_dataframec             C   s$  t dtditdd}t  }|j|}|j }tj|| t dtditdd}t dditddd}|j|}t dtddgi}tj|| t dtditdd}t dtjitddd}|j|}t dt	tdtjgdd	i}tj|| t dtditdd}t dtjitddt
d
}|j|}t dt	tdtjgdd	i}tj|| t dtjitdd}t dtditddd}|j|}t dt	tjtdgdd	i}tj|| t dtditdd}t dditddt
d
}|j|}t dt	tddgi}tj|| d S )Nr	   Z20130101r   )r   r   r   r0   zM8[ns])dtype)r   r=   )r   r   ranger   r9   r   r   r   nanr   object)r   r:   r;   r   r   r   r   r   test_append_dtypes~   sB    





z&TestDataFrameAppend.test_append_dtypes	timestampz2019-07-19 07:04:57+0100z2019-07-19 07:04:57c             C   sX   |}t jt j||dg}|j|jd jd }t jt j||ddd}tj|| d S )N)tzr   r   )r%   r!   )pdr   r   r   ilocr   r   assert_series_equal)r   Ztz_naive_fixturerB   rC   r   r   r   r   r   r   %test_append_timestamps_aware_or_naive   s
    z9TestDataFrameAppend.test_append_timestamps_aware_or_naivezdata, dtyper   r   r   )leftrightz2000-03M)freqc             C   sD   t j||d}|j|jd jd }t j|d|d}tj|| d S )N)r=   r   r   )r%   r=   r!   )rD   r   r   rE   r   r   rF   )r   datar=   r   r   r   r   r   r   test_other_dtypes   s    z%TestDataFrameAppend.test_other_dtypesN)__name__
__module____qualname__r   r+   r5   r8   r<   rA   r#   markZparametrizerG   rD   Z
Int64DtypeZCategoricalDtypeZIntervalZIntervalDtypeZPeriodZPeriodDtypeZSparseDtyperM   r   r   r   r   r   	   s   (0
r   )Znumpyr   r#   ZpandasrD   r   r   r   Zpandas._testingZ_testingr   r   r   r   r   r   <module>   s
   
