o
    %j                     @   s  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Z	d dl
Z
d dlmZ d dlmZ d dlm  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 dZ#dd Z$e
j%&deegdd Z'dd Z(dd Z)dd Z*e
j%&dg dg dgdd Z+dd Z,e
j%-de
j%&d e.d!e	/d d"iej0e	/d d"d!d#gd$d% Z1d&d' Z2d(d) Z3e
j%&d*g d+d,d- Z4e
j%&d.d/gd0 d1fd/gd0 d2fg d3d2fg d3d1fgd4d5 Z5d6d7 Z6d8d9 Z7e
j%&d:ed;d<gd=ed>d;d<gid=ee8d?ee8d?gd@dA Z9e
j%&d:ed;d<gd=ed>d;d<gid=ee8d?ee8d?gdBdC Z:ej;e
j%&dDg dEe
j%&dFg dGdHdI Z<ej;e
j%&dDg dEe
j%&dFg dGdJdK Z=ej;dLdM Z>dNdO Z?dPdQ Z@dRdS ZAdTdU ZBdS )V    )abcdeque)Iterator)datetime)DecimalN)using_string_dtype)InvalidIndexError)	DataFrameIndex
MultiIndexPeriodIndexSeriesconcat
date_range)SparseArray)
to_decimalc                   @   s   e Zd Zdd Zejje dddd Zdd Z	d	d
 Z
ejdddgdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Z d7S )8TestConcatenatec                 C   s   t dddd}t dddd}ttjdd|}ttjdd|}| }| }t||g}t|j	t
s<J |j	d	 |j	d	 ksHJ d S )
Nz
12/31/1990z
12/31/1999zYE-DEC)freqz
12/31/2000z
12/31/2009   
   r   )r   r   nprandomdefault_rngstandard_normalZ	to_periodr   
isinstanceindexr   )selfZd1Zd2s1s2result r    h/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/pandas/tests/reshape/concat/test_concat.pytest_append_concat!   s   z"TestConcatenate.test_append_concatzTODO(infer_string))reasonc                    s@  t tjdd}t tjdjdddddd}t dd	itdd
}t|||gddd}|sK|j	j
D ] t fdd|||fD rIJ q7n|j	j
D ]	  jd usXJ qOt|||gddd}|j	j
D ]H  jjdkr| j|j	j
d ju s{J qg jjdv r j|j	j
d ju sJ qg jtkr|r |j	j
d u sJ n jd usJ  jd usJ qgt tjdd}t||||gddd}|j	j
D ]S  jjdkr|s|rt fdd|j	j
|j	j
 D sJ qʈ jd u sJ qʈ jjdv r j|j	j
d ju sJ qʈ jtkrt fdd|j	j
D sJ qd S )Nr         r   r   r%   )size      foor   T)axiscopyc                 3   s*    | ]}|j jD ]	}t |V  qqd S N)_mgrarraysr   shares_memory).0xyarrr    r!   	<genexpr>=   s    
z3TestConcatenate.test_concat_copy.<locals>.<genexpr>Ff)iu)r%   r(   c                 3       | ]	}t  |V  qd S r.   r   r1   r2   otherr5   r    r!   r7   ]   s
    

c                 3   r;   r.   r<   r=   r5   r    r!   r7   h   s    )r	   r   r   r   r   Zintegersreshaperanger   r/   r0   anybasedtypekindobject)r   Zusing_array_managerZusing_copy_on_writedfdf2Zdf3r   Zdf4r    r5   r!   test_concat_copy2   sN   $
 z TestConcatenate.test_concat_copyc                 C   st  t tjdd}t tjdd}t||gddgd}tg dg dg}t tj|j	|j	f |d	}t
