
    dj              
          d dl mZmZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlZd dlZd dlmZmZ d dlmc m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  d d	l!m"Z" d d
l#m$Z$  G d d          Z%ej&        '                    dej(        d                   d             Z)ej&        '                    deeg          ej&        '                    dej(        d                   d                         Z*d Z+d Z,d Z-ej&        '                    dg dg dg          d             Z.d Z/ej&        '                    d e j0        d ej1        d d          i           e j2         ej1        d d          d          g          d             Z3d  Z4d! Z5ej&        '                    d"g d#          d$             Z6ej&        '                    d%d&gd'z  d(fd&gd'z  d)fg d*d)fg d*d(fg          d+             Z7d, Z8d- Z9ej&        '                    d. ed/d0g1           ed2d/d0gi1           ee:3           ee:3          g          d4             Z;ej&        '                    d. ed/d0g1           ed2d/d0gi1           ee:3           ee:3          g          d5             Z<ej=        ej&        '                    d6g d7          ej&        '                    d8g d9          d:                                     Z>ej=        ej&        '                    d6g d7          ej&        '                    d8g d9          d;                                     Z?ej=        d<             Z@dS )=    )abcdeque)datetime)Decimal)Iterator)catch_warningssimplefilterN)InvalidIndexErrorPerformanceWarning)	DataFrameIndex
MultiIndexPeriodIndexSeriesconcat
date_range)SparseArray)
to_decimalc                       e Zd Zd Zd Zd Zd Zej        	                    dddg          d             Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TestConcatenatec                    t          ddd          }t          ddd          }t          t          j                            d          |          }t          t          j                            d          |          }|                                }|                                }t          ||g          }t          |j        t                    sJ |j        d         |j        d         k    sJ d S )	Nz
12/31/1990z
12/31/1999zA-DEC)freqz
12/31/2000z
12/31/2009
   r   )
r   r   nprandomrandn	to_periodr   
isinstanceindexr   )selfd1d2s1s2results         c/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/reshape/concat/test_concat.pytest_append_concatz"TestConcatenate.test_append_concat&   s    lAAAlAAABIOOB'',,BIOOB'',,\\^^\\^^ R!!&,44444|A"(1+------    c                 :   t          t          j                            dd                    }t          t          j                            ddd                              dd                    }t          ddit          d          	          }t          |||gdd
          }|s|j        j	        D ]j
        J n|j        j	        D ]j
        J t          |||gdd          }|j        j	        D ]j        j        dk    r!j
        |j        j	        d         j
        u sJ 3j        j        dv r!j
        |j        j	        d         j
        u sJ bj        t          k    r"|r|j        j	        d         u sJ j
        J t          t          j                            dd                    }t          ||||gdd          }|j        j	        D ]j        j        dk    rC|s|r5t          fd|j        j	        |j        j	        z   D                       sJ Kj
        J Uj        j        dv r!j
        |j        j	        d         j
        u sJ j        t          k    r't          fd|j        j	        D                       sJ d S )N      r   r   )size      foor   T)axiscopyFf)iuc              3   B   K   | ]}t          j        |          V  d S Nr   shares_memory.0otherarrs     r&   	<genexpr>z3TestConcatenate.test_concat_copy.<locals>.<genexpr>[   sD        ! (e44     r(   c              3   B   K   | ]}t          j        |          V  d S r7   r8   r:   s     r&   r>   z3TestConcatenate.test_concat_copy.<locals>.<genexpr>f   s0      UUE2+C77UUUUUUr(   )r   r   r   r   randintreshaperanger   _mgrarraysbasedtypekindobjectany)	r    using_array_managerusing_copy_on_writedfdf2df3r%   df4r=   s	           @r&   test_concat_copyz TestConcatenate.test_concat_copy6   s   ryq!,,--	))!Ra)88@@AFFGGE
