U
    ¾mœdû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m	Z	m
Z
 d dlZd dlZd dlmZ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%ej& 'dej(d ¡dd„ ƒZ)ej& 'deeg¡ej& 'dej(d ¡dd„ ƒƒZ*dd„ Z+dd„ Z,dd„ Z-ej& 'ddddgdddgg¡dd„ ƒZ.d d!„ Z/ej& 'd"e  0d#e 1d d$¡i¡e j2e 1d d$¡d#d%�g¡d&d'„ ƒZ3d(d)„ Z4d*d+„ Z5ej& 'd,d-d.d/d0g¡d1d2„ ƒZ6ej& 'd3d4gd5 d6fd4gd5 d7fd4d8d4gd7fd4d8d4gd6fg¡d9d:„ ƒZ7d;d<„ Z8d=d>„ Z9ej& 'd?ed@dAgdB�edCd@dAgidB�ee:dD�ee:dD�g¡dEdF„ ƒZ;ej& 'd?ed@dAgdB�edCd@dAgidB�ee:dD�ee:dD�g¡dGdH„ ƒZ<ej=ej& 'dIdJdKdLg¡ej& 'dMddJdNg¡dOdP„ ƒƒƒZ>ej=ej& 'dIdJdKdLg¡ej& 'dMddJdNg¡dQdR„ ƒƒƒZ?ej=dSdT„ ƒZ@dS )Ué    )ÚabcÚdeque)Údatetime)ÚDecimal)ÚIterator)Úcatch_warningsÚsimplefilterN)ÚInvalidIndexErrorÚPerformanceWarning)Ú	DataFrameÚIndexÚ
MultiIndexÚPeriodIndexÚSeriesÚconcatÚ
date_range)ÚSparseArray)Ú
to_decimalc                   @   sÖ   e Zd Zdd„ Z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-d.„ Zd/d0„ Zd1S )2ÚTestConcatenatec                 C   sˆ   t dddd�}t dddd�}ttj d¡|ƒ}ttj d¡|ƒ}| ¡ }| ¡ }t||gƒ}t|jt	ƒslt
‚|jd |jd ks„t
‚d S )	Nz
12/31/1990z
12/31/1999zA-DEC)Úfreqz
12/31/2000z
12/31/2009é
   r   )r   r   ÚnpÚrandomÚrandnZ	to_periodr   Ú