|| t||gddgd}tg d
g dg}t tj|j	|j	f |d	}t
|| t tjdd}t tjdd}t||gddgdd}t tj|j	|j	f |d}t
|| t||gddgdd}t tj|j	|j	f |d}t
|| d S )Nr   )r&   r%   )r%   r%   r   r(   keys)r   r   r   r(   r(   r(   r(   )r   r(   r   r   r(   r   r&   r+   )r   r   r   r(   r(   r(   )r   r(   r   r   r(   r   r$   rJ   r,   columns)r	   r   r   r   r   r   r   Zfrom_arraysZr_valuestmassert_frame_equalZc_)r   rF   rG   r   	exp_indexexpectedZ
exp_index2r    r    r!   test_concat_with_group_keysj   s(   z+TestConcatenate.test_concat_with_group_keysc                 C   s   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d	}t|j	j
d t|dd
 t|j	j
d tg d |j	jdd gks`J d S )Nr   r   r%   r   r(   r&   )threetwoonezero)rW   rV   rU   Z	group_key)r,   rJ   levelsnamesname)r   r(   r   r&   )r	   r   r   r   r   ilocr   rO   assert_index_equalrM   rY   r
   rZ   )r   rF   pieceslevelr   r    r    r!    test_concat_keys_specific_levels   s   <z0TestConcatenate.test_concat_keys_specific_levelsmappingdictc                    s  |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|D |d}t	
|| t dd	}t fd
d|D |dd}t	
|| g d}t |d}t fdd|D |d}t	
|| d S )Nrc   r   r$   )r*   barbazZquxc                       g | ]} | qS r    r    r2   kframesr    r!   
<listcomp>       z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>rI   r(   r,   c                    rf   r    r    rg   ri   r    r!   rk      rl   rK   )re   r*   rd   c                    rf   r    r    rg   ri   r    r!   rk      rl   )rc   r	   r   r   r   r   listrJ   r   rO   rP   )r   rb   Znon_dict_mapping_subclassconstructorZsorted_keysr   rR   rJ   r    ri   r!   test_concat_mapping   s&   	z#TestConcatenate.test_concat_mappingc                 C   s,  t tjdd}t tjdd}ddgddgg}dd	g}t||||gg d
||d}t||||g}t|dgg g dg dg dg|d g d}||_t	|| t||||gg d
|d}|jj
dksmJ t||||gg d
dd	gd}|jj
dksJ t|jjd tddgdd d S )Nr   r(   r&   r(   r%   r*   re   rW   rV   firstsecond))r*   rW   )r*   rV   )re   rW   )re   rV   )rJ   rY   rZ   r   )r   r   r(   r(   )r   r(   r   r(   r   r   r   r   )rY   codesrZ   rJ   rY   )NNNrJ   rZ   )rs   rt   Nr[   )r	   r   r   r   r   r   r   r   rO   rP   rZ   r^   rY   r
   )r   rF   rG   rY   rZ   r   rR   rQ   r    r    r!   test_concat_keys_and_levels   sB   



z+TestConcatenate.test_concat_keys_and_levelsc                 C   s   t tjdddgd}t tjdddgd}d}tjt|d t||gd	d
gg dgd W d    n1 s>w   Y  d}tjt|d t||gd	d
gg dgd W d    d S 1 sfw   Y  d S )Nr   rq   ar+   rr   bz Values not found in passed levelmatchrW   rV   )r*   rd   re   rw   zKey one not in level)	r	   r   r   r   r   pytestraises
ValueErrorr   )r   rF   rG   msgr    r    r!   "test_concat_keys_levels_no_overlap   s   "z2TestConcatenate.test_concat_keys_levels_no_overlapc                 C   sD  g d}t tjg dddtjg dddtjg dddtjg dddd|d}t tjg dddtjg dddtjg dddtjg dddd|d}t||gdd}t tj|j|jgd	d
|d}t|| t tj	d
ddgd}t tj	d
ddgd}t||gddgddgd}|jjdksJ d S )N)ABCDr(   r   r&   r%   Zf8rC   i8rL   Tignore_indexr   rm   r   rq   rz   r+   rr   r{   rW   rV   rs   rt   rx   )rs   rt   )r	   r   arrayr   ZconcatenaterN   rO   rP   r   r   r   r   rZ   )r   rM   df1rG   ZappendedrR   rF   r   r    r    r!    test_crossed_dtypes_weird_corner   s4   

z0TestConcatenate.test_crossed_dtypes_weird_cornerc                 C   s@   t dddtdd}t dddtdd}t||g|d d S )Nr*   rd   )r   r   r(   r   r+   )r   r   sort)r	   r@   r   )r   r   r   rG   r    r    r!   test_with_mixed_tuples
  s   z&TestConcatenate.test_with_mixed_tuplesc                 C   s  t dddd}tjddd}t||d}t||d}t|dd	|d}tt|d
dd
|ddgd}t||gd	d}t	|| tt|d
dd
|dd	gd}t||gd	d}t	|| tt|ddd|g dd}t|||gd	d}t	|| tt|ddd|g dd}t|||||gd	d}t	|| d|_
tt|ddd|g dd}t|||gd	d}t	|| d|_
tt|ddd|g dd}t|||gd	d}t	|| tt|ddd|g dd}t|||gd	dd}t	|| d S )N01-Jan-2013r   hperiodsr   int64r   r+   r(   r   r   r   rM   rm   r&   r   r(   r   r)   )r   r   r(   r   r&   r*   )r*   r   r   rd   r*   r   rd   T)r,   r   )r   r   aranger   r	   r?   repeatr   rO   rP   r\   r   r   r6   r   r   rF   rR   r   r    r    r!   test_concat_mixed_objs_columns  sT   z.TestConcatenate.test_concat_mixed_objs_columnsc                 C   s   t dddd}tjddd}t||d}t||d}t|dd	|d}tt|d
dd	| d
 dgd}t|||g}t	
|| d S )Nr   r   r   r   r   r   r+   r   r(   r&   r   r   )r   r   r   r   r	   r?   tiletolistr   rO   rP   r   r    r    r!   test_concat_mixed_objs_indexK  s    z,TestConcatenate.test_concat_mixed_objs_indexc                 C   s   t dddd}tjddd}t||dd}t||d	d}t|d
d|d}ttttddkdtj	|j
| d g dd}t|||g}t|| tt|dd
ddgd}t|||gdd}t|| d S )Nr   r   r   r   r   r   r*   )r   r\   rd   r   r(   r+   r&   r   r   r   rL   Tr   )r   r   r   r   r	   r?   ZkronwhereidentitynanTr   r   rO   rP   r   r   r    r    r!   "test_concat_mixed_objs_index_names[  s   "
z2TestConcatenate.test_concat_mixed_objs_index_namesc                 C   s   t dtddtjgi}t|jdg |jdg g}t|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	 t d	d
gd gd  i}t|jdg |jdg g}t|j	|j	 d S )NdateZ20130101UTCr   r(   i  i  r   textz
some words	   )r	   pd	TimestampZtz_localizeNaTr   r]   rO   assert_series_equalZdtypesr   )r   rF   r   r    r    r!   test_dtype_coercionr  s    z#TestConcatenate.test_dtype_coercionc                 C   sR   t tjdd}t|gdgd}t||gddgd}t||d d  d S )Nr   rT   r*   rI   rd   r   )r	   r   r   r   r   r   rO   rP   )r   rF   r   rR   r    r    r!   test_concat_single_with_key  s   z+TestConcatenate.test_concat_single_with_keyc                 C   s<   t jtdd tg  W d    d S 1 sw   Y  d S )NzNo objects to concatenater|   )r~   r   r   r   r   r    r    r!   test_concat_no_items_raises  s   
"z+TestConcatenate.test_concat_no_items_raisesc                 C   s   t tjdd}|d d d d |dd  g}t|}t|| tj	t
dd td d g W d    d S 1 s<w   Y  d S )Nr   rT   r)   zAll objects passed were Noner|   )r	   r   r   r   r   r   rO   rP   r~   r   r   )r   rF   r_   r   r    r    r!   test_concat_exclude_none  s   "z(TestConcatenate.test_concat_exclude_nonec                 C   s   t g dg dg dg}td ||d d |d d |d}t||d d |d d |d}t|| td ||d d |d d |gg dd}t||d d |d d |gg dd}t|| d S )N)r         r   r(   )rz   r{   cde)r{   r   r   r   rI   r	   r   rO   rP   )r   Zdf0r   rR   r    r    r!   test_concat_keys_with_none  s   $""(z*TestConcatenate.test_concat_keys_with_nonec                 C   sn   t tjdtjdtdddd}| d d d }t||gddd	}t||gddd	}t|t|ks5J d S )
Nr   r   z
2020-01-01)r   r+   r   outerr(   )joinr,   )r   r   r   float64r   r-   r   len)r   ts1Zts2leftrightr    r    r!   test_concat_bug_1719  s   z$TestConcatenate.test_concat_bug_1719c                 C   s`   t td}t td}d |_|_t||gdd}t||d}ddg|_t	|| d S )Nr)   z	same namer(   rm   r   r(   )
r   r   ZzerosZonesr\   r   r	   rM   rO   rP   )r   Zts0r   r   rR   r    r    r!   test_concat_bug_2972  s   
z$TestConcatenate.test_concat_bug_2972c                 C   s   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d}t|| d S )Nru   )   r   r   r   )rrrr   r   r   )firmNoprc	stringvar)r   r         r   )r   miscr   )r   r   r   r   r(   r   )r   r   r   r   r   r   )r   r   r   r   r&   r   )r   r   r   r   r%   r   )r   r   r   r   r   r   r(   rm   )r	   rM   r   rO   rP   )r   r   rG   rR   r   r    r    r!   test_concat_bug_3602  s&   
z$TestConcatenate.test_concat_bug_3602c                    s   t g d t g dt g d}tt fdd| tt gdd| ttdd  fD dd| ttt fdd| G  fdd	d	}tt| dd| G  fd
ddtj}tt| dd| d S )Nr(   r   r&   r%   r)   r   r(   r   r&   r%   r)   r   Tr   c                 s       | ]}|V  qd S r.   r    )r2   rF   r    r    r!   r7         z8TestConcatenate.test_concat_iterables.<locals>.<genexpr>c                       s(   e Zd ZdefddZ fddZdS )z>TestConcatenate.test_concat_iterables.<locals>.CustomIterator1returnc                 S   s   dS )Nr   r    r   r    r    r!   __len__  s   zFTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__len__c              
      s0   z d| W S  t y } zt|d }~ww )Nr   )KeyError