%((333 S#QT:::" 	,{) ( (x''''( {) , ,x++++ S#QU;;;;% 
	0 
	0Cy~$$x27>!#4#999999:--x38?1#5#::::::f$$& 0#(/!"4444448/// 	1--..S#s+!%@@@;% 	V 	VCy~$$& ,*= ,    %'W^cho%E         8++++:--x38?1#5#::::::f$$UUUUSX_UUUUUUUU	V 	Vr(   c                    t          t          j                            dd                    }t          t          j                            dd                    }t	          ||gddg          }t          j        g dg dg          }t          t          j        |j        |j        f         |          }t          j
        ||           t	          ||gddg          }t          j        g d	g d
g          }t          t          j        |j        |j        f         |          }t          j
        ||           t          t          j                            dd                    }t          t          j                            dd                    }t	          ||gddgd          }t          t          j        |j        |j        f         |          }t          j
        ||           t	          ||gddgd          }t          t          j        |j        |j        f         |          }t          j
        ||           d S )Nr+   r*   r   r-   keys)r   r   r   r-   r-   r-   r-   )r   r-      r   r-   rT   r+   r0   )r   r   r   r-   r-   r-   )r   r-   rT   r   r-   rT   rS   r1   columns)r   r   r   r   r   r   from_arraysr_valuestmassert_frame_equalc_)r    rL   rM   r%   	exp_indexexpected
exp_index2s          r&   test_concat_with_group_keysz+TestConcatenate.test_concat_with_group_keysh   s
   ryq!,,--	1--..S	A///*"""$9$9$9:
 
	 RU29cj#89KKK
fh///R1v...+-?-?-?ASASAS,TUU
RU29bi#78
KKK
fh/// ryq!,,--	1--..S	AQ777RU29cj#899MMM
fh///R1vA666RU29bi#78*MMM
fh/////r(   c                    t          t          j                            dd                    }|j        d d ddgf         |j        d d dgf         |j        d d dgf         g}g d}t          |dg d|gd	g
          }t          j        |j        j	        d         t          |d	                     t          j        |j        j	        d         t          g d                     |j        j        d	d gk    sJ d S )Nr   r*   r   r-   rT   r+   )threetwoonezero)re   rd   rc   	group_key)r1   rS   levelsnamesname)r   r-   rT   r+   )r   r   r   r   ilocr   r[   assert_index_equalrW   rh   r   ri   )r    rL   pieceslevelr%   s        r&    test_concat_keys_specific_levelsz0TestConcatenate.test_concat_keys_specific_levels   s   ryr1--..'!!!aV)$bgaaa!forwqqq1#vG///(((7-
 
 
 	fn3A6e+8V8V8VWWW
fn3A6lll8K8KLLL~#T':::::::r(   mappingdictc                 x   |dk    rt           n|} |t          t          j                            dd                    t          t          j                            dd                    t          t          j                            dd                    t          t          j                            dd                    d          t                                                    }t                    }t          fd|D             |          }t          j	        ||           t          d          }t          fd	|D             |d
          }t          j	        ||           g d}t          |          }t          fd|D             |          }t          j	        ||           d S )Nrr   r*   r+   )r/   barbazquxc                      g | ]
}|         S  rx   r;   kframess     r&   
<listcomp>z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>       :::6!9:::r(   rR   r-   r1   c                      g | ]
}|         S rx   rx   ry   s     r&   r|   z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>   r}   r(   rU   )ru   r/   rt   c                      g | ]
}|         S rx   rx   ry   s     r&   r|   z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>   s    3336!9333r(   )
rr   r   r   r   r   listrS   r   r[   r\   )	r    rq   non_dict_mapping_subclassconstructorsorted_keysr%   r_   rS   r{   s	           @r&   test_concat_mappingz#TestConcatenate.test_concat_mapping   s   %//dd5N A!6!677 A!6!677 A!6!677 A!6!677	 
 
 6;;==))::::k:::MMM