isinstanceÚindexr   ÚAssertionError)ÚselfZd1Zd2Ús1Ús2Úresult© r!   ú`/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/pandas/tests/reshape/concat/test_concat.pyÚtest_append_concat&   s    z"TestConcatenate.test_append_concatc                    s&  t tj dd¡ƒ}t tjjdddd� dd¡ƒ}t dditdƒd	�}t|||gdd
d�}|sz|jj	D ]‰ ˆ j
d ksdt‚qdn|jj	D ]‰ ˆ j
d k	s‚t‚q‚t|||gddd�}|jj	D ]Š‰ ˆ jjdkrÜˆ j
|jj	d j
ksÚt‚q²ˆ jjdk�rˆ j
|jj	d j
k�s<t‚q²ˆ jtkr²|�r.ˆ |jj	d k�s<t‚q²ˆ j
d k	s²t‚q²t tj dd¡ƒ}t||||gddd�}|jj	D ]²‰ ˆ jjdk�rÈ|�sŒ|�r¶t‡ fdd„|jj	|jj	 D ƒƒ�sÆt‚nˆ j
d k�st‚nVˆ jjdk�ròˆ j
|jj	d j
k�st‚n,ˆ jtk�rnt‡ fdd„|jj	D ƒƒ�snt‚�qnd S )Né   é   r   r   )Úsizeé   é   Úfoo©r   T)ÚaxisÚcopyFÚf)ÚiÚuc                 3   s   | ]}t  ˆ |¡V  qd S ©N©r   Zshares_memory©Ú.0Úother©Úarrr!   r"   Ú	<genexpr>[   s   ÿz3TestConcatenate.test_concat_copy.<locals>.<genexpr>c                 3   s   | ]}t  ˆ |¡V  qd S r0   r1   r2   r5   r!   r"   r7   f   s     )r   r   r   r   ÚrandintÚreshapeÚranger   Z_mgrÚarraysÚbaser   ÚdtypeÚkindÚobjectÚany)r   Zusing_array_managerZusing_copy_on_writeÚdfÚdf2Zdf3r    Zdf4r!   r5   r"   Útest_concat_copy6   s@    
þz TestConcatenate.test_concat_copyc              
   C   sˆ  t tj dd¡ƒ}t tj dd¡ƒ}t||gddgd�}t dddddddgdddddddgg¡}t tj|j|jf |d�}t	 
||¡ t||gddgd�}t ddddddgddddddg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'   ©Úkeysé   r*   ©rE   r+   ©Úcolumns)r   r   r   r   r   r   Zfrom_arraysZr_ÚvaluesÚtmÚassert_frame_equalZc_)r   rA   rB   r    Ú	exp_indexÚexpectedZ
exp_index2r!   r!   r"   Útest_concat_with_group_keysh   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}ddd	d
g}t|dd	ddg|gdgd�}t |jj	d t
|dd�¡ t |jj	d t
ddddgƒ¡ |jjdd gksÆt‚d S )Nr   r$   r   r'   rF   r%   ÚthreeÚtwoÚoneÚzeroZ	group_key)r+   rE   ÚlevelsÚnames©Úname)r   r   r   r   Úilocr   rK   Úassert_index_equalrI   rT   r   rU   r   )r   rA   Ú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 	||¡ dddg}tˆ |d�}t‡ fdd„|D ƒ|d�}t 	||¡ d S )Nr^   r$   r%   )r)   ÚbarÚbazZquxc                    s   g | ]}ˆ | ‘qS r!   r!   ©r3   Úk©Úframesr!   r"   Ú
<listcomp>¥   s     z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>rD   r'   ©r+   c                    s   g | ]}ˆ | ‘qS r!   r!   ra   rc   r!   r"   re   ©   s     rG   r`   r)   r_   c                    s   g | ]}ˆ | ‘qS r!   r!   ra   rc   r!   r"   re   ®   s     )
r^   r   r   r   r   ÚlistrE   r   rK   rL   )r   r]   Znon_dict_mapping_subclassÚconstructorZsorted_keysr    rN   rE   r!   rc   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d
dddg||d�}t||||gƒ}t|dgg ddddgddddgddddgg|d g d�}||_t ||¡ t||||gd
dddg|d�}|jj	dksæt
‚t||||gd
dddgdd	gd�}|jj	dk�st
‚t |jjd tddgdd�¡ d S )Nr'   r%   r$   r)   r`   rR   rQ   ÚfirstÚsecond)r)   rR   )r)   rQ   )r`   rR   )r`   rQ   )rE   rT   rU   r   )rT   ÚcodesrU   ©rE   rT   )NNN©rE   rU   )rj   rk   NrV   )r   r   r   r   r   r   r   rK   rL   rU   r   rY   rT   r   )r   rA   rB   rT   rU   r    rN   rM   r!   r!   r"   Útest_concat_keys_and_levels±   sD    

ü
 ý

ý

ý
 ÿ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dddggd� W 5 Q R X d}tjt|d��$ t||gd	d
gdddggd� W 5 Q R X d S )Nr'   r%   Úar*   r$   Úbz Values not found in passed level©ÚmatchrR   rQ   r)   r_   r`   rm   zKey one not in level)r   r   r   r   ÚpytestÚraisesÚ
ValueErrorr   )r   rA   rB   Úmsgr!   r!   r"   Ú"test_concat_keys_levels_no_overlapÚ   s    (z2TestConcatenate.test_concat_keys_levels_no_overlapc              	   C   sb  ddddg}t tjddddgd	d
�tjddddgdd
�tjddddgd	d
�tjddddgdd
�dœ|d�}t tjddddgdd
�tjddddgd	d
�tjddddgdd
�tjddddg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�s^t‚d S )NÚAÚBÚCÚDr'   rF   r%   r$   Zf8©r=   Úi8)ry   rz   r{   r|   rH   T©Úignore_indexr   rf   rp   r*   rq   rR   rQ   rj   rk   rn   )rj   rk   )r   r   Úarrayr   ZconcatenaterJ   rK   rL   r   r   r   rU   r   )r   rI   Údf1rB   ZappendedrN   rA   r    r!   r!   r"   Ú test_crossed_dtypes_weird_cornerç   s6    üù
üù
 ÿ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)   r_   )ry   ©rz   r'   rF   r*   )rz   r„   ©Úsort)r   r:   r   )r   r†   r‚   rB   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¡|dd	d