IndexError)r   r   errr   rG   r    r!   __getitem__  s   zJTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__getitem__N)__name__
__module____qualname__intr   r   r    r   r    r!   CustomIterator1  s    r   c                       s    e Zd Zdef fddZdS )z>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2r   c                 3   s     V  V  d S r.   r    r   r   r    r!   __iter__  s   
zGTestConcatenate.test_concat_iterables.<locals>.CustomIterator2.__iter__N)r   r   r   r   r   r    r   r    r!   CustomIterator2  s    r   )r	   rO   rP   r   r   r   Iterable)r   rR   r   r   r    r   r!   test_concat_iterables  s   
z%TestConcatenate.test_concat_iterablesc                 C   sV   t tdg ddg}|dd tdD 7 }t|ddj}tg d	}t|| d S )
Nr&   )rz   r(   Nr   c                 S   s    g | ]}t td g ddqS )r&   )Nr(   rz   r   )r	   r@   )r2   _r    r    r!   rk     s     z5TestConcatenate.test_concat_order.<locals>.<listcomp>d   Tr   )r(   rz   N)r	   r@   r   rM   r
   rO   r^   )r   dfsr   rR   r    r    r!   test_concat_order  s
   z!TestConcatenate.test_concat_orderc                 C   sb   t tjddgdd}t tddg}t||gdd}t ddtdtdgtd}t|| d S )Nr(   r   Int64r   Tr   )	r   r   r   r   r   r   rE   rO   r   )r   rz   r{   r   rR   r    r    r!   .test_concat_different_extension_dtypes_upcasts  s
   z>TestConcatenate.test_concat_different_extension_dtypes_upcastsc                 C   sR   t ttdttdgddgd}t ttdttdd}t|| d S )Nr&   r%   FirstAnotherrI   )r   r   )r   r   r@   rO   r   )r   rR   r   r    r    r!   test_concat_ordered_dict  s
   z(TestConcatenate.test_concat_ordered_dictc                 C   s   t tjddg ddgd}t tjddg ddgd}d}tjt|d	 t||gd