fh///Q'''::::k:::STUUU
fh///$$$T***3333d333$???
fh/////r(   c                    t          t          j                            dd                    }t          t          j                            dd                    }ddgddgg}dd	g}t	          ||||gg d
||          }t	          ||||g          }t          |dggz   g dg dg dg|d gz             }||_        t          j        ||           t	          ||||gg d
|          }|j        j	        dk    sJ t	          ||||gg d
dd	g          }|j        j	        dk    sJ t          j
        |j        j        d         t          ddgd                     d S )Nr-   r+   r*   r/   ru   re   rd   firstsecond))r/   re   )r/   rd   )ru   re   )ru   rd   )rS   rh   ri   r   )r   r   r-   r-   )r   r-   r   r-   r   r   r   r   )rh   codesri   rS   rh   )NNNrS   ri   )r   r   Nrj   )r   r   r   r   r   r   r   r[   r\   ri   rm   rh   r   )r    rL   rM   rh   ri   r%   r_   r^   s           r&   test_concat_keys_and_levelsz+TestConcatenate.test_concat_keys_and_levels   s   ryq!,,--	1--..%.5%.1(#b#QQQ	
 
 
 2sB,--aSE><<|||<4&.
 
 
	
 #
fh/// b#QQQ
 
 

 |![0000 b#QQQH%
 
 

 |!%>>>>>
L"E5%.w$G$G$G	
 	
 	
 	
 	
r(   c                     t          t          j                            dd          dg          }t          t          j                            dd          dg          }d}t	          j        t          |          5  t          ||gd	d
gg dg           d d d            n# 1 swxY w Y   d}t	          j        t          |          5  t          ||gd	d
gg dg           d d d            d S # 1 swxY w Y   d S )Nr-   r+   ar0   r*   bz Values not found in passed levelmatchre   rd   )r/   rt   ru   r   zKey one not in level)r   r   r   r   pytestraises
ValueErrorr   )r    rL   rM   msgs       r&   "test_concat_keys_levels_no_overlapz2TestConcatenate.test_concat_keys_levels_no_overlap   s   ryq!,,SE:::	1--cU;;;0]:S111 	R 	RB85%.:O:O:O9PQQQQ	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R 	R %]:S111 	S 	SB9E5>;P;P;P:QRRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	Ss$   >B$$B(+B(C33C7:C7c           	         g d}t          t          j        g dd          t          j        g dd          t          j        g dd          t          j        g dd          d|          }t          t          j        g dd          t          j        g dd          t          j        g dd          t          j        g dd          d|          }t          ||gd          }t          t          j        |j        |j        gd	
          |          }t          j        ||           t          t          j        	                    dd          dg          }t          t          j        	                    dd          dg          }t          ||gddgddg          }|j
        j        dk    sJ d S )N)ABCDr-   rT   r+   r*   f8rF   i8rV   Tignore_indexr   r~   r-   r+   r   r0   r*   r   re   rd   r   r   r   )r   r   )r   r   arrayr   concatenaterZ   r[   r\   r   r   r   ri   )r    rW   df1rM   appendedr_   rL   r%   s           r&    test_crossed_dtypes_weird_cornerz0TestConcatenate.test_crossed_dtypes_weird_corner   s   &&&Xlll$777Xlll$777Xlll$777Xlll$777	  
 
 
 Xlll$777Xlll$777Xlll$777Xlll$777	  
 
 
 3*4888NCJ
3!<<<g
 
 
 	h111ryq!,,SE:::	1--cU;;;S	w>QRRR|!%8888888r(   c                     t          dddt          d                    }t          dddt          d                    }t          ||g|           d S )Nr/   rt   )r   r   r-   rT   r0   )r   r   sort)r   rB   r   )r    r   r   rM   s       r&   test_with_mixed_tuplesz&TestConcatenate.test_with_mixed_tuples  sc     eu55U1XXFFFeu55U1XXFFF 	Sz%%%%%%r(   c                 *   t          ddd          }t          j        dd          }t          ||          }t          ||          }t	          |                    dd	          |          }t	          t          j        |d
                              dd
          |ddg          }t          ||gd	          }t          j	        ||           t	          t          j        |d
                              dd
          |dd	g          }t          ||gd	          }t          j	        ||           t	          t          j        |d                              dd          |g d          }t          |||gd	          }t          j	        ||           t	          t          j        |d                              dd          |g d          }t          |||||gd	          }t          j	        ||           d|_
        t	          t          j        |d                              dd          |g d          }t          |||gd	          }t          j	        ||           d|_
        t	          t          j        |d                              dd          |g d          }t          |||gd	          }t          j	        ||           t	          t          j        |d                              dd          |g d          }t          |||gd	d          }t          j	        ||           t	          t          j        |d                              dd	          |                                dz  dg          }t          |||g          }t          j	        ||           t	          t          j        |d                              dd	          dg          }t          |||gd          }t          j	        ||           d S )Nz01-Jan-2013r   H)periodsr   int64r   r0   r-   rT   r   r   rW   r~   r+   r   r-   rT   r.   )r   r   r-   rT   r+   r/   )r/   r   r   rt   )r/   r   rt   T)r1   r   rV   r   )r   r   aranger   r   rA   repeatr   r[   r\   rk   tiletolist)r    r   r=   r#   r$   rL   r_   r%   s           r&   test_concat_mixed_objsz&TestConcatenate.test_concat_mixed_objs  s-   
 ="3???i'***Cu%%%Cu%%%s{{2q))777Ic1%%b!,,EAq6
 
 
 Rq)))