gd�}t|||gd	d�}t 	||¡ tt |d¡ dd¡|ddd	d
dgd�}t|||||gd	d�}t 	||¡ d|_
tt |d¡ dd¡|dddgd�}t|||gd	d�}t 	||¡ d|_
tt |d¡ dd¡|dddgd�}t|||gd	d�}t 	||¡ tt |d¡ dd¡|dd	d
gd�}t|||gd	dd�}t 	||¡ tt |d¡ dd	¡| ¡ d dgd�}t|||gƒ}t 	||¡ tt |d¡ dd	¡dgd�}t|||gdd�}t 	||¡ d S )Nz01-Jan-2013r   ÚH)Zperiodsr   Úint64r}   r*   éÿÿÿÿr'   rF   r   ©r   rI   rf   r%   r(   r)   r_   T)r+   r€   rH   r   )r   r   Úaranger   r   r9   Úrepeatr   rK   rL   rW   ZtileÚtolist)r   r   r6   r   r   rA   rN   r    r!   r!   r"   Útest_concat_mixed_objs  s„      ÿ  ÿ  ÿ  ÿ  ÿ  ÿ  ÿ 
 ÿz&TestConcatenate.test_concat_mixed_objsc                 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ô  rF   Útextz
some wordsé	   )r   ÚpdÚ	TimestampZtz_localizeÚNaTr   rX   rK   Úassert_series_equalZdtypesr   )r   rA   r    r!   r!   r"   Útest_dtype_coerceionU  s     z$TestConcatenate.test_dtype_coerceionc                 C   sN   t tj dd¡ƒ}t|gdgd�}t||gddgd�}t ||d d… ¡ d S )Nr   r$   r)   rD   r_   )r   r   r   r   r   rK   rL   )r   rA   r    rN   r!   r!   r"   Útest_concat_single_with_keyf  s    z+TestConcatenate.test_concat_single_with_keyc              	   C   s&   t jtdd�� tg ƒ W 5 Q R X d S )NzNo objects to concatenaterr   )rt   ru   rv   r   ©r   r!   r!   r"   Útest_concat_no_items_raisesm  s    z+TestConcatenate.test_concat_no_items_raisesc              	   C   sl   t tj dd¡ƒ}|d d… d d |dd … g}t|ƒ}t ||¡ tjt	dd�� td d gƒ W 5 Q R X d S )Nr   r$   r(   zAll objects passed were Nonerr   )
r   r   r   r   r   rK   rL   rt   ru   rv   )r   rA   rZ   r    r!   r!   r"   Útest_concat_exclude_noneq  s    z(TestConcatenate.test_concat_exclude_nonec                 C   sÞ   t dddgdddgdddggƒ}td ||d d… |d d… |dœƒ}t||d d… |d d… |dœƒ}t ||¡ td ||d d… |d d… |gdd	d
ddgd�}t||d d… |d d… |gd	d
ddgd�}t ||¡ d S )Nr   é   é   rF   r'   )rp   rq   ÚcÚdÚe)rq   rŸ   r    r¡   rp   rq   rŸ   r    r¡   rD   ©r   r   rK   rL   )r   Zdf0r    rN   r!   r!   r"   Útest_concat_keys_with_nonez  s     $" ÿ,z*TestConcatenate.test_concat_keys_with_nonec                 C   sV   t  ¡ }t  ¡ d d d… }t||gddd�}t||gddd�}t|ƒt|ƒksRt‚d S )NrF   Úouterr'   )Újoinr+   )rK   ZmakeTimeSeriesr   Úlenr   )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'   rf   ©r   r'   )
r   r   ZzerosZonesrW   r   r   rI   rK   rL   )r   Zts0r§   r    rN   r!   r!   r"   Útest_concat_bug_2972“  s    
z$TestConcatenate.test_concat_bug_2972c              
   C   sÂ   t ddddgddddgddddgdœƒ}t ddddgd	d
