o
    5c?                     @   sR   d dl Zd dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZ G dd dZdS )    N)	DataFrameDatetimeIndexIndex
MultiIndexSeriesconcat
date_rangec                   @   sx   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	e
jdeddfdgdd Zdd Zdd ZdS )TestSeriesConcatc                 C   s   t  }d|_|d d |dd |dd  g}t|}t || |j|jks*J t|g dd}| }ttj|j	j
dd|_	tg ddd	 |D tt|g}tg d|j	g|d
}||_	t || d S )Nfoo      r         )keyszM8[ns]dtypec                 S   s   g | ]}t |qS  )len).0xr   r   ]/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/reshape/concat/test_series.py
<listcomp>!   s    z7TestSeriesConcat.test_concat_series.<locals>.<listcomp>)levelscodes)tmmakeTimeSeriesnamer   assert_series_equalcopyr   nparrayindexvaluesrepeataranger   r   )selftspiecesresultexpected	exp_codes	exp_indexr   r   r   test_concat_series   s   "(z#TestSeriesConcat.test_concat_seriesc                 C   s6   t dg}t g td}|}t||g}t|| d S )Nr   r   )r   objectr   r   r   )r&   s1s2r*   r)   r   r   r   1test_concat_empty_and_non_empty_series_regression&   s
   
zBTestSeriesConcat.test_concat_empty_and_non_empty_series_regressionc                 C   s   t  }|d d |dd  |dd g}t|dd}t|j}t || t|g ddd}t|g ddj}t || d S )Nr   r   axis)ABC)r   r4   r"   )r   r   r   r   Tassert_frame_equal)r&   r'   r(   r)   r*   r   r   r   test_concat_series_axis1/   s   "
z)TestSeriesConcat.test_concat_series_axis1c                 C   s   t tjddd}t tjddd}t||gdd}t||d}t|| d |_t||gdd}t	|j
tddgd	d
 d S )Nr   r5   r   r6   r   r3   r5   r6   r   r.   r   )r   r    randomrandnr   r   r   r:   r   assert_index_equalcolumnsr   r&   sr0   r)   r*   r   r   r   /test_concat_series_axis1_preserves_series_names<   s   z@TestSeriesConcat.test_concat_series_axis1_preserves_series_namesc                 C   sx   t tjdg ddd}t tjdg ddd}t||gd|d	}t||d
g dd}|r4| }t|| d S )N   )cabr5   r"   r      )drG   rH   rF   r6   r   )r4   sortr=   )rF   rG   rH   rK   r8   )	r   r    r>   r?   r   r   
sort_indexr   r:   )r&   rL   rC   r0   r)   r*   r   r   r   %test_concat_series_axis1_with_reindexI   s   z6TestSeriesConcat.test_concat_series_axis1_with_reindexc                 C   s   t g d}t g d}t||gdddgdgd}tddgd	d
gddggtddgddd}t|| t||gdddgddgd}tddgd	d
gddggtjddgddgdd}t|| d S )N)r   r   rE   )rJ   r      r   rG   rH   r5   )r4   r   namesrJ   r   r   rE   rO   r<   rA   )rG   r   )rH   r   r6   )rP   )r   r   r   r   r   r:   r   from_tuplesrB   r   r   r   &test_concat_series_axis1_names_appliedS   s   "z7TestSeriesConcat.test_concat_series_axis1_names_appliedc                 C   s~   t dddddd }ttjt||dd}ttjt||dd}t||gd	d
d}ttd}t	j
|j|d
d d S )Nz01-Jan-2013z01-Jan-2014MS)freqr   valuerI   r   Tr4   ignore_indexr   )exact)r   r   r    r>   r?   r   r   r   ranger   r@   rA   )r&   datesr/   r0   r)   r*   r   r   r   0test_concat_series_axis1_same_names_ignore_indexd   s   zATestSeriesConcat.test_concat_series_axis1_same_names_ignore_indexzs1name,s2name   +   r   )r^   r_   c                 C   sR   t ddd|d}t ddd|d}t||g}t ddddd}t|| d S )	Nr   r   )rG   rH   r<   r   rO   )rF   rK   )rG   rH   rF   rK   )r   r   r   r   )r&   s1names2namer/   r0   r)   r*   r   r   r   &test_concat_series_name_npscalar_tuplen   s
   z7TestSeriesConcat.test_concat_series_name_npscalar_tuplec                 C   s   t ddgdd}t ddg}t ddg}t|||gdd}tddgddgddgdg dd	}t|| t|||gdg d
d}tddgddgddgd
g d
d	}t|| t|||gddd}tddgddgddgd}t|| d S )Nr   r   r
   r<   rJ   r   r3   )r
   r   r   rQ   )redblueyellow)r4   r   TrX   r   )r   r   r   r   r:   )r&   r
   barbazr)   r*   r   r   r   (test_concat_series_partial_columns_namesy   s"   z9TestSeriesConcat.test_concat_series_partial_columns_namesc                 C   s0   |dg}t |jd d d g}t|| d S )Nd   rV   )r   ilocr   assert_equal)r&   frame_or_seriesobjr)   r   r   r   &test_concat_series_length_one_reversed   s   
z7TestSeriesConcat.test_concat_series_length_one_reversedN)__name__
__module____qualname__r-   r1   r;   rD   rN   rS   r]   pytestmarkparametrizer    int64rc   ri   ro   r   r   r   r   r	      s    	


r	   )numpyr    rs   pandasr   r   r   r   r   r   r   pandas._testing_testingr   r	   r   r   r   r   <module>   s
    $	