fh///Ic1%%b!,,EAq6
 
 
 Rq)))
fh///Ic1%%b!,,E999
 
 
 R1---
fh///Ic1%%b!,,E???
 
 
 RR,1555
fh/// Ic1%%b!,,E===
 
 
 R1---
fh///Ic1%%b!,,ECTCTCT
 
 
 R1---
fh/// Ic1%%b!,,E999
 
 
 R14@@@
fh/// GCOO##B**%,,..12Dqc
 
 
 R%%
fh///RWS!__44R;;aSIIIR4888
fh/////r(   c           	         t          dt          j        d                              d          t          j        gi          }t          |j        dg         |j        dg         g          }t          j        |j	        |j	                   t          dt          ddd          t          ddd          gi          }t          |j        dg         |j        dg         g          }t          j        |j	        |j	                   t          d	d
gd gdz  z   i          }t          |j        dg         |j        dg         g          }t          j        |j	        |j	                   d S )Ndate20130101UTCr   r-   i  i  rT   textz
some words	   )r   pd	Timestamptz_localizeNaTr   rl   r[   assert_series_equaldtypesr   )r    rL   r%   s      r&   test_dtype_coerceionz$TestConcatenate.test_dtype_coerceionU  s6   j!9!9!E!Ee!L!Lbf UVWW!rws|455
v}bi888 $1!5!5xa7K7K LMNN!rws|455
v}bi888 $! ;<==!rws|455
v}bi88888r(   c                     t          t          j                            dd                    }t	          |gdg          }t	          ||gddg          }t          j        ||d d                    d S )Nr   r*   r/   rR   rt   )r   r   r   r   r   r[   r\   )r    rL   r%   r_   s       r&   test_concat_single_with_keyz+TestConcatenate.test_concat_single_with_keyf  sp    ryr1--..E7+++2r(%888
fhssm44444r(   c                     t          j        t          d          5  t          g            d d d            d S # 1 swxY w Y   d S )NzNo objects to concatenater   )r   r   r   r   r    s    r&   test_concat_no_items_raisesz+TestConcatenate.test_concat_no_items_raisesm  s    ]:-HIII 	 	2JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   9= =c                 ^   t          t          j                            dd                    }|d d         d d |dd          g}t	          |          }t          j        ||           t          j        t          d          5  t	          d d g           d d d            d S # 1 swxY w Y   d S )Nr   r*   r.   zAll objects passed were Noner   )
r   r   r   r   r   r[   r\   r   r   r   )r    rL   rn   r%   s       r&   test_concat_exclude_nonez(TestConcatenate.test_concat_exclude_noneq  s    ryr1--..RaR&$bf-
fb)))]:-KLLL 	! 	!D$<   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   B""B&)B&c                    t          g dg dg dg          }t          d ||d d         |d d         |d          }t          ||d d         |d d         |d          }t          j        ||           t          d ||d d         |d d         |gg d          }t          ||d d         |d d         |gg d          }t          j        ||           d S )N)r         rT   r-   )r   r   cde)r   r   r   r   rR   r   r   r[   r\   )r    df0r%   r_   s       r&   test_concat_keys_with_nonez*TestConcatenate.test_concat_keys_with_nonez  s   |||\\\BCCd3rr7RaRsSSTT#bqb'BQBcJJKK
fh///3BQBRaR#.5N5N5N
 
 
 3BQBRaR#6=Q=Q=QRRR