d W d    d S 1 s?w   Y  d S )Nr   r)   )r   r(   r   r&   r&   rz   r   )r   r(   r   r   r%   r{   z8Reindexing only valid with uniquely valued Index objectsr|   r(   rm   )	r	   r   r   r   r   r~   r   r   r   )r   r   rG   r   r    r    r!   #test_concat_duplicate_indices_raise  s   "z3TestConcatenate.test_concat_duplicate_indices_raiseN)!r   r   r   r"   r~   markZxfailr   rH   rS   ra   parametrizerp   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r    r    r!   r       s8    
7
)!	8	
 	r   c                 C   sn   |t dj}| }|tjdg||d|tjtjg||d|tjdg||dg}t|}|jj|ks5J d S )Nr   r(   rC   ndminr)   )rE   ndimr   r   r   r   rN   rC   )Zfloat_numpy_dtypeZframe_or_seriesdimsdtr   r3   r    r    r!   !test_concat_no_unnecessary_upcast   s   r   pdtc                 C   sh   |}|  j }| tjdg||d| tjtjg|d| tjdg||dg}t|}|jjdks2J d S )Nr(   r   )r   r)   r   )r   r   r   r   r   rN   rC   )r   Zany_signed_int_numpy_dtyper   r   r   r3   r    r    r!   test_concat_will_upcast.  s   r   c                  C   sD   t ddgi} t dg i}t ddgi}t| |g}t|| d S )Nr*   r(   g      ?r   )r   rG   rR   r   r    r    r!   0test_concat_empty_and_non_empty_frame_regression;  s
   r   c                  C   s\   t tg d} tddgddgddggdttjd}t| | gdd}t	
