
    .iq                     X    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y)    N)	DataFrameDatetimeIndexIndex
MultiIndexSeriesconcat
date_rangec                   `   e Zd Zej                  j                  dedg      ej                  j                  dej                  ej                  ddg      d               Z
d Zd Zd	 Zd
 Zd Zd Zd Zej                  j                  d ej                  d      dg      d        Zd Zd Zy)TestSeriesConcat
bool_dtypebooleandtypeInt64Float64c                 "   t        ddg|      }t        ddg|      }t        ||gd      }t        g dt              }|j                  d   du sJ t	        |j                  d         t
        t        fv sJ t        j                  ||       y )	NTFr         )ignore_index)TFr   r   r   )	r   r   objectiloctypeintfloattmassert_series_equal)selfr   r   leftrightresultexpecteds          e/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_series.pytest_concat_bool_and_numericz-TestSeriesConcat.test_concat_bool_and_numeric   s     tUm:61vU+uD9-V<{{1~%%%FKKN#U|333
vx0    c           	         t        t        j                  dt        j                        t	        ddd      d      }d|_        |d d |dd	 |d	d  g}t        |      }t        j                  ||       |j
                  |j
                  k(  sJ t        |g d
      }|j                         }t        j                  g d
|D cg c]  }t        |       c}      t        j                  t        |            g}t        g d
t        |j                  j                  d            g|      }||_        t        j                  ||       y c c}w )N   r   
2020-01-01ns)periodsunitfooindexname      r   r   r   )keyszM8[ns])levelscodes)r   nparangefloat64r	   r.   r   r   r   copyrepeatlenr   r   r-   to_numpy)r   tspiecesr    r!   x	exp_codes	exp_indexs           r"   test_concat_seriesz#TestSeriesConcat.test_concat_series   s   IIb

+\2DA

 Ra&"Qr(BrsG,
vr*{{bgg%%%Y/779YYy6*Ba3q6*BCRYYsSUwEWX	}RXX->->X->-NOP
	 #
vx0 +Cs   E
c                     t        dg      }t        g t              }|j                  t              }t        ||g      }t	        j
                  ||       y )Nr   r   )r   r   astyper   r   r   )r   s1s2r!   r    s        r"   1test_concat_empty_and_non_empty_series_regressionzBTestSeriesConcat.test_concat_empty_and_non_empty_series_regression5   sE    QC[Bf%99V$R!
vx0r$   c                    t        t        j                  dt        j                        t	        dd            }|d d |dd  |dd g}t        |d	      }t        |      j                  }t        j                  ||       t        |g d
d      }t        |g d
      j                  }t        j                  ||       y )N
   r   r'   )r)   r-   r   r   axis)ABC)r2   rL   )
r   r5   r6   r7   r	   r   r   Tr   assert_frame_equal)r   r<   r=   r    r!   s        r"   test_concat_series_axis1z)TestSeriesConcat.test_concat_series_axis1>   s    IIb

+:lTV3W
 Sb'2ab62a8,Q'V$&&
fh/_1=V?;==
fh/r$   c                    t        t        j                  j                  d      j	                  d      d      }t        t        j                  j                  d      j	                  d      d      }t        ||gd      }t        ||d      }t        j                  ||       d |_	        t        ||gd      }t        j                  |j                  t        dd	gd
             y )Nr   r/   rM   r.   rN   r   rK   rM   rN   r   r   r   )r   r5   randomdefault_rngstandard_normalr   r   r   rQ   r.   assert_index_equalcolumnsr   r   srE   r    r!   s        r"   /test_concat_series_axis1_preserves_series_namesz@TestSeriesConcat.test_concat_series_axis1_preserves_series_namesM   s    299((+;;A>SIBII))!,<<Q?cJBa(12./
fh/Ba(
fnneS!HH.MNr$   c                    t        t        j                  j                  d      j	                  d      g dd      }t        t        j                  j                  d      j	                  d      g dd      }t        ||gd	|
      }t        ||dg d      }|r|j                         }t        j                  ||       y )Nr      )cabrM   r,      )dra   rb   r`   rN   r   )rL   sortrU   )r`   ra   rb   rd   rI   )
r   r5   rV   rW   rX   r   r   
sort_indexr   rQ   )r   re   r\   rE   r    r!   s         r"   %test_concat_series_axis1_with_reindexz6TestSeriesConcat.test_concat_series_axis1_with_reindexZ   s    II!!!$44Q7UX
 II!!!$44Q7&

 Bad312.6J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
                  ||       y )N)r   r   r_   )rc   r/      r   ra   rb   rM   )rL   r2   namesrc   r   r/   r_   ri   rT   rZ   )ra   r   )rb   r   rN   )rj   )r   r   r   r   r   rQ   r   from_tuplesr[   s        r"   &test_concat_series_axis1_names_appliedz7TestSeriesConcat.test_concat_series_axis1_names_appliedj   s    9IBasCjFVaVaV$eS#JS.I
 	fh/Bax.B3PS*UVaVaV$**Hh+?SzR
 	fh/r$   c                    t        ddd      dd }t        t        j                  j	                  d      j                  t        |            |d	      }t        t        j                  j	                  d      j                  t        |            |d	      }t        ||gd
d      }t        t        d            }t        j                  |j                  |d       y )Nz01-Jan-2013z01-Jan-2014MS)freqr   r   valuer,   r   TrL   r   )exact)r	   r   r5   rV   rW   rX   r:   r   r   ranger   rY   rZ   )r   datesrD   rE   r    r!   s         r"   0test_concat_series_axis1_same_names_ignore_indexzATestSeriesConcat.test_concat_series_axis1_same_names_ignore_index{   s    =-dCAbIII!!!$44SZ@

 II!!!$44SZ@
 Rqt<q?
fnnhdCr$   s1name   c                     d}t        ddd|      }t        ddd|      }t        ||g      }t        ddddd	      }t        j                  ||       y )
N)+   r   r   r   )ra   rb   rT   r/   ri   )r`   rd   )ra   rb   r`   rd   )r   r   r   r   )r   rx   s2namerD   rE   r    r!   s          r"   &test_concat_series_name_npscalar_tuplez7TestSeriesConcat.test_concat_series_name_npscalar_tuple   s\     !!$62!!$62R!:;
vx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                  ||       y )Nr   r   r+   rT   rc   r/   rK   )r+   r   r   rk   )redblueyellow)rL   r2   Trs   r1   )r   r   r   r   rQ   )r   named_seriesunnamed_series1unnamed_series2r    r!   s         r"   (test_concat_series_partial_columns_namesz9TestSeriesConcat.test_concat_series_partial_columns_names   s   q!f51 !Q. !Q.HqQF1v1a&1=
 	fh/?O<*

 FQFq!f=-
 	fh/?O<1SW
 !QQF1v>?
fh/r$   c                 z     |dg      }t        |j                  d d d   g      }t        j                  ||       y )Nd   rq   )r   r   r   assert_equal)r   frame_or_seriesobjr    s       r"   &test_concat_series_length_one_reversedz7TestSeriesConcat.test_concat_series_length_one_reversed   s5    se$$B$()
$r$   N)__name__
__module____qualname__pytestmarkparametrizeboolr5   int64r7   r#   rA   rF   rR   r]   rg   rm   rw   r}   r   r    r$   r"   r   r      s    [[\D)+<=[[WrxxWi&PQ1 R >11010O0 0"D$ [[Xs';<1 =10:%r$   r   )numpyr5   r   pandasr   r   r   r   r   r   r	   pandas._testing_testingr   r   r   r$   r"   <module>r      s+        h% h%r$   