fh/////r(   c                     t          j                    }t          j                    d d d         }t          ||gdd          }t          ||gdd          }t          |          t          |          k    sJ d S )NrT   outerr-   )joinr1   )r[   makeTimeSeriesr   len)r    ts1ts2leftrights        r&   test_concat_bug_1719z$TestConcatenate.test_concat_bug_1719  s~    !!!!##A#& sCjwQ777Sza8884yyCJJ&&&&&&r(   c                 ,   t          t          j        d                    }t          t          j        d                    }dx|_        |_        t          ||gd          }t          ||d          }ddg|_        t          j	        ||           d S )Nr.   z	same namer-   r~   r   r-   )
r   r   zerosonesrk   r   r   rW   r[   r\   )r    ts0r   r%   r_   s        r&   test_concat_bug_2972z$TestConcatenate.test_concat_bug_2972  s    RXa[[!!RWQZZ  ))38c
+++--..'5
fh/////r(   c                    t          g dg dg dd          }t          g dg dg dd          }t          g dg d	g d
g dg          }g d|_        t          ||gd          }t          j        ||           d S )Nr   )   r   r   r   )rrrr   r   r   )firmNoprc	stringvar)r   r         r   )r   miscr   )r   r   r   r   r-   r   )r   r   r   r   rT   r   )r   r   r   r   r+   r   )r   r   r   r   r*   r   )r   r   r   r   r   r   r-   r~   )r   rW   r   r[   r\   )r    r   rM   r_   r%   s        r&   test_concat_bug_3602z$TestConcatenate.test_concat_bug_3602  s    &,,#||999 
 
 !//<<<MM
 
 &&&'''''''''	
 
 NMMc
+++
fh/////r(   c                    t          g d          t          g d          t          g d          }t          j        t          fd          |           t          j        t          gd          |           t          j        t          d fD             d          |           t          j        t          t	          f          d          |            G fdd          }t          j        t           |            d          |            G fd	d
t
          j                  }t          j        t           |            d          |           d S )Nr-   rT   r+   r*   r.   r   r-   rT   r+   r*   r.   r   Tr   c              3      K   | ]}|V  d S r7   rx   )r;   rL   s     r&   r>   z8TestConcatenate.test_concat_iterables.<locals>.<genexpr>  s"      ,,2B,,,,,,r(   c                   (    e Zd ZdefdZ fdZdS )>TestConcatenate.test_concat_iterables.<locals>.CustomIterator1returnc                     dS )NrT   rx   r   s    r&   __len__zFTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__len__  s    qr(   c                 P    	 d|         S # t           $ r}t          |d }~ww xY w)Nr   )KeyError
IndexError)r    r   errr   rM   s      r&   __getitem__zJTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__getitem__  sB    ."s++E22 . . .$#-.s   
 
% %N)__name__
__module____qualname__intr   r   r   rM   s   r&   CustomIterator1r     sN            . . . . . . . .r(   r  c                   "    e Zd Zdef fdZdS )>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2r   c              3      K   V  V  d S r7   rx   )r    r   rM   s    r&   __iter__zGTestConcatenate.test_concat_iterables.<locals>.CustomIterator2.__iter__  s      								r(   N)r   r   r  r   r  r  s   r&   CustomIterator2r    s?        (         r(   r	  )r   r[   r\   r   r   r   Iterable)r    r_   r  r	  r   rM   s       @@r&   test_concat_iterablesz%TestConcatenate.test_concat_iterables  s    			""			""///00
fc3ZdCCCXNNN
fc3ZdCCCXNNN
,,#s,,,4@@@(	
 	
 	
 	fUC:%6%6TJJJHUUU	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	f__%6%6TJJJHUUU	 	 	 	 	 	 	 	cl 	 	 	
 	f__%6%6TJJJHUUUUUr(   c                     t          t          d          g d          g}|d t          d          D             z  }t          |d          j        }t	          g d          }t          j        ||           d S )	Nr+   )r   r-   Nr   c                 N    g | ]"}t          t          d           g d          #S )r+   )Nr-   r   r   )r   rB   )r;   _s     r&   r|   z5TestConcatenate.test_concat_order.<locals>.<listcomp>  s/    VVVa	a...AAAVVVr(   d   Tr   )r-   r   N)r   rB   r   rW   r   r[   rm   )r    dfsr%   r_   s       r&   test_concat_orderz!TestConcatenate.test_concat_order  s    uQxx@@@AVV5QT::VVVV$'''/((
fh/////r(   c                 D   t          t          j        ddgd                    }t          t          ddg                    }t	          ||gd          }t          ddt          d          t          d          gt                    }t          j        ||           d S )Nr-   rT   Int64r   Tr   )	r   r   r   r   r   r   rH   r[   r   )r    r   r   r%   r_   s        r&   .test_concat_different_extension_dtypes_upcastsz>TestConcatenate.test_concat_different_extension_dtypes_upcasts  s    28QF'22233:q!f%%&&AT2221aWQZZ8GGG
vx00000r(   c                 N   t          t          t          d                    t          t          d                    gddg          }t          t          t          d                    t          t          d                    d          }t          j        ||           d S )Nr+   r*   FirstAnotherrR   )r  r  )r   r   rB   r[   r   )r    r_   r%   s      r&   test_concat_ordered_dictz(TestConcatenate.test_concat_ordered_dict  s    E!HHveAhh//07K
 
 
 &q"2"2veAhh?O?OPPQQ
vx00000r(   c                 `   t          t          j                            d          g ddg          }t          t          j                            d          g ddg          }d}t	          j        t          |          5  t          ||gd	
           d d d            d S # 1 swxY w Y   d S )Nr.   )r   r-   rT   r+   r+   r   r   )r   r-   rT   rT   r*   r   z8Reindexing only valid with uniquely valued Index objectsr   r-   r~   )r   r   r   r   r   r   r
   r   )r    r   rM   r   s       r&   #test_concat_duplicate_indices_raisez3TestConcatenate.test_concat_duplicate_indices_raise  s     	**///C5QQQ	**///C5QQQH],C888 	' 	'C:A&&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   B##B'*B'N)r   r   r  r'   rP   ra   rp   r   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  rx   r(   r&   r   r   %   s       . . . 0V 0V 0Vd0 0 0:; ; ;" [YF(;<<0 0 =<04'
 '
 '
RS S S9 9 9B& & &B0 B0 B0H9 9 9"5 5 5  ! ! !0 0 0	' 	' 	'0 0 00 0 02V V V@0 0 01 1 11 1 1' ' ' ' 'r(   r   dtfloatc           	      L    |t                     j        } |t          j        dg| |                     |t          j        t          j        g| |                     |t          j        dg| |                    g}t          |          }|j        j        | k    sJ d S )Nr   r-   rF   ndminr.   )rH   ndimr   r   nanr   rZ   rF   )r  frame_or_seriesdimsr  xs        r&   !test_concat_no_unnecessary_upcastr'    s     ?(((-D 	!Bd;;;<<"&4@@@AA!Bd;;;<<C
 	sA8>Rr(   pdtr  c           
         t          d          5   |            j        } |t          j        dg| |                     |t          j        t          j        g|                     |t          j        dg| |                    g}t          |          }|j        j        dk    sJ 	 d d d            d S # 1 swxY w Y   d S )NT)recordr-   r   )r!  r.   float64)r   r"  r   r   r#  r   rZ   rF   )r  r(  r%  r  r&  s        r&   test_concat_will_upcastr,    s    
t	$	$	$ + +suuzC!Bd33344C"&...//C!Bd33344

 3KKx~*****+ + + + + + + + + + + + + + + + + +s   BB;;B?B?c                      t          ddgi          } t          dg i          }t          ddgi          }t          | |g          }t          j        ||           d S )Nr/   r-   g      ?r   )r   rM   r_   r%   s       r&   0test_concat_empty_and_non_empty_frame_regressionr.    sc    
UQCL
!
!C
UBK
 
 C%#((HS#JF&(+++++r(   c                  $   t          t          g d                    } t          ddgddgddgg                              t	          j        t          j        d                    }t          | | gd          }t          j
        ||           d S )Nr   r   r-   rT   datar~   )r   r   r   astyper   SparseDtyper   r   r   r[   r\   )r   r_   r%   s      r&   test_concat_sparser4    s    {999%%&&A1v1v1v6777>>
rx## H QF###F&(+++++r(   c                  r   t          j        t          j        d           } t	          t           j                            dd g          |           }t	          dgt                    }t	          g dg d                              |           }t          ||gd          }t          j        ||           d S )Nr-   r   )r-   Nr-   )r   r-   r   r1  r   r   r~   )r   r3  r   r+  r   rD   r   r  r2  r   r[   r   )rF   r   r   r_   r%   s        r&   test_concat_dense_sparser7  (  s    N2:t,,Ery$$aY//u===As%   A<<<yyy999@@GGHQF###F68,,,,,r(   rS   )r   r3   r3   )r3   r   r3   c                 z   t          g dg dd          }t          g dd          }t          g dd          }t          |||gd	| 
          }g dg dg dg}t          j        | d         df| d         df| d	         df| d         dfg          }t          ||          }t          j        ||           d S )Nr   r   r   r   )      r   r   rj   )r   r   r   r   r-   r1   rS   )r-   r*   r:  r   )rT   r.   r;  r   )r+   r   r   r   r   r   r   rT   rV   )r   r   r   r   from_tuplesr[   r\   )rS   rL   r#   r$   r%   expected_valuesexpected_columnsr_   s           r&   test_duplicate_keysr@  2  s     
33	4	4B					$	$	$B	3	'	'	'BRRLqt444F$}}mmm]]]CO!-
q'3$q'3$q'3$q'3H  2BCCCH&(+++++r(   c                     ddg} t          g dg dd          }t          ||gd|           }g dg dg d	g}t          j        | d
         df| d
         df| d         df| d         dfg          }t          ||          }t	                      5  t          dt                     t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r9  r-   r<  )r-   r*   r-   r*   )rT   r.   rT   r.   )r+   r   r+   r   r   r   r   rV   ignore)	r   r   r   r=  r   r	   r   r[   r\   )rS   rL   r%   r>  r?  r_   s         r&   test_duplicate_keys_same_framerC  A  s@   :D	33	4	4BRH14000F#||\\\<<<@O!-
q'3$q'3$q'3$q'3H  2BCCCH			 0 0X1222
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   +C		CCobjr   r   rj   c                 f    t          | | g          }t          |t          |                     sJ d S r7   )r   r   type)rD  r%   s     r&   test_concat_preserves_subclassrG  Q  s7     S#JFfd3ii(((((((r(   c                     t          dt          j        g dd          i          } t          dt          j        g d          i          }t	          | |gd          }t          dg did          }t          j        ||           t	          || gd          }t          dg d	id          }t          j        ||           d S )
Nr   r   r  r   r   Tr   r   )r*   r.   r   r-   rT   r+   )r   r   r   r   r   r[   r\   r   rM   r%   r_   s       r&   (test_concat_frame_axis0_extension_dtypesrJ  _  s    
S"(999G<<<=
>
>C
S"(999--.
/
/CS#JT222F#1112'BBBH&(+++S#JT222F#1112'BBBH&(+++++r(   c                      t          ddgid          } t          ddgid          }t          | |gd          }t          dd gd dgd	d          }t          j        ||           d S )
Nr   r   r  r   r   r-   Tr   r9  r   )df_adf_br%   r_   s       r&   +test_concat_preserves_extension_int64_dtyperN  m  s    cB4[000DcA3Zw///DT4Lt444FDzq	::'JJJH&(+++++r(   zdtype1,dtype2,expected_dtype))boolrO  rO  )booleanrO  rP  )rO  rP  rP  )rP  rP  rP  c                     t          ddg|           }t          ddg|          }t          ||gd          }t          g d|          }t          j        ||           d S )NTFr   r   )TFFT)r   r   r[   r   )dtype1dtype2expected_dtypeser1ser2r%   r_   s          r&   test_concat_bool_typesrW  v  sx     4-v...D5$-v...DT4Lt444F000GGGH68,,,,,r(   )rS   	integrityredr+   TF)rY  bluerY  c                 @   t          ddi          t          ddi          t          ddi          g}t          || |          }t          t          | g d                    }t          g d	t	          j        |          
          }t          j        ||           d S )Nr   r-   r   rT   r   r+   )rS   verify_integrity)r   r   r   r   r0   )r   r   r   zipr   r=  r[   r   )rS   rX  series_listr%   tuplesr_   s         r&   test_concat_repeated_keysr`    s     3(##VS!H%5%5vsAh7G7GHKKdYGGGF#dOOO,,--Fiiiz'=f'E'EFFFH68,,,,,r(   c                     t          j        dgdd          } t          ddgi|           }t          d gdd	          }t          d gt          j        gd
|          }t          ||gd          }t          d | d         gt                    }t          d d gt          j        t          j        gt          j        dgd|          }t          j	        ||           d S )Nz2021-04-08 21:21:14+00:00zdatetime64[ns, UTC]z
Time (UTC))rF   rk   r   g!u?r6  rH   zMaybe Time (UTC))r   r   rW   r~   r   r   )r   r   r   r0   )
r   DatetimeIndexr   r   r   r#  r   rH   r[   r\   )dtir   idxr   r%   r^   r_   s          r&    test_concat_null_object_with_dtire    s    

	$%-B  C C&?#666E