|| d S )Nr   r   r(   r   datarm   )r   r   r	   astyper   SparseDtyper   r   r   rO   rP   )rz   rR   r   r    r    r!   test_concat_sparseD  s   r   c                  C   sn   t tjd } tt jdd g| d}tdgtd}tg dg dd| }t	||gdd}t
|| d S )Nr(   r   )r(   Nr(   )r   r(   r   r   r   r   rm   )r   r   r   r   r   r0   r   floatr   r   rO   r   )rC   rz   r{   rR   r   r    r    r!   test_concat_dense_sparseN  s   r   rJ   )r   r8   r8   )r8   r   r8   c                 C   s   t g dg dd}tg ddd}tg ddd}t|||gd	| d
}g dg dg dg}t| d df| d df| d	 df| d dfg}t ||d}t|| d S )Nr   r   rz   r{   )      r   r   r[   )r   r   r   r   r(   r,   rJ   )r(   r%   r  r   )r   r)   r  r   )r&   r   r   r   r   rz   r{   r   rL   )r	   r   r   r   from_tuplesrO   rP   )rJ   rF   r   r   r   expected_valuesexpected_columnsrR   r    r    r!   test_duplicate_keysX  s   *r  c                  C   s   ddg} t g dg dd}t||gd| d}g dg dg d	g}t| d
 df| d
 df| d df| d dfg}t ||d}t|| d S )Nr   r   r   r  r(   r  )r(   r%   r(   r%   )r   r)   r   r)   )r&   r   r&   r   r   rz   r{   rL   )r	   r   r   r  rO   rP   )rJ   rF   r   r  r  rR   r    r    r!   test_duplicate_keys_same_frameg  s   *r	  zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjr   r   r[   c                 C   s"   t | | g}t|t| sJ d S r.   )r   r   type)r
  r   r    r    r!   test_concat_preserves_subclasst  s   r  c                  C   s   t dtjg dddi} t dtg di}t| |gdd}t dg didd}t|| t|| gdd}t dg d	idd}t|| d S )
