o
    g\                     @   sN   d dl Zd dlZd dlZd dlmZmZmZmZ d dl	m
Z G dd dZdS )    N)	DataFrameIndexSeriesconcatc                   @   sL   e Z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S )TestDataFrameConcatc                 C   s|   t tdddgtjd}t tdtjd}t||fddj}ttdgd	 td
gd	  g dd}t	
|| d S )N)
      foobar)datacolumnsdtype)r   r      axisfloat64r   float32)r	   r
   r   r   index)r   nponesr   r   r   dtypesr   r   tmassert_series_equal)selfABresultsexpected r   h/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/pandas/tests/reshape/concat/test_dataframe.py"test_concat_multiple_frames_dtypes   s   z6TestDataFrameConcat.test_concat_multiple_frames_dtypesc                 C   sz   t tdtdd}t tdd tdd}t||fddgd}t d	d	d
d
d
dd	d	d
d
d
dd}t|| d S )N)r   r   ABr   )   r   r   )beebah)r%   bookeysg      ?g       @))r%   r&   r   )r%   r&   r   )r%   r'   r   )r%   r'   r   )r%   r'   r   )r   r   )r   r   r   listr   r   assert_frame_equal)r   df1df2r   r   r   r   r    test_concat_tuple_keys   s&   z*TestDataFrameConcat.test_concat_tuple_keysc           	      C   s   t ddgddgd}tddgdd	}t||g|d
}t g dg ddtjjddgddgfdd gdd}t|| tddgd d	}t||g|dgd}t|| t||g|d
}t g dg ddtjjddgddgfd d gdd}t|| d S )Nr   r   皙?皙?)r	   r
   abbaznamer(   )r   r   r   r   )r/   r0   r/   r0   r   namesr   )r)   r7   )r   r   r   pd
MultiIndexfrom_productr   r+   )	r   dfr   concatted_named_from_keysexpected_namedindex_no_nameconcatted_named_from_namesconcatted_unnamedexpected_unnamedr   r   r    test_concat_named_keys4   s"   z*TestDataFrameConcat.test_concat_named_keysc                 C   s  t dddgitdd}t dddgitdd}t dg dig d	d}t||gd
d}t|| t||gdd}t|| t||gdd}t|| t ddgddggddgddgd}t||gdd}t|| t||gdd}	t|	| tddg}
tddg}tg dg d	d}t|
|gd
d}t|| t|
|gdd}t|| t|
|gdd}t|| t ddgddggddgddgd}t|
|gdd}t|| t|
|gdd}t|| tjt	dd t|
|gdd W d    d S 1 sw   Y  d S )Nr   r/   r0   r   r   333333?皙?)r/   r0   rC   rD   )r   r   r   r   r   r   rowsr   r   )r   r   r   zNo axis named)match	something)
r   ranger   r   r+   r   r   pytestraises
ValueError)r   r,   r-   expected_indexconcatted_indexconcatted_rowconcatted_0expected_columnsconcatted_columnsconcatted_1series1series2expected_index_seriesconcatted_index_seriesconcatted_row_seriesconcatted_0_seriesexpected_columns_seriesconcatted_columns_seriesconcatted_1_seriesr   r   r    test_concat_axis_parameterJ   sF   $z.TestDataFrameConcat.test_concat_axis_parameterc                 C   s   t dtdidtjjg dg dgddgdd	}t|jd dd d f |jd
d d d f f}t dg didtjjg dddgdd	}t	|| d S )Ncol	   int32)A0A1A2)B0B1B2r   r   r6   )r   r   )r   r         ))r`   rc   )r`   rd   )rb   rd   )rb   re   )
r   rH   r8   r9   r:   r   ilocfrom_tuplesr   r+   r   r;   resultr   r   r   r    test_concat_numerical_names   s    
0	
z/TestDataFrameConcat.test_concat_numerical_namesc                 C   s`   t ddig}t||gdd}|d}t tddgddddgdd}t|| d S )Nr1   r2   r   r   categoryr   r#   )r   r   astyper   arrayreshaper   r+   rk   r   r   r    test_concat_astype_dup_col   s   
z.TestDataFrameConcat.test_concat_astype_dup_colc                 C   sz   t dtg dtg ddddi}t dtddgtd	d
gdddi}t||gdddg|d}t|jddgks;J d S )Nvalue)r   r   r$   )r1   r2   cidr4   r   rg   rh   r1   r2   r   t1t2)r   r)   sort)rv   rs   )rw   rs   )r   r   r   r   r*   r   )r   rx   rv   rw   rl   r   r   r    test_concat_dataframe_keys_bug   s   $z2TestDataFrameConcat.test_concat_dataframe_keys_bugc                 C   sV   t tg ddd}t tg ddd}t||g}t|d|g}t|| d S )N)TFTTbool)r   )r   r   r   int64)r   r   r   ro   r   r+   )r   r,   r-   rl   r   r   r   r    test_concat_bool_with_int   s
   z-TestDataFrameConcat.test_concat_bool_with_intN)__name__
__module____qualname__r!   r.   rB   r\   rm   rr   ry   r|   r   r   r   r    r      s    :
r   )numpyr   rI   pandasr8   r   r   r   r   pandas._testing_testingr   r   r   r   r   r    <module>   s    