ddgddddgdœƒ}t ddddd	dgddddd
dgddddddgddddddggƒ}ddddddg|_t||gd	d�}t ||¡ d S )Nr   é   Zrrr)ÚfirmNoÚprcÚ	stringvarr“   r   é   é   r'   rF   r%   r$   )r{   Úmiscr¯   r®   r¯   r°   r{   r³   rf   )r   rI   r   rK   rL   )r   r‚   rB   rN   r    r!   r!   r"   Útest_concat_bug_3602�  s&    


ýÿ"ÿüÿz$TestConcatenate.test_concat_bug_3602c                    sú   t dddgƒ‰ t dddgƒ‰t ddddddgƒ}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 )Nr'   rF   r%   r$   r(   r­   Tr   c                 s   s   | ]
}|V  qd S r0   r!   )r3   rA   r!   r!   r"   r7   ¿  s     z8TestConcatenate.test_concat_iterables.<locals>.<genexpr>c                       s(   e Zd Zedœdd„Z‡ ‡fdd„ZdS )z>TestConcatenate.test_concat_iterables.<locals>.CustomIterator1©Úreturnc                 S   s   dS )NrF   r!   rš   r!   r!   r"   Ú__len__Ä  s    zFTestConcatenate.test_concat_iterables.<locals>.CustomIterator1.__len__c              
      s>   zˆ ˆdœ| W S  t k
r8 } z
t|‚W 5 d }~X Y nX d S )Nr«   )ÚKeyErrorÚ
IndexError)r   r   Úerr©r‚   rB   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edœ‡ ‡fdd„ZdS )z>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2rµ   c                 3   s   ˆ V  ˆV  d S r0   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   rK   rL   r   r   r   ÚIterable)r   rN   rÁ   rÃ   r!   r»   r"   Útest_concat_iterables¶  s     ÿ
z%TestConcatenate.test_concat_iterablesc                 C   sZ   t tdƒddd gd�g}|dd„ tdƒD ƒ7 }t|dd	�j}tddd gƒ}t ||¡ d S )
Nr%   rp   r'   r‹   c                 S   s"   g | ]}t td ƒdddgd�‘qS )r%   Nr'   rp   r‹   )r   r:   )r3   Ú_r!   r!   r"   re   Ù  s     z5TestConcatenate.test_concat_order.<locals>.<listcomp>éd   Tr…   )r   r:   r   rI   r   rK   rY   )r   Údfsr    rN   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'   rF   ÚInt64r}   Tr   )	r   r”   r�   r   r   r   r?   rK   r—   )r   rp   rq   r    rN   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ÚAnotherrD   )rÌ   rÍ   )r   r   r:   rK   r—   )r   rN   r    r!   r!   r"   Útest_concat_ordered_dictç  s     ÿz(TestConcatenate.test_concat_ordered_dictc              	   C   sv   t tj d¡dddddgdgd�}t tj d¡dddddgd	gd�}d
}tjt|d�� t||gdd� W 5 Q R X d S )Nr(   r   r'   rF   r%   rp   r‹   r$   rq   z8Reindexing only valid with uniquely valued Index objectsrr   rf   )r   r   r   r   rt   ru   r	   r   )r   r‚   rB   rw   r!   r!   r"   Ú#test_concat_duplicate_indices_raiseï  s
    ""z3TestConcatenate.test_concat_duplicate_indices_raiseN)r½   r¾   r¿   r#   rC   rO   r\   rt   ÚmarkÚparametrizeri   ro   rx   rƒ   r‡   r�   r˜   r™   r›   rœ   r£   rª   r¬   r´   rÅ   rÉ   rË   rÎ   rÏ   r!   r!   r!   r"   r   %   s0   2
)!	D	
 	r   ÚdtÚfloatc                 C   sj   |t d�j}|tjdg| |d�ƒ|tjtjg| |d�ƒ|tjdg| |d�ƒg}t|ƒ}|jj| ksft‚d S )Nr}   r'   ©r=   Úndminr(   )	r?   Úndimr   r�   Únanr   rJ   r=   r   )rÒ   Zframe_or_seriesÚdimsrÈ   Úxr!   r!   r"   Ú!test_concat_no_unnecessary_upcastù  s    ýrÚ   ÚpdtrÀ   c              	   C   sz   t dd��f |ƒ j}|tjdg| |d�ƒ|tjtjg|d�ƒ|tjdg| |d�ƒg}t|ƒ}|jjdkslt‚W 5 Q R X d S )NT)Úrecordr'   rÔ   )rÕ   r(   Úfloat64)	r   rÖ   r   r�   r×   r   rJ   r=   r   )rÒ   rÛ   rØ   rÈ   rÙ   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‚   rB   rN   r    r!   r!   r"   Ú0test_concat_empty_and_non_empty_frame_regression  s
    rß   c                  C   s^   t tdddgƒƒ} 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'   rF   ©Údatarf   )r   r   r   Úastyper”   ÚSparseDtyper   r‰   r   rK   rL   )rp   rN   r    r!   r!   r"   Útest_concat_sparse  s    ÿrä   c                  C   sr   t  tjd ¡} tt j dd g¡| d�}tdgtd�}tdd dgdddgd� | ¡}t	||gdd�}t
 ||¡ d S )Nr'   r}   r   ©rá   r   rf   )r”   rã   r   rÝ   r   r;   r   rÓ   râ   r   rK   r—   )r=   rp   rq   rN   r    r!   r!   r"   Útest_concat_dense_sparse(  s    ræ   rE   r¡   r-   c                 C   sÂ   t dddgdddgdœƒ}tdd	d