Nrz   r   r   r   r   Tr   r   )r%   r)   r   r(   r   r&   )r	   r   r   r   r   rO   rP   r   rG   r   rR   r    r    r!   (test_concat_frame_axis0_extension_dtypes  s   r  c                  C   s^   t ddgidd} t ddgidd}t| |gdd}t dd gd dgd	dd}t|| d S )
Nrz   r   r   r   r{   r(   Tr   r  r   )Zdf_aZdf_br   rR   r    r    r!   +test_concat_preserves_extension_int64_dtype  s
   r  zdtype1,dtype2,expected_dtype))boolr  r  )booleanr  r  )r  r  r  )r  r  r  c                 C   sP   t ddg| d}t ddg|d}t||gdd}t g d|d}t|| d S )NTFr   r   )TFFT)r   r   rO   r   )Zdtype1Zdtype2Zexpected_dtypeZser1Zser2r   rR   r    r    r!   test_concat_bool_types  s
   r  )rJ   	integrityredr&   TF)r  bluer  c                 C   sh   t ddit ddit ddig}t|| |d}tt| g d}t g d	t|d
}t|| d S )Nrz   r(   r{   r   r   r&   )rJ   Zverify_integrity)rz   r{   r   r   r+   )r   r   rn   zipr   r  rO   r   )rJ   r  Zseries_listr   ZtuplesrR   r    r    r!   test_concat_repeated_keys  s
   "r  c                  C   s   t jdgddd} tddgi| d}td gdd	d}td gtjgd
|d}t||gdd}td | d gtd}ttjd tjgtdtjtjgtjdgd|d}t	
|| d S )Nz2021-04-08 21:21:14+00:00zdatetime64[ns, UTC]z
Time (UTC))rC   r\   r   g!u?r   rE   zMaybe Time (UTC))r   r   rM   rm   r   r   r   r   r   r+   )r   ZDatetimeIndexr	   r
   r   r   r   rE   r   rO   rP   )Zdtir   idxr   r   rQ   rR   r    r    r!    test_concat_null_object_with_dti  s    
r  c                  C   sl   t ddg} tddgg| d}tdgtdd}t||g}tddgtjtjgg| d}t	|| d S )Nr   )r   r(   r(   r   rL   r   r   )
r   r  r	   r   Z
RangeIndexr   r   r   rO   rP   )mir   rG   r   rR   r    r    r!   ,test_concat_multiindex_with_empty_rangeindex  s   r  r   r(   r   r   Zcol1r   c                 C   sF   |   }ddi|_|   }ddi|_t||g}t|jdks!J d S )Nr(   r   r   )r-   attrsr   r   r   r   rG   rF   r    r    r!   test_concat_drop_attrs     

