
    m*i(                     d    S SK rS SKrS SKJ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)using_string_dtype)	DataFrame
RangeIndexSeriesconcat
date_rangec                      \ 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\R                  R1                  \" 5       SS9S 5       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   strr   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
             f/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/reshape/concat/test_empty.pytest_handle_empty_objects)TestEmptyConcat.test_handle_empty_objects   sc   II!!!$44W=tF|
 BQu1Q12/65	::&A:B"5/00,F%
 $)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)rD   dtyper$   r%   )rC   rE   rB   r"   zDThe behavior of array concatenation with empty entries is deprecated)matchr   )rC   r   )r   r#   )r   r   r   r&   nanr   r0   r1   assert_produces_warningFutureWarningassert_series_equal)r3   s1s2resexpmsgs         r<   test_concat_empty_series(TestEmptyConcat.test_concat_empty_series6   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valuesrA   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]rG   )r   r$   r$   r%   )r   dttz_localizer&   rF   r   pdNaTlenr   r0   r1   )r3   rT   rV   firstrG   secondr:   r;   s           r<   !test_concat_empty_series_timelike1TestEmptyConcat.test_concat_empty_series_timelikeU   s    
 r*--99"=BJJ,266(S[0ADDPPQST
 a0
f/r?   zleft,right,expectedm8[ns]rX   )categoryrd   rd   )rd   r.   r.   c                 ^    [        [        US9[        US9/5      nUR                  U:X  d   eg NrY   )r   r   rG   )r3   leftrightr:   r;   s        r<   test_concat_empty_series_dtypes/TestEmptyConcat.test_concat_empty_series_dtypesg   s/    $ d+V%-@AB||x'''r?   rG   )rF   int8uint8boolrc   rX   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 rf   )r&   rG   r   r   )r3   rG   r;   s      r<   0test_concat_empty_series_dtypes_match_roundtrips@TestEmptyConcat.test_concat_empty_series_dtypes_match_roundtrips|   s`     e,-.||u$$$e,f5.ABC||u$$$r?   )rF   rk   rl   rc   rX   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urt   ru   r   kindr^   rG   rq   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>   frt   ru   r}   rv   rx   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 )rG   rq   r;   r~   rz   s      r<   get_result_typeSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.get_result_type   s0    &u5F!$U3F!r?   rY   )pytestskipr&   rG   r   r   rw   )r3   rG   rq   r   r:   r;   r~   rz   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 )NrX   rY   )r   r   r&   bool_int64rG   object_r3   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 )Nrd   rY   rF   )r   r   r&   arrayrG   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 )NrF   rY   SparsezSparse[float64]r.   )r   r   r-   rG   r\   SparseDtyper&   rF   )r3   r;   r:   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$   rA   )RowEmptyCol	NumberColr   r   r%   )	r   r&   rI   r   r   r-   r.   r0   r1   )r3   df_1df_2r;   r:   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   int32rF   r   rG   r   )r3   r5   r;   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?   zTODO(infer_string))reasonc                     [        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#   rG   inner)r   joinouter)r   r   r   r0   r1   )r3   df_emptydf_adf_expectedr;   s        r<   test_concat_inner_join_empty,TestEmptyConcat.test_concat_inner_join_empty   sy     ;#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   rB   r   )r   r   dtypesr0   rL   )r3   df1df2r;   r:   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   r0   r1   )r3   r   r   r;   r:   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 )NrA   r   )r   r   r   r   r   )r   r   rG   r&   r   r   )r3   r4   r   r   r;   s        r<   ,test_concat_empty_dataframe_different_dtypes<TestEmptyConcat.test_concat_empty_dataframe_different_dtypes  sz    io>?i()Ra#bq'*+c{  BHH,,,6Hvc{  BJJ.SSe.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   rY   rA   N)r   r\   r   
Int64Dtyper+   r   r0   r1   )r3   r   df_newr:   r;   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=   rR   r   markparametrizera   r&   r   r   r   float32r   ri   ro   r   r   r   r   r   r   xfailr   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/" [[)+4HI
, J
,80T0r?   r
   )numpyr&   r   pandas._configr   pandasr\   r   r   r   r   r   pandas._testing_testingr0   r
   r   r?   r<   <module>r      s,      -   Z0 Z0r?   