gdd�}tdddgdd�}t|||gd| d�}ddddgddd	dgddd
dgg}t | d df| d df| d df| d dfg¡}t ||d�}t ||¡ d S )Nr'   rF   r%   r$   r(   r­   ©rp   rq   é   é   r“   rŸ   rV   r   r±   r²   r    ©r+   rE   r   rp   rq   rH   )r   r   r   r   Úfrom_tuplesrK   rL   )rE   rA   r   r   r    Úexpected_valuesÚexpected_columnsrN   r!   r!   r"   Útest_duplicate_keys2  s    "*ÿrî   c               	   C   sÀ   ddg} t dddgdddgdœƒ}t||gd| d	�}ddddgddddgddddgg}t | d
 df| d
 df| d df| d dfg¡}t ||d�}tƒ � tdtƒ t ||¡ W 5 Q R X d S )Nr¡   r'   rF   r%   r$   r(   r­   rç   rê   r   rp   rq   rH   Úignore)	r   r   r   rë   r   r   r
   rK   rL   )rE   rA   r    rì   rí   rN   r!   r!   r"   Útest_duplicate_keys_same_frameA  s    "*ÿ
rð   Úobjry   r   rV   c                 C   s"   t | | gƒ}t|t| ƒƒst‚d S r0   )r   r   Útyper   )rñ   r    r!   r!   r"   Útest_concat_preserves_subclassQ  s    
ró   c                  C   s¨   t dtjdddgdd�iƒ} t dt ddd	g¡iƒ}t| |gd
d�}t ddddddd	gidd�}t ||¡ t|| gd
d�}t dddd	dddgidd�}t ||¡ d S )Nrp   r'   rF   r%   rÊ   r}   r$   r(   r­   Tr   )r   r”   r�   r   r   rK   rL   ©r‚   rB   r    rN   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 )
Nrp   rŠ   rÊ   r}   rq   r'   Tr   rç   r¢   )Zdf_aZdf_br    rN   r!   r!   r"   Ú+test_concat_preserves_extension_int64_dtypem  s
    rö   zdtype1,dtype2,expected_dtype)Úboolr÷   r÷   )Úbooleanr÷   rø   )r÷   rø   rø   )rø   rø   rø   c                 C   sT   t ddg| d�}t ddg|d�}t||gdd�}t ddddg|d�}t ||¡ d S )NTFr}   r   )r   r   rK   r—   )Zdtype1Zdtype2Zexpected_dtypeZser1Zser2r    rN   r!   r!   r"   Útest_concat_bool_typesv  s
    rù   )rE   Ú	integrityÚredr%   TFÚbluec                 C   sl   t ddiƒt ddiƒt ddiƒg}t|| |d�}tt| dddgƒƒ}t dddgt |¡d�}t ||¡ d S )	Nrp   r'   rq   rF   rŸ   r%   )rE   Zverify_integrityr*   )r   r   rg   Úzipr   rë   rK   r—   )rE   rú   Zseries_listr    ZtuplesrN   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d d g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))r=   rW   r{   gÿ!ýöuàà?rå   r?   zMaybe Time (UTC))ry   rz   rI   rf   r   r}   )ry   rz   r{   r*   )
