3
Ud%                 @   sb   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jZG dd dZG dd dZdS )    N)	DataFrameDatetimeIndexIndexSeries	Timestamp
date_rangec               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestSeriesAppendc             C   s   |j |}xT|j D ]H\}}||jkr8||| ks\tq||jkrT||| ks\tqtdqW d}tjt|d |j |dd W d Q R X d S )Nzorphaned index!z Indexes have overlapping values:)matchT)verify_integrity)appenditemsindexAssertionErrorpytestraises
ValueError)selfdatetime_seriesZstring_seriesZobject_seriesZappended_seriesidxvaluemsg r   [/var/www/html/virt/lib64/python3.6/site-packages/pandas/tests/series/methods/test_append.pytest_append
   s    


zTestSeriesAppend.test_appendc             C   sH   |d d |dd |dd  g}|d j |dd  }tj|| d S )N   
   r      )r   tmassert_series_equal)r   r   piecesresultr   r   r   test_append_many   s    "z!TestSeriesAppend.test_append_manyc             C   s  t jdddg}t jdddg}t jddddddgddddddgd}tj|j|| tjt j||g| t jddddddg}tj|j|d	d
|d	d tjt j||gd	d
|d	d d}tjt|d |j|d	d W d Q R X tjt|d t j||gd	d W d Q R X d S )Nr            r      r   )r   T)Zignore_index)Zcheck_index_typez Indexes have overlapping values:)r	   )r
   )	pdr   r   r   r   concatr   r   r   )r   s1s2expr   r   r   r   test_append_duplicates   s    &z'TestSeriesAppend.test_append_duplicatesc             C   sD   t jdddg}||g}||f}|j|}|j|}tj|| d S )Nr   r"   r#   )r&   r   r   r   r   )r   sZ
list_inputZtuple_inputexpectedr    r   r   r   test_append_tuples5   s    

z#TestSeriesAppend.test_append_tuplesc             C   sn   t jddgddgd}d}tjt|d |jj| W d Q R X tjt|d |jj|g W d Q R X d S )Nr   r"   r#   r$   )ABzCto_append should be a Series or list/tuple of Series, got DataFrame)r	   )r&   r   r   r   	TypeErrorr/   r   )r   dfr   r   r   r   test_append_dataframe_raises@   s    z-TestSeriesAppend.test_append_dataframe_raisesN)__name__
__module____qualname__r   r!   r+   r.   r3   r   r   r   r   r   	   s
   r   c               @   sD   e Z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 )!TestSeriesAppendWithDatetimeIndexc       
      C   s  t dddd}ttjjt||}ttjjt|d|d}|j|}|j|}ttj	|j
d}tj|j| tj|j| |j|}tj|| |j||g}ttj	|j
d}tj|| |j }|j }	d	|_d
|	_|j|jd	kst|j|	jd kstd S )Nz5/8/2012 1:45r   5T)periodsfreqr$   )r   r"   r#   Zfoobar)r   r   nprandomrandnlenr   r   r   Ztilevaluesr   assert_index_equalr   copynamer   )
r   rngtsr2   r    	result_dfZex_indexappendedrng1rng2r   r   r   r   L   s&    


z-TestSeriesAppendWithDatetimeIndex.test_appendc             C   s   t ddddd}t ddddd}t ddddd}ttjjt||}ttjjt|d|d	}ttjjt||}ttjjt|d|d	}|j|}|j|}	tj	|j
| tj	|	j
| |j|}
tj	|
| d S )
Nz5/8/2012 1:45r   r8   z
US/Eastern)r9   r:   tzz5/8/2012 2:35   r$   )r   )r   r   r<   r=   r>   r?   r   r   r   rA   r   )r   rD   rI   rng3rE   r2   ts2df2r    rF   rG   r   r   r   test_append_tzf   s    