r  c                 C   sF   |   }ddi|_|   }ddi|_t||g}|jd dks!J d S )Nr(   )r-   r  r   r  r    r    r!   test_concat_retain_attrs  r   r!  df_dtype)r   r   datetime64[ns]empty_dtype)Nr   rE   c                 C   s   t ddgddgd|d}t ddg| d}d}d }|d	ks%|d
kr'| d
kr't}tj||d t||g}W d    n1 s?w   Y  |}|dkrY| d
krT|d
}n|d}t|| d S )Nr(   r   r*   rd   r   r*   rd   )rM   rC   DThe behavior of DataFrame concatenation with empty or all-NA entriesr#  r   r|   r   rE   )r	   FutureWarningrO   assert_produces_warningr   r   rP   r$  r"  rF   emptyr   warnr   rR   r    r    r!   %test_concat_ignore_empty_object_float  s    
r,  c                 C   s   t ddgddgd|d}t tjgtjgd| d}|dkr'| dkr%d}nd}d}d }| |kr6| d ur6t}n|d	kr<t}tj||d
 t||gdd}W d    n1 sVw   Y  t tjddgtjddgd|d}t|| d S )Nr(   r   r%  r   r   rE   r   r&  r#  r|   Tr   )r	   r   r   r'  rO   r(  r   rP   r)  r    r    r!   &test_concat_ignore_all_na_object_float+  s"   "r-  c                  C   s   t dgtdgd} t ddgi}|j| jd}d}tjt|d t| |gd	d
}W d    n1 s6w   Y  t ddgtdtj	gd }} t
|| d S )Nr(   z
2012-01-01r  rz   r   rL   r&  r|   Tr   )r	   r   r   ZreindexrM   rO   r(  r'  r   r   rP   )r   rG   Zalignedr   r   rR   r    r    r!   %test_concat_ignore_empty_from_reindexG  s   "r.  c                     sL  t td  fddtdD } g d}d}tjt|d t| |dd	 W d    n1 s0w   Y  tjt|d t| |d
d	 W d    n1 sNw   Y  tjt|d tdd | D dd |D dd	 W d    n1 svw   Y  tjt|d tdd | D dd |D d
d	 W d    d S 1 sw   Y  d S )Nr)   c                    s   g | ]} | qS r    r    )r2   nZserr    r!   rk   Y  rl   z6test_concat_mismatched_keys_length.<locals>.<listcomp>r%   r  zGThe behavior of pd.concat with len\(keys\) != len\(objs\) is deprecatedr|   r(   rK   r   c                 s   r   r.   r    r2   r3   r    r    r!   r7   b  r   z5test_concat_mismatched_keys_length.<locals>.<genexpr>c                 s   r   r.   r    r2   r4   r    r    r!   r7   b  r   c                 s   r   r.   r    r1  r    r    r!   r7   d  r   c                 s   r   r.   r    r2  r    r    r!   r7   d  r   )r   r@   rO   r(  r'  r   )ZsersrJ   r   r    r0  r!   "test_concat_mismatched_keys_lengthV  s    $$"r3  c                  C   s   t ttdddttdddtg dd} | ddg} t ttdddttdddtg d	d}|ddg}t| |g}t ttd
ddttdddtg dd}|ddg}t|| d S )Nr   categoryr   Zeeer   )c1c2i2r5  r6  r   ZabcabcZeeeeeer   )r	   r   rn   Z	set_indexr   rO   rP   r  r    r    r!   $test_concat_multiindex_with_categoryg  s.   


r8  c                  C   sL   t dgdd} t dgdd}t| |g}t ddgddgd}t|| d S )Nrz   stringr   r(   r   r   r+   r   r  r    r    r!   test_concat_ea_upcast  s
   r:  c                  C   s   t dd ig} t dtdig}d}tjt|d t| |gdd}W d    n1 s-w   Y  t dd tdgi}t|| d S )Nr   z1990-12-20 00:00:00+00:00r&  r|   Tr   )r	   r   r   rO   r(  r'  r   rP   )r   rG   r   r   rR   r    r    r!   (test_concat_none_with_timezone_timestamp  s   r;  )Ccollectionsr   r   collections.abcr   r   decimalr   numpyr   r~   Zpandas._configr   Zpandas.errorsr   Zpandas.util._test_decoratorsutilZ_test_decoratorstdZpandasr   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingrO   Zpandas.core.arraysr   Zpandas.tests.extension.decimalr   r   r   r   r   r   r   r   r   r  r	  filterwarningsZSubclassedDataFramer   ZSubclassedSeriesr  r  r  r  r  r  r  r   r  r!  Zskip_array_manager_invalid_testr,  r-  r.  r3  r8  r:  r;  r    r    r    r!   <module>   s    $	    
	


	
		


		




	