r”   ZDatetimeIndexr   r   r   r×   r   r?   rK   rL   )Zdtir©   Úidxr¨   r    rM   rN   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'   rF   rH   r   r‹   )
r   rë   r   r”   Z
RangeIndexr   r   r×   rK   rL   )Úmir‚   rB   r    rN   r!   r!   r"   Ú,test_concat_multiindex_with_empty_rangeindex®  s    r  rá   r'   rF   rà   Zcol1r}   c                 C   sF   |   ¡ }ddi|_|   ¡ }ddi|_t||gƒ}t|jƒdksBt‚d S )Nr'   rF   r   )r,   Úattrsr   r¦   r   ©rá   r‚   rB   rA   r!   r!   r"   Útest_concat_drop_attrs¹  s    

r  c                 C   sF   |   ¡ }ddi|_|   ¡ }ddi|_t||gƒ}|jd dksBt‚d S )Nr'   )r,   r  r   r   r  r!   r!   r"   Útest_concat_retain_attrsÐ  s    

r  Údf_dtyperÝ   r‰   zdatetime64[ns]Úempty_dtyper?   c                 C   sp   t ddgddgdœ|d�}t ddg| d�}t||gƒ}|}|dkr`| d	krV| d	¡}n
| d
¡}t ||¡ d S )Nr'   rF   ©r)   r_   r}   r)   r_   )rI   r=   r‰   rÝ   r?   )r   r   râ   rK   rL   ©r  r  rA   Úemptyr    rN   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�}t||gdd�}|dkr^| dkrZd}nd	}t d ddgd ddgdœ|d�}t ||¡ d S )
Nr'   rF   r	  r}   Tr   r‰   r?   rÝ   )r   r   r×   r   rK   rL   r
  r!   r!   r"   Ú&test_concat_ignore_all_na_object_floatù  s    r  c                  C   sr   t dgt d¡gdœƒ} t ddgiƒ}t| |j| jd�gdd�}t ddgt d¡tjgdœƒ }} t ||¡ d S )	Nr'   z
2012-01-01rç   rp   rF   rH   Tr   )	r   r”   r•   r   ZreindexrI   r–   rK   rL   rô   r!   r!   r"   Ú%test_concat_ignore_empty_from_reindex  s
    "r  )AÚcollectionsr   r   r   Údecimalr   Útypingr   Úwarningsr   r   Únumpyr   rt   Zpandas.errorsr	   r
   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr”   r   r   r   r   r   r   r   Zpandas._testingZ_testingrK   Zpandas.core.arraysr   Zpandas.tests.extension.decimalr   r   rÐ   rÑ   ZsctypesrÚ   rÞ   rß   rä   ræ   rî   rð   ZSubclassedDataFramerŒ   ZSubclassedSeriesró   rõ   rö   rù   rþ   r   r  rÓ   r  r  Zskip_array_manager_invalid_testr  r  r  r!   r!   r!   r"   Ú<module>   sº   $	   W
	


þþ
	üþ	
	üþ	
	 ÿÿøþ

 ÿÿøþ

