o
    Ti                     @   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]Zdtypec                 S   s   g | ]}t |qS  )len).0xr   r   g/var/www/html/evchargy.com/venv/lib/python3.10/site-packages/pandas/tests/reshape/concat/test_series.py
<listcomp>    s    z7TestSeriesConcat.test_concat_series.<locals>.<listcomp>)Zlevelscodes)tmmakeTimeSeriesnamer   assert_series_equalcopyr   nparrayindexvaluesrepeatZaranger   r   )selftspiecesresultexpectedZ	exp_codesZ	exp_indexr   r   r   test_concat_series   s   "(z#TestSeriesConcat.test_concat_seriesc                 C   sh   t dg}t g td}|}d}tjt|d t||g}W d    n1 s'w   Y  t|| d S )Nr   r   zDThe behavior of array concatenation with empty entries is deprecated)match)r   objectr   Zassert_produces_warningFutureWarningr   r   )r#   s1s2r'   msgr&   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   r2   r    )r   r   r   r   Tassert_frame_equal)r#   r$   r%   r&   r'   r   r   r   test_concat_series_axis10   s   "
z)TestSeriesConcat.test_concat_series_axis1c                 C   s   t tjdddd}t tjd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   r   r3   r   r4   r   r1   r3   r4   r   r*   r   )r   r   randomdefault_rngstandard_normalr   r   r   r8   r   assert_index_equalcolumnsr   r#   sr-   r&   r'   r   r   r   /test_concat_series_axis1_preserves_series_names=   s   z@TestSeriesConcat.test_concat_series_axis1_preserves_series_namesc                 C   s   t tjddg ddd}t tjddg ddd}t||gd	|d
}t||dg dd}|r:| }t	|| d S )Nr      )cabr3   r    r      )drF   rG   rE   r4   r   )r2   sortr;   )rE   rF   rG   rJ   r6   )
r   r   r<   r=   r>   r   r   Z
sort_indexr   r8   )r#   rK   rB   r-   r&   r'   r   r   r   %test_concat_series_axis1_with_reindexJ   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   rD   )rI   r      r   rF   rG   r3   )r2   r   namesrI   r   r   rD   rM   r:   r@   )rF   r   )rG   r   r4   )rN   )r   r   r   r   r   r8   r   from_tuplesrA   r   r   r   &test_concat_series_axis1_names_appliedZ   s   "z7TestSeriesConcat.test_concat_series_axis1_names_appliedc                 C   s   t dddddd }ttjdt||dd	}ttjdt||dd	}t||gd
dd}tt	d}t
j|j|dd d S )Nz01-Jan-2013z01-Jan-2014ZMS)freqr   r   valuerH   r   Tr2   Zignore_index)exact)r   r   r   r<   r=   r>   r   r   r   ranger   r?   r@   )r#   datesr,   r-   r&   r'   r   r   r   0test_concat_series_axis1_same_names_ignore_indexk   s   zATestSeriesConcat.test_concat_series_axis1_same_names_ignore_indexzs1name,s2name   +   r   )rZ   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   )rF   rG   r:   r   rM   )rE   rJ   )rF   rG   rE   rJ   )r   r   r   r   )r#   Zs1nameZs2namer,   r-   r&   r'   r   r   r   &test_concat_series_name_npscalar_tuple}   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:   rI   r   r1   )r
   r   r   rO   )redblueyellow)r2   r   TrU   r   )r   r   r   r   r8   )r#   Znamed_seriesZunnamed_series1Zunnamed_series2r&   r'   r   r   r   (test_concat_series_partial_columns_names   s.   z9TestSeriesConcat.test_concat_series_partial_columns_namesc                 C   s0   |dg}t |jd d d g}t|| d S )Nd   rS   )r   Zilocr   Zassert_equal)r#   Z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(   r/   r9   rC   rL   rQ   rY   pytestmarkZparametrizer   Zint64r]   ra   rd   r   r   r   r   r	      s    
r	   )numpyr   rh   Zpandasr   r   r   r   r   r   r   Zpandas._testingZ_testingr   r	   r   r   r   r   <module>   s
    $	