U
    `»{j¹l  ã                
   @   s6  d dl mZ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! d d	l"m#Z# G d
d„ dƒZ$e
j% &deeg¡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 /d"e	 0d d#¡i¡ej1e	 0d d#¡d"d$�g¡d%d&„ ƒZ2d'd(„ Z3d)d*„ Z4e
j% &d+d,d-d.d/g¡d0d1„ ƒZ5e
j% &d2d3gd4 d5fd3gd4 d6fd3d7d3gd6fd3d7d3gd5fg¡d8d9„ ƒZ6d:d;„ Z7d<d=„ Z8d>d?„ Z9e
j% &d@edAdBgdC�edDdAdBgidC�ee:dE�ee:dE�g¡dFdG„ ƒZ;e
j% &d@edAdBgdC�edDdAdBgidC�ee:dE�ee:dE�g¡dHdI„ ƒZ<ej=e
j% &dJdKdLdMg¡e
j% &dNddKdOg¡dPdQ„ ƒƒƒZ>ej=e
j% &dJdKdLdMg¡e
j% &dNddKdOg¡dRdS„ ƒƒƒZ?ej=dTdU„ ƒZ@dS )Vé    )ÚabcÚdeque)ÚDecimal)Úcatch_warningsÚsimplefilterN)ÚInvalidIndexErrorÚPerformanceWarning)Ú	DataFrameÚIndexÚ
MultiIndexÚPeriodIndexÚSeriesÚconcatÚ
date_range)ÚSparseArray)Ú!create_series_with_explicit_dtype)Ú
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    úf/var/www/html/bwave/python/venv/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�}|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œ|�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�rHt‡ fdd„|jj	D ƒƒ�sHt‚�qHd 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>V   s   ÿz3TestConcatenate.test_concat_copy.<locals>.<genexpr>c                 3   s   | ]}t  ˆ |¡V  qd S r/   r0   r1   r4   r    r!   r6   a   s     )r	   r   r   r   ÚrandintÚreshapeÚranger   Z_mgrÚarraysÚbaser   ÚdtypeÚkindÚobjectÚany)r   Zusing_array_managerÚdfÚdf2Zdf3r   Zdf4r    r4   r!   Útest_concat_copy5   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)   ©rD   r*   ©Úcolumns)r	   r   r   r   r   r   Zfrom_arraysZr_ÚvaluesÚtmÚassert_frame_equalZc_)r   r@   rA   r   Ú	exp_indexÚexpectedZ
exp_index2r    r    r!   Útest_concat_with_group_keysc   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&   rE   r$   ÚthreeÚtwoÚoneÚzeroZ	group_key)r*   rD   ÚlevelsÚnames©Úname)r	   r   r   r   Úilocr   rJ   Úassert_index_equalrH   rS   r
   rT   r   )r   r@   Ú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    ©r2   Úk©Úframesr    r!   Ú
<listcomp>    s     z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>rC   r&   ©r*   c                    s   g | ]}ˆ | ‘qS r    r    r`   rb   r    r!   rd   ¤   s     rF   r_   r(   r^   c                    s   g | ]}ˆ | ‘qS r    r    r`   rb   r    r!   rd   ©   s     )
r]   r	   r   r   r   ÚlistrD   r   rJ   rK   )r   r\   Znon_dict_mapping_subclassÚconstructorZsorted_keysr   rM   rD   r    rb   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_   rQ   rP   ÚfirstÚsecond)r(   rQ   )r(   rP   )r_   rQ   )r_   rP   )rD   rS   rT   r   )rS   ÚcodesrT   ©rD   rS   )NNN©rD   rT   )ri   rj   NrU   )r	   r   r   r   r   r   r   rJ   rK   rT   r   rX   rS   r
   )r   r@   rA   rS   rT   r   rM   rL   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©ÚmatchrQ   rP   r(   r^   r_   rl   zKey one not in level)r	   r   r   r   ÚpytestÚraisesÚ
ValueErrorr   )r   r@   rA   Ú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&   rE   r$   r#   Zf8©r<   Úi8)rx   ry   rz   r{   rG   T©Úignore_indexr   re   ro   r)   rp   rQ   rP   ri   rj   rm   )ri   rj   )r	   r   Úarrayr   ZconcatenaterI   rJ   rK   r   r   r   rT   r   )r   rH   Údf1rA   ZappendedrM   r@   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^   )rx   ©ry   r&   rE   r)   )ry   rƒ   ©Úsort)r	   r9   r   )r   r…   r�   rA   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&   rE   r   ©r   rH   re   r$   r'   r(   r^   T)r*   r   rG   r~   )r   r   Úaranger   r	   r8   Úrepeatr   rJ   rK   rV   ZtileÚtolist)r   r   r5   r   r   r@   rM   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	¡ dd l
}t d| 
ddd¡| 
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ô  rE   Útextz
some wordsé	   )r	   ÚpdÚ	TimestampZtz_localizeÚNaTr   rW   rJ   Úassert_series_equalZdtypesÚdatetime)r   r@   r   r—   r    r    r!   Útest_dtype_coerceionQ  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(   rC   r^   )r	   r   r   r   r   rJ   rK   )r   r@   r   rM   r    r    r!   Útest_concat_single_with_keyg  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 concatenaterq   )rs   rt   ru   r   ©r   r    r    r!   Útest_concat_no_items_raisesn  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 Nonerq   )
r	   r   r   r   r   rJ   rK   rs   rt   ru   )r   r@   rY   r   r    r    r!   Útest_concat_exclude_noner  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   é   é   rE   r&   )ro   rp   ÚcÚdÚe)rp   rŸ   r    r¡   ro   rp   rŸ   r    r¡   rC   ©r	   r   rJ   rK   )r   Zdf0r   rM   r    r    r!   Útest_concat_keys_with_none{  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 )NrE   Úouterr&   )Újoinr*   )rJ   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&   re   ©r   r&   )
r   r   ZzerosZonesrV   r   r	   rH   rJ   rK   )r   Zts0r§   r   rM   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&   rE   r$   r#   )rz   Úmiscr¯   r®   r¯   r°   rz   r³   re   )r	   rH   r   rJ   rK   )r   r�   rA   rM   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&   rE   r$   r#   r'   r­   Tr~   c                 s   s   | ]
}|V  qd S r/   r    )r2   r@   r    r    r!   r6   Á  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 )NrE   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�   rA   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‡ ‡fdd„ZdS )z>TestConcatenate.test_concat_iterables.<locals>.CustomIterator2c                 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!   ÚCustomIterator2Ñ  s   rÂ   )r	   rJ   rK   r   r   r   ÚIterable)r   rM   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$   ro   r&   rŠ   c                 S   s"   g | ]}t td ƒdddgd�‘qS )r$   Nr&   ro   rŠ   )r	   r9   )r2   Ú_r    r    r!   rd   Û  s     z5TestConcatenate.test_concat_order.<locals>.<listcomp>éd   Tr„   )r	   r9   r   rH   r
   rJ   rX   )r   Údfsr   rM   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&   rE   ÚInt64r|   Tr~   )	r   r“   r€   r   r   r   r>   rJ   r–   )r   ro   rp   r   rM   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ÚAnotherrC   )rË   rÌ   )r   r   r9   rJ   r–   )r   rM   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&   rE   r$   ro   rŠ   r#   rp   z8Reindexing only valid with uniquely valued Index objectsrq   re   )r	   r   r   r   rs   rt   r   r   )r   r�   rA   rv   r    r    r!   Ú#test_concat_duplicate_indices_raiseñ  s
    ""z3TestConcatenate.test_concat_duplicate_indices_raiseN)r¼   r½   r¾   r"   rB   rN   r[   rs   ÚmarkÚparametrizerh   rn   rw   r‚   r†   rŽ   r˜   r™   r›   rœ   r£   rª   r¬   r´   rÄ   rÈ   rÊ   rÍ   rÎ   r    r    r    r!   r   $   s0   .
)!	E	
 	r   ÚpdtÚ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   rI   r<   r   ©rÒ   rÑ   ZdimsrÇ   Úxr    r    r!   Ú!test_concat_no_unnecessary_upcastû  s    ýrÚ   r¿   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   rI   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�   rA   rM   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&   rE   ©Údatare   )r   r   r	   Úastyper“   ÚSparseDtyper   rˆ   r   rJ   rK   )ro   rM   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   re   )r“   râ   r   rÜ   r   r:   r   rÓ   rá   r   rJ   r–   )r<   ro   rp   rM   r   r    r    r!   Útest_concat_dense_sparse+  s    rå   rD   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&   rE   r$   r#   r'   r­   ©ro   rp   é   é   r’   rŸ   rU   r   r±   r²   r    ©r*   rD   r   ro   rp   rG   )r	   r   r   r   Úfrom_tuplesrJ   rK   )rD   r@   r   r   r   Úexpected_valuesÚexpected_columnsrM   r    r    r!   Útest_duplicate_keys5  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&   rE   r$   r#   r'   r­   ræ   ré   r   ro   rp   rG   Úignore)	r	   r   r   rê   r   r   r   rJ   rK   )rD   r@   r   rë   rì   rM   r    r    r!   Útest_duplicate_keys_same_frameD  s    "*ÿ
rï   Úobjrx   r   rU   c                 C   s"   t | | gƒ}t|t| ƒƒst‚d S r/   )r   r   Útyper   )rð   r   r    r    r!   Útest_concat_preserves_subclassT  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 )Nro   r&   rE   r$   rÉ   r|   r#   r'   r­   Tr~   )r	   r“   r€   r   r   rJ   rK   ©r�   rA   r   rM   r    r    r!   Ú(test_concat_frame_axis0_extension_dtypesb  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 )
Nro   r‰   rÉ   r|   rp   r&   Tr~   ræ   r¢   )Zdf_aZdf_br   rM   r    r    r!   Ú+test_concat_preserves_extension_int64_dtypep  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   rJ   r–   )Zdtype1Zdtype2Zexpected_dtypeZser1Zser2r   rM   r    r    r!   Útest_concat_bool_typesy  s
    rø   )rD   Ú	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 )	Nro   r&   rp   rE   rŸ   r$   )rD   Zverify_integrityr)   )r   r   rf   Úzipr   rê   rJ   r–   )rD   rù   Zseries_listr   ZtuplesrM   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<   rV   rz   gÿ!ýöuàà?rä   r>   zMaybe Time (UTC))rx   ry   rH   re   r   r|   )rx   ry   rz   r)   )
r“   ZDatetimeIndexr	   r
   r   r×   r   r>   rJ   rK   )Zdtir©   Úidxr¨   r   rL   rM   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ƒ   )rz   r&   r&   rE   rG   r   rŠ   )
r   rê   r	   r“   Z
RangeIndexr   r   r×   rJ   rK   )Úmir�   rA   r   rM   r    r    r!   Ú,test_concat_multiindex_with_empty_rangeindex±  s    r  c               	   C   sˆ   t dddggdgd�} t dddggd	gd�}d
}tjt|d�� t| |gdƒ}W 5 Q R X t dddgdddggdd	gd�}t ||¡ d S )Nr&   rE   r$   ro   r)   r#   r'   r­   rp   ziIn a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-onlyrq   r   )r	   rJ   Zassert_produces_warningÚFutureWarningr   rK   )r@   rA   rv   r   rM   r    r    r!   Útest_concat_posargs_deprecation¼  s    ÿ r  rà   r&   rE   rß   Zcol1r|   c                 C   sF   |   ¡ }ddi|_|   ¡ }ddi|_t||gƒ}t|jƒdksBt‚d S )Nr&   rE   r   )r+   Úattrsr   r¦   r   ©rà   r�   rA   r@   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&   rE   ©r(   r^   r|   r(   r^   )rH   r<   rˆ   rÜ   r>   )r	   r   rá   rJ   rK   ©r	  r  r@   Úemptyr   rM   r    r    r!   Ú%test_concat_ignore_emtpy_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&   rE   r
  r|   Tr~   rˆ   r>   rÜ   )r	   r   r×   r   rJ   rK   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æ   ro   rE   rG   Tr~   )	r	   r“   r”   r   ZreindexrH   r•   rJ   rK   ró   r    r    r!   Ú%test_concat_ignore_empty_from_reindex  s
    "r  )AÚcollectionsr   r   Údecimalr   Úwarningsr   r   Únumpyr   rs   Zpandas.errorsr   r   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasr“   r	   r
   r   r   r   r   r   Zpandas._testingZ_testingrJ   Zpandas.core.arraysr   Zpandas.core.constructionr   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  r  Zskip_array_manager_invalid_testr  r  r  r    r    r    r!   Ú<module>   s¼   $	   Z	


þþ
	üþ	
	üþ	
	 ÿÿøþ

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

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