
    Mh(                     X    S SK rS SKrS SKrS SKJrJrJrJrJ	r	  S SK
Jr   " S S5      rg)    N)	DataFrame
RangeIndexSeriesconcat
date_rangec                   L   \ rS rSrS rS r\R                  R                  SSS/5      \R                  R                  S/ / SQ/5      S	 5       5       r	\R                  R                  S
\
R                  \
R                  \
R                  4\
R                  \
R                  \
R                  4S\
R                  \
R                  4S\
R                  \
R                  4S\
R                  \
R                  4S\
R                  \
R                  4SS/5      S 5       r\R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      \R                  R                  S/ SQ5      S 5       5       rS rS rS rS rS rS rS rS rS rS rS rg)!TestEmptyConcat   c           	         [        [        R                  R                  S5      R	                  S5      [        S5      S9nUS S R                  5       nSUS'   USS nXEXSSS  /n[        USUS	9nUR                  / S
QS9nUS   R                  U(       d  [        OS5      US'   SUR                  SS2S4'   [        R                  " Xx5        [        S[        S5      0[        SSSS9S9n[        5       n[        X5/SS9n	[        R                  " X5        [        XS/SS9n	[        R                  " X5        [        X5/5      n	[        R                  " X5        [        XS/5      n	[        R                  " X5        g )N   )
      abcdcolumns   barfoor   )axissort)abcdr   zstring[pyarrow_numpy]r   Ai'  20130101s)periodsfreqindex   r   )r   nprandomdefault_rngstandard_normallistcopyr   reindexastypeobjectloctmassert_frame_equalranger   )
selfr   using_infer_stringdfdfcopyemptyframes	concattedexpectedresults
             X/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/concat/test_empty.pytest_handle_empty_objects)TestEmptyConcat.test_handle_empty_objects   sd   II!!!$44W=tF|
 BQu1Q12/65	::&A:B"5/00,F2I
 $)QqS%Z 
i2 %,z*eRU'V
 !,
f)!,
f)$
f)$
f)    c                    [        / SQSS9n[        SSS9n[        X/SS9n[        / SQ[        R                  [        R                  [        R                  /S	.[        S
5      S9n[        R                  " X45        [        / SQSS9n[        SSS9nSn[        R                  " [        US9   [        X/SS9nS S S 5        [        / SQ5      n[        R                  " X45        [        / SQSS9n[        S SS9n[        X/SS9n[        / SQ[        R                  [        R                  [        R                  /S.SS/[        S
5      S9n[        R                  " X45        g ! , (       d  f       N= f)Nr"   r      x)nameyfloat64)rB   dtyper"   r#   )rA   rC   r@   r    zDThe behavior of array concatenation with empty entries is deprecated)matchr   )rA   r   )r   r!   )r   r   r   r$   nanr   r.   r/   assert_produces_warningFutureWarningassert_series_equal)r1   s1s2resexpmsgs         r:   test_concat_empty_series(TestEmptyConcat.test_concat_empty_series4   s4   IC(I.bXA&266266266":;Q-
 	c'IC(I.T''SA"*C B Y
s( IC(Y/bXA& 89!HQ-

 	c' BAs   .E%%
E3tzNUTCvaluesr?   c                 d   [        / SS9R                  R                  U5      nU(       a  S O[        R                  n[        X$S9n[        [        [        R                  /[        U5      -  SS9R                  R                  U5      US.5      n[        X5/SS9n[        R                  " Xv5        g )NM8[ns]rE   )r   r"   r"   r#   )r   dttz_localizer$   rD   r   pdNaTlenr   r.   r/   )r1   rR   rT   firstrE   secondr8   r9   s           r:   !test_concat_empty_series_timelike1TestEmptyConcat.test_concat_empty_series_timelikeS   s    
 r*--99"=BJJ,266(S[0ADDPPQST
 a0
f/r=   zleft,right,expectedm8[ns]rV   )categoryrb   rb   )rb   r,   r,   c                 ^    [        [        US9[        US9/5      nUR                  U:X  d   eg NrW   )r   r   rE   )r1   leftrightr8   r9   s        r:   test_concat_empty_series_dtypes/TestEmptyConcat.test_concat_empty_series_dtypese   s/    $ d+V%-@AB||x'''r=   rE   )rD   int8uint8boolra   rV   c                     [         R                  " U5      n[        [        US9/5      nUR                  U:X  d   e[        [        US9[        US9/5      nUR                  U:X  d   eg rd   )r$   rE   r   r   )r1   rE   r9   s      r:   0test_concat_empty_series_dtypes_match_roundtrips@TestEmptyConcat.test_concat_empty_series_dtypes_match_roundtripsz   s`     e,-.||u$$$e,f5.ABC||u$$$r=   )rD   ri   rj   ra   rV   dtype2c                 .  ^^ X:X  a  [         R                  " S5        S mS mUU4S jn[        R                  " U5      n[        R                  " U5      nU" X5      n[	        [        US9[        US9/5      R                  nUR                  U:X  d   eg )Nz%same dtype is not applicable for testc                    U R                   UR                   1n[        U1 Sk-
  5      (       d!  U R                   S:X  d  UR                   S:X  a  g[        USS1-
  5      (       d!  U R                   S:X  d  UR                   S:X  a  gg )N>   r   iurr   rs   r   kindr\   rE   ro   typss      r:   int_result_typeSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.int_result_type   so    JJ,Dto-..

c!V[[C%7c
*++

c!V[[C%7r=   c                     U R                   UR                   1n[        U1 Sk-
  5      (       d!  U R                   S:X  d  UR                   S:X  a  gg )N>   frr   rs   r{   rt   rv   s      r:   float_result_typeUTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.float_result_type   sA    JJ,Dto-..

c!V[[C%7r=   c                 :   > T" X5      nUb  U$ T" X5      nUb  U$ g)NO )rE   ro   r9   r|   rx   s      r:   get_result_typeSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.get_result_type   s0    &u5F!$U3F!r=   rW   )pytestskipr$   rE   r   r   ru   )r1   rE   ro   r   r8   r9   r|   rx   s         @@r:   *test_concat_empty_series_dtypes_roundtrips:TestEmptyConcat.test_concat_empty_series_dtypes_roundtrips   s~     ?KK?@
			 &!"51e,f6.BCDJJ{{h&&&r=   c                     [        [        SS9[        [        R                  S9[        [        R                  S9/5      R
                  [        R                  :X  d   eg )NrV   rW   )r   r   r$   bool_int64rE   object_r1   s    r:   &test_concat_empty_series_dtypes_triple6TestEmptyConcat.test_concat_empty_series_dtypes_triple   sF    h'bhh)?bhhAWXezz	
r=   c                     [        [        [        R                  " / 5      SS9[        SS9/5      R                  S:X  d   eg )Nrb   rW   rD   )r   r   r$   arrayrE   r   s    r:   2test_concat_empty_series_dtype_category_with_arrayBTestEmptyConcat.test_concat_empty_series_dtype_category_with_array   s?     J7i9PQe	
r=   c                    [        [        SS9R                  S5      [        SS9R                  S5      /5      nUR                  S:X  d   e[        [        SS9R                  S5      [        SS9/5      n[        R
                  " [        R                  5      nUR                  U:X  d   e[        [        SS9R                  S5      [        SS9/5      n[        R
                  " S5      nUR                  U:X  d   eg )NrD   rW   SparsezSparse[float64]r,   )r   r   r+   rE   rZ   SparseDtyper$   rD   )r1   r9   r8   s      r:   &test_concat_empty_series_dtypes_sparse6TestEmptyConcat.test_concat_empty_series_dtypes_sparse   s    Y'..x8Y'..x8
 ||0000)$++H5vI7NO
 >>"**-||x''')$++H5vH7MN
 >>(+||x'''r=   c                     [        / SQ[        R                  / SQS.5      n[        UR                  S9n[	        X/SS9nUR                  [        5      n[        R                  " X45        g )N)r   r"   r"   r?   )RowEmptyCol	NumberColr   r   r#   )	r   r$   rG   r   r   r+   r,   r.   r/   )r1   df_1df_2r9   r8   s        r:   !test_concat_empty_df_object_dtype1TestEmptyConcat.test_concat_empty_df_object_dtype   sO    YWX.1-;;v&
f/r=   c                    [        [        S5      S9nUS   R                  [        R                  5      US'   US   R                  [        R
                  5      US'   US   R                  [        R                  5      US'   [        X/5      nUS   R                  [        R                  :X  d   eUS   R                  [        R
                  :X  d   eUS   R                  [        R                  :X  d   e[        XR                  [        R                  5      /5      nUS   R                  [        R                  :X  d   eUS   R                  [        R                  :X  d   eUS   R                  [        R                  :X  d   eg )Nabcr   r   r   r   )
r   r(   r+   r$   r   int32rD   r   rE   r   )r1   r3   r9   s      r:   "test_concat_empty_dataframe_dtypes2TestEmptyConcat.test_concat_empty_dataframe_dtypes   s,   tE{+S'..*3S'..*3S'..,3!c{  BHH,,,c{  BHH,,,c{  BJJ...YYrzz234c{  BJJ...c{  BJJ...c{  BJJ...r=   c                     [        5       n[        SSS/0SS/SS9n[        S/ 0[        S5      SS9n[        X!/SSS9n[        R                  " XC5        [        X!/SS	S9n[        R                  " XB5        g )
Nr   r"   r   r   r   )r!   rE   inner)r   joinouter)r   r   r   r.   r/   )r1   df_emptydf_adf_expectedr9   s        r:   test_concat_inner_join_empty,TestEmptyConcat.test_concat_inner_join_empty   sw    ;#1vq!fGDb	AgN(qw?
f2(qw?
f+r=   c                     [        SS /SS //SS/S9n[        SS /SS //SS/S9n[        X/5      nUR                  n[        R                  " UR                  U5        g )Nr"   r   r   r   )datar   r@   r   )r   r   dtypesr.   rJ   )r1   df1df2r9   r8   s        r:   test_empty_dtype_coerce'TestEmptyConcat.test_empty_dtype_coerce   sg     q$i!T3c3ZHq$i!T3c3ZH
#::
v}}h7r=   c                    [        SS/S9n[        SS/S9n[        XU/5      n[        / SQS9n[        R                  " X45        [        SS/S9n[        S/S9n[        XV/5      n[        SS/S9n[        R                  " X45        g )Nr   r   r   r   r   r   r   )r   r   r.   r/   )r1   r   r   r9   r8   df3df4s          r:   test_concat_empty_dataframe+TestEmptyConcat.test_concat_empty_dataframe
  s    c
+c
+3(_5
f/c
+&
#c3Z0
f/r=   c                    [        / SQ/ SQS.5      n[        S/ SQ05      n[        US S US S /5      nUS   R                  [        R                  :X  d   eU(       d#  US   R                  [        R
                  :X  d   eg g )Nr?   r   )r   r   r   r   r   )r   r   rE   r$   r   r   )r1   r2   r   r   r9   s        r:   ,test_concat_empty_dataframe_different_dtypes<TestEmptyConcat.test_concat_empty_dataframe_different_dtypes  sz    io>?i()Ra#bq'*+c{  BHH,,,6Hvc{  BJJ.VVh.r=   c                 8   [        S[        R                  " / [        R                  " 5       S905      n[        S[        R                  " / SQ[        R                  " 5       S905      nUR	                  5       n[        X/5      n[        R                  " XC5        g)z<48510 `concat` to an empty EA should maintain type EA dtype.r   rW   r?   N)r   rZ   r   
Int64Dtyper)   r   r.   r/   )r1   r   df_newr8   r9   s        r:   test_concat_to_empty_ea'TestEmptyConcat.test_concat_to_empty_ea!  sh    c288Bbmmo#FGHC)2==?!KLM;;=*+
f/r=   r   )__name__
__module____qualname____firstlineno__r;   rP   r   markparametrizer_   r$   r   r   r   float32r   rg   rm   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r=   r:   r	   r	      s   "*H(> [[TD%=1[[XI70 8 20  [[ XXrxx,XXrzz2::.rxx,rxx,rxx,rxx,0,	
 (! (
 [[I%% [[W&VW[[8&'	 X
&'P

(*0/ 
,80W0r=   r	   )numpyr$   r   pandasrZ   r   r   r   r   r   pandas._testing_testingr.   r	   r   r=   r:   <module>r      s)        X0 X0r=   