z0TestSeriesAppendWithDatetimeIndex.test_append_tzc             C   s   ddl m} tddd|dd}tddd|dd}tdd	d|dd}ttjjt||}ttjjt|d
|d}ttjjt||}ttjjt|d
|d}|j	|}	|j	|}
t
j|	j| t
j|
j| |j	|}t
j|| d S )Nr   )timezonez5/8/2012 1:45r   r8   z
US/Eastern)r9   r:   rJ   z5/8/2012 2:35rK   r$   )r   )ZpytzrP   r   r   r<   r=   r>   r?   r   r   r   rA   r   )r   rP   rD   rI   rL   rE   r2   rM   rN   r    rF   rG   r   r   r   test_append_tz_explicit_pytzx   s"    


z>TestSeriesAppendWithDatetimeIndex.test_append_tz_explicit_pytzc             C   s   t ddddd}t ddddd}t ddddd}ttjjt||}ttjjt|d|d	}ttjjt||}ttjjt|d|d	}|j|}|j|}	tj	|j
| tj	|	j
| |j|}
tj	|
| d S )
Nz5/8/2012 1:45r   r8   zdateutil/US/Eastern)r9   r:   rJ   z5/8/2012 2:35rK   r$   )r   )r   r   r<   r=   r>   r?   r   r   r   rA   r   )r   rD   rI   rL   rE   r2   rM   rN   r    rF   rG   r   r   r   test_append_tz_dateutil   s     


z9TestSeriesAppendWithDatetimeIndex.test_append_tz_dateutilc       	      C   s  t ddddd}t ddddd}tdg|d}tdg|d}|j|}td	d
gddd}tddg|d}tj|| |jj|jkstt ddddd}t ddddd}tdg|d}tdg|d}|j|}td	d
gddd}tddg|d}tj|| |j}||jjkstt ddddd}t ddddd}tdg|d}tdg|d}|j|}t	t
dddt
dddg}tddg|d}tj|| d S )Nz1/1/2011 01:00r   Hz
US/Eastern)r9   r:   rJ   z1/1/2011 02:00)r   r"   z2011-01-01 01:00z2011-01-01 02:00)rJ   r:   UTCz
US/Central)rJ   )r   r   r   r   r   r   r   rJ   r   r   r   )	r   rH   rI   ser1ser2	ts_result	exp_indexr*   utcr   r   r   test_series_append_aware   s>    



z:TestSeriesAppendWithDatetimeIndex.test_series_append_awarec             C   s   t dddd}t ddddd}ttjjt||d}ttjjt||d}|j|}|jjt	j|jjt	}|jj
|stt dddd}td	}ttjjt||d}ttjjt||d}|j|}|jjt	j|j}|jj
|std S )
Nz1/1/2011 01:00r   rS   )r9   r:   z1/1/2011 02:00z
US/Eastern)r9   r:   rJ   )r   d   )r   r   r<   r=   r>   r?   r   r   Zastypeobjectequalsr   range)r   rH   rI   rU   rV   rW   r-   r   r   r   test_series_append_aware_naive   s    

z@TestSeriesAppendWithDatetimeIndex.test_series_append_aware_naivec             C   s   t ddddd}t ddddd}tdddg|d	}td
ddg|d	}|j|}tddddddgdd}tdddd
ddg|d	}tj|| |jj|jkstd S )Nz1/1/2016 01:00r#   rS   z
US/Eastern)r9   r:   rJ   z8/1/2016 01:00r   r"   )r   r         z2016-01-01 01:00z2016-01-01 02:00z2016-01-01 03:00z2016-08-01 01:00z2016-08-01 02:00z2016-08-01 03:00)rJ   )	r   r   r   r   r   r   r   rJ   r   )r   rH   rI   rU   rV   rW   rX   r*   r   r   r   test_series_append_dst   s     
z8TestSeriesAppendWithDatetimeIndex.test_series_append_dstN)
r4   r5   r6   r   rO   rQ   rR   rZ   r_   rb   r   r   r   r   r7   K   s   ,r7   )Znumpyr<   r   Zpandasr&   r   r   r   r   r   r   Zpandas._testingZ_testingr   r   r7   r   r   r   r   <module>   s    
B