
    o[we                     `    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          ZdS )    N)	DataFrameDatetimeIndexIndex
MultiIndexSeriesconcat
date_rangec                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                            d ej        d	          d
fdg          d             Zd Zd ZdS )TestSeriesConcatc                    t          j                    }d|_        |d d         |dd         |dd          g}t          |          }t          j        ||           |j        |j        k    sJ t          |g d          }|                                }t          t          j        |j	        j
        d                    |_	        t          j        g dd |D                       t          j        t          |                    g}t          g d|j	        g|	          }||_	        t          j        ||           d S )
Nfoo      r         )keyszM8[ns]dtypec                 ,    g | ]}t          |          S  )len).0xs     Glib/python3.11/site-packages/pandas/tests/reshape/concat/test_series.py
<listcomp>z7TestSeriesConcat.test_concat_series.<locals>.<listcomp>    s    *B*B*Ba3q66*B*B*B    )levelscodes)tmmakeTimeSeriesnamer   assert_series_equalcopyr   nparrayindexvaluesrepeataranger   r   )selftspiecesresultexpected	exp_codes	exp_indexs          r   test_concat_seriesz#TestSeriesConcat.test_concat_series   s*     RaR&"QrT(BrssG,
vr***{bg%%%%YYY///7799 "(/!J!J!JKKYyyy*B*B6*B*B*BCCRYsSUwwEWEWX	yyy"(&;9MMM	"
vx00000r   c                    t          dg          }t          g t                    }|}d}t          j        t          |          5  t          ||g          }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   zDThe behavior of array concatenation with empty entries is deprecated)match)r   objectr    assert_produces_warningFutureWarningr   r#   )r+   s1s2r/   msgr.   s         r   1test_concat_empty_and_non_empty_series_regressionzBTestSeriesConcat.test_concat_empty_and_non_empty_series_regression%   s    QC[[Bf%%%T'SAAA 	& 	&RH%%F	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&
vx00000s   A$$A(+A(c                 \   t          j                    }|d d         |dd          |dd         g}t          |d          }t          |          j        }t          j        ||           t          |g dd          }t          |g d          j        }t          j        ||           d S )Nr   r   axis)ABC)r   r?   r'   )r    r!   r   r   Tassert_frame_equal)r+   r,   r-   r.   r/   s        r   test_concat_series_axis1z)TestSeriesConcat.test_concat_series_axis10   s      SbS'2abb62ad8,Q'''V$$&
fh///___1===V???;;;=
fh/////r   c                    t          t          j                            d                              d          d          }t          t          j                            d                              d          d          }t          ||gd          }t          ||d          }t          j        ||           d |_	        t          ||gd          }t          j
        |j        t          dd	gd
                     d S )Nr   r   r@   r"   rA   r   r>   r@   rA   r   r5   r   )r   r%   randomdefault_rngstandard_normalr   r   r    rE   r"   assert_index_equalcolumnsr   r+   sr9   r.   r/   s        r   /test_concat_series_axis1_preserves_series_namesz@TestSeriesConcat.test_concat_series_axis1_preserves_series_names=   s    29((++;;A>>SIIIBI))!,,<<Q??cJJJBa(((12..//
fh///Ba(((
fneS!HH.M.M.MNNNNNr   c                    t          t          j                            d                              d          g dd          }t          t          j                            d                              d          g dd          }t          ||gd	|
          }t          ||dg d          }|r|                                }t          j	        ||           d S )Nr      )cabr@   r'   r"      )drU   rV   rT   rA   r   )r?   sortrI   )rT   rU   rV   rY   rC   )
r   r%   rJ   rK   rL   r   r   
sort_indexr    rE   )r+   rZ   rP   r9   r.   r/   s         r   %test_concat_series_axis1_with_reindexz6TestSeriesConcat.test_concat_series_axis1_with_reindexJ   s    I!!!$$44Q77UX
 
 
 I!!!$$44Q77&&&
 
 

 Bad33312..6J6J6JKKK 	-**,,H
fh/////r   c                    t          g d          }t          g d          }t          ||gdddgdg          }t          ddgd	d
gddggt          ddgd                    }t	          j        ||           t          ||gdddgddg          }t          ddgd	d
gddggt          j        ddgddg                    }t	          j        ||           d S )N)r   r   rS   )rX   r      r   rU   rV   r@   )r?   r   namesrX   r   r   rS   r^   rH   rN   )rU   r   )rV   r   rA   )r_   )r   r   r   r   r    rE   r   from_tuplesrO   s        r   &test_concat_series_axis1_names_appliedz7TestSeriesConcat.test_concat_series_axis1_names_appliedZ   s   999IIIBasCjFFFVaVaV$eS#JS.I.I.I
 
 
 	fh///Bax.B3PS*UUUVaVaV$*Hh+?SzRRR
 
 
 	fh/////r   c                    t          ddd          dd         }t          t          j                            d                              t          |                    |d	          }t          t          j                            d                              t          |                    |d	          }t          ||gd
d          }t          t          d                    }t          j        |j        |d           d S )Nz01-Jan-2013z01-Jan-2014MS)freqr   r   valuerW   r   Tr?   ignore_index)exact)r	   r   r%   rJ   rK   rL   r   r   r   ranger    rM   rN   )r+   datesr8   r9   r.   r/   s         r   0test_concat_series_axis1_same_names_ignore_indexzATestSeriesConcat.test_concat_series_axis1_same_names_ignore_indexk   s    =-dCCCAbDII!!!$$44SZZ@@
 
 

 I!!!$$44SZZ@@
 
 
 Rqt<<<q??
fnhdCCCCCCr   zs1name,s2name   +   r   )rn   ro   c                     t          ddd|          }t          ddd|          }t          ||g          }t          ddddd          }t          j        ||           d S )	Nr   r   )rU   rV   rH   r   r^   )rT   rY   )rU   rV   rT   rY   )r   r   r    r#   )r+   s1names2namer8   r9   r.   r/   s          r   &test_concat_series_name_npscalar_tuplez7TestSeriesConcat.test_concat_series_name_npscalar_tuple}   s{    
 !!$$6222!!$$6222R!!::;;
vx00000r   c                    t          ddgd          }t          ddg          }t          ddg          }t          |||gd          }t          ddgddgddgdg d	          }t          j        ||           t          |||gdg d
          }t          ddgddgddgd
g d
	          }t          j        ||           t          |||gdd          }t          ddgddgddgd          }t          j        ||           d S )Nr   r   r   rH   rX   r   r>   )r   r   r   r`   )redblueyellow)r?   r   Trh   r   )r   r   r   r    rE   )r+   named_seriesunnamed_series1unnamed_series2r.   r/   s         r   (test_concat_series_partial_columns_namesz9TestSeriesConcat.test_concat_series_partial_columns_names   so   q!f5111 !Q.. !Q..HqQQQF1v1a&11===
 
 
 	fh///?O<***
 
 

 FQFq!f==---
 
 
 	fh///?O<1SW
 
 
 !QQF1v>>??
fh/////r   c                      |dg          }t          |j        d d d         g          }t          j        ||           d S )Nd   rf   )r   ilocr    assert_equal)r+   frame_or_seriesobjr.   s       r   &test_concat_series_length_one_reversedz7TestSeriesConcat.test_concat_series_length_one_reversed   sG    ose$$$$B$())
$$$$$r   N)__name__
__module____qualname__r2   r;   rF   rQ   r\   rb   rm   pytestmarkparametrizer%   int64rt   r|   r   r   r   r   r   r      s        1 1 1(	1 	1 	10 0 0O O O0 0 0 0 0 0"D D D$ [828C=='2NC 1 1 10 0 0:% % % % %r   r   )numpyr%   r   pandasr   r   r   r   r   r   r	   pandas._testing_testingr    r   r   r   r   <module>r      s                               Y% Y% Y% Y% Y% Y% Y% Y% Y% Y%r   