h-?
@
@
@CbfX66cBBBDT5M	222FtSVnF333ITl"&"&!18HII  H &(+++++r(   c                  D   t          j        ddg          } t          ddgg|           }t          dgt          j        d                    }t          ||g          }t          ddgt          j        t          j        gg|           }t          j	        ||           d S )Nr   )r   r-   r-   rT   rV   r   r   )
r   r=  r   r   
RangeIndexr   r   r#  r[   r\   )mir   rM   r%   r_   s        r&   ,test_concat_multiindex_with_empty_rangeindexri    s    		8 4	5	5B
aVHb
)
)
)C
1#r}Q'7'7
8
8
8CS#JF1a&2626"23R@@@H&(+++++r(   r1  r-   rT   r0  col1r   c                     |                                  }ddi|_        |                                  }ddi|_        t          ||g          }t          |j                  dk    sJ d S )Nr-   rT   r   )r2   attrsr   r   r1  r   rM   rL   s       r&   test_concat_drop_attrsrn    sd     ))++CACI
))++CACI	c
		Brx==Ar(   c                     |                                  }ddi|_        |                                  }ddi|_        t          ||g          }|j        d         dk    sJ d S )Nr-   )r2   rl  r   rm  s       r&   test_concat_retain_attrsrp    sb     ))++CACI
))++CACI	c
		B8A;!r(   df_dtype)r+  r   zdatetime64[ns]empty_dtype)Nr+  rH   c                    t          ddgddgd|          }t          ddg|           }t          ||g          }|}|dk    r1| d	k    r|                    d	          }n|                    d
          }t          j        ||           d S )Nr-   rT   r/   rt   r   r/   rt   )rW   rF   r   r+  rH   )r   r   r2  r[   r\   rr  rq  rL   emptyr%   r_   s         r&   %test_concat_ignore_empty_object_floatrw    s    
 
Aq61a&11	B	B	BBuenK@@@EUBK  FH7)##yy++HHyy**H&(+++++r(   c                 ,   t          ddgddgd|          }t          t          j        gt          j        gd|           }t          ||gd          }|dk    r| dk    rd}nd	}t          g d
g d
d|          }t	          j        ||           d S )Nr-   rT   rt  r   Tr   r   rH   r+  )Nr-   rT   )r   r   r#  r   r[   r\   ru  s         r&   &test_concat_ignore_all_na_object_floatry    s     
Aq61a&11	B	B	BBrvhx88LLLEUBKd333F7(""HH HlllCC8TTTH&(+++++r(   c                  `   t          dgt          j        d          gd          } t          ddgi          }t          | |                    | j                  gd          }t          ddgt          j        d          t          j        gd          x}} t          j        ||           d S )	Nr-   z
2012-01-01r9  r   rT   rV   Tr   )	r   r   r   r   reindexrW   r   r[   r\   rI  s       r&   %test_concat_ignore_empty_from_reindexr|    s     1#R\,%?%?$@AA
B
BC
S1#J

CS#++ck+::;$OOOFaV2<3M3Mrv2VWWXXXHs&(+++++r(   )Acollectionsr   r   r   decimalr   typingr   warningsr   r	   numpyr   r   pandas.errorsr
   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r   r   pandas._testing_testingr[   pandas.core.arraysr   pandas.tests.extension.decimalr   r   r  r  sctypesr'  r,  r.  r4  r7  r@  rC  SubclassedDataFramer   SubclassedSeriesrG  rJ  rN  rW  r`  re  ri  r  rn  rp  skip_array_manager_invalid_testrw  ry  r|  rx   r(   r&   <module>r     sC                                  
             * ) ) ) ) ) ) ) )                            * * * * * * 5 5 5 5 5 5Q' Q' Q' Q' Q' Q' Q' Q'h rz'233
  
  43
   344rz%011	+ 	+ 21 54	+, , ,, , ,- - - ///???!CDD, , ED,0 0 0  	YRYq"%5%5677IBIa,,3777 ) ) ), , ,, , , "   - - - 
1d
1e			'			&	 - - -, , ,(, , , 
QF	A	
 	
 	

 		U	    
QF	A	
 	
 	

 		U	    #%K%K%KLL(C(C(CDD, , ED ML $#, #%K%K%KLL(C(C(CDD, , ED ML $#, #, , $#, , ,r(   