o
    _~#g~                     @   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  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j.e	-d d!d d"gd#d$ Z/d%d& Z0d'd( Z1e
j#$d)g d*d+d, Z2e
j#$d-d.gd/ d0fd.gd/ d1fg d2d1fg d2d0fgd3d4 Z3d5d6 Z4d7d8 Z5e
j#$d9ed:d;gd<ed=d:d;gid<ee6d>ee6d>gd?d@ Z7e
j#$d9ed:d;gd<ed=d:d;gid<ee6d>ee6d>gdAdB Z8ej9e
j#$dCg dDe
j#$dEg dFdGdH Z:ej9e
j#$dCg dDe
j#$dEg dFdIdJ Z;ej9dKdL Z<dMdN Z=dOdP Z>dQdR Z?dSdT Z@dS )U    )abcdeque)Iterator)datetime)DecimalN)InvalidIndexError)	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d1d2 Zd3d4 Zd5S )6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_normal	to_periodr   
isinstanceindexr   )selfd1d2s1s2result r"   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/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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 ]A  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 qg jd usJ qgt tjdd}t||||gddd}|j	j
D ]Q  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 sJ 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>9   s    
z3TestConcatenate.test_concat_copy.<locals>.<genexpr>Ff)iu)r&   r)   c                 3       | ]	}t  |V  qd S r/   r   r2   r3   otherr6   r"   r#   r8   X   s
    

c                 3   r<   r/   r=   r>   r6   r"   r#   r8   c   s    )r   r   r   r   r   integersreshaperanger   r0   r1   anybasedtypekindobject)r   using_array_managerusing_copy_on_writedfdf2df3r!   df4r"   r6   r#   test_concat_copy/   sL   $
 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%   rP   r-   columns)r   r   r   r   r   r   r
   from_arraysr_valuestmassert_frame_equalc_)r   rJ   rK   r!   	exp_indexexpected
exp_index2r"   r"   r#   test_concat_with_group_keyse   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)ra   r`   r_   	group_key)r-   rP   levelsnamesname)r   r)   r   r'   )r   r   r   r   r   ilocr   rW   assert_index_equalrS   rd   r	   re   )r   rJ   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 )Nrn   r   r%   )r+   barbazquxc                       g | ]} | qS r"   r"   r3   kframesr"   r#   
<listcomp>       z7TestConcatenate.test_concat_mapping.<locals>.<listcomp>rO   r)   r-   c                    rr   r"   r"   rs   ru   r"   r#   rw      rx   rQ   )rp   r+   ro   c                    rr   r"   r"   rs   ru   r"   r#   rw      rx   )rn   r   r   r   r   r   listrP   r   rW   rX   )r   rm   non_dict_mapping_subclassconstructorsorted_keysr!   r[   rP   r"   ru   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+   rp   ra   r`   firstsecond))r+   ra   )r+   r`   )rp   ra   )rp   r`   )rP   rd   re   r   )r   r   r)   r)   )r   r)   r   r)   r   r   r   r   )rd   codesre   rP   rd   )NNNrP   re   )r   r   Nrf   )r   r   r   r   r   r   r
   r   rW   rX   re   ri   rd   r	   )r   rJ   rK   rd   re   r!   r[   rZ   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   r   ar,   r   bz Values not found in passed levelmatchra   r`   )r+   ro   rp   r   zKey one not in level)	r   r   r   r   r   pytestraises
ValueErrorr   )r   rJ   rK   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&   f8rE   i8rR   Tignore_indexr   ry   r   r   r   r,   r   r   ra   r`   r   r   r   )r   r   )r   r   arrayr   concatenaterV   rW   rX   r   r   r   r   re   )r   rS   df1rK   appendedr[   rJ   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+   ro   )r   r   r)   r   r,   )r   r   sort)r   rB   r   )r   r   r   rK   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   rS   ry   r'   r   r)   r   r*   )r   r   r)   r   r'   r+   )r+   r   r   ro   r+   r   ro   T)r-   r   )r   r   aranger   r   rA   repeatr   rW   rX   rg   r   r   r7   r   r    rJ   r[   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   rA   tiletolistr   rW   rX   r   r"   r"   r#   test_concat_mixed_objs_indexF  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   rg   ro   r   r)   r,   r'   r   r   r   rR   Tr   )r   r   r   r   r   rA   kronwhereidentitynanTr   r   rW   rX   r   r   r"   r"   r#   "test_concat_mixed_objs_index_namesV  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date20130101UTCr   r)   i  i  r   textz
some words	   )r   pd	Timestamptz_localizeNaTr   rh   rW   assert_series_equaldtypesr   )r   rJ   r!   r"   r"   r#   test_dtype_coercionm  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   r^   r+   rO   ro   r   )r   r   r   r   r   r   rW   rX   )r   rJ   r!   r[   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   r^   r*   zAll objects passed were Noner   )r   r   r   r   r   r   rW   rX   r   r   r   )r   rJ   rj   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)   )r   r   cde)r   r   r   r   rO   r   r   rW   rX   )r   df0r!   r[   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   ts1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)   ry   r   r)   )
r   r   zerosonesrg   r   r   rS   rW   rX   )r   ts0r   r!   r[   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 )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   r   r   )r   r   r   r   r'   r   )r   r   r   r   r&   r   )r   r   r   r   r   r   r)   ry   )r   rS   r   rW   rX   )r   r   rK   r[   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"   )r3   rJ   r"   r"   r#   r8         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   rK   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   rW   rX   r   r   r   Iterable)r   r[   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'   )r   r)   Nr   c                 S   s    g | ]}t td g ddqS )r'   )Nr)   r   r   )r   rB   )r3   _r"   r"   r#   rw     s     z5TestConcatenate.test_concat_order.<locals>.<listcomp>d   Tr   )r)   r   N)r   rB   r   rS   r	   rW   ri   )r   dfsr!   r[   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   rG   rW   r   )r   r   r   r!   r[   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AnotherrO   )r  r  )r   r   rB   rW   r   )r   r[   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'   r   r   )r   r)   r   r   r&   r   z8Reindexing only valid with uniquely valued Index objectsr   r)   ry   )	r   r   r   r   r   r   r   r   r   )r   r   rK   r   r"   r"   r#   #test_concat_duplicate_indices_raise	  s   "z3TestConcatenate.test_concat_duplicate_indices_raiseN)r   r   r   r$   rN   r]   rl   r   markparametrizer~   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      s6    6
)!	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)   rE   ndminr*   )rG   ndimr   r   r   r   rV   rE   )float_numpy_dtypeframe_or_seriesdimsdtr   r4   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   rV   rE   )r  any_signed_int_numpy_dtyper  r  r   r4   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   rK   r[   r!   r"   r"   r#   0test_concat_empty_and_non_empty_frame_regression6  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   datary   )r   r   r   astyper   SparseDtyper   r   r   rW   rX   )r   r[   r!   r"   r"   r#   test_concat_sparse?  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   ry   )r   r  r   r   r   r1   r   floatr  r   rW   r   )rE   r   r   r[   r!   r"   r"   r#   test_concat_dense_sparseI  s   r  rP   )r   r9   r9   )r9   r   r9   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   r   r   )      r   r   rf   )r   r   r   r   r)   r-   rP   )r)   r&   r  r   )r   r*   r   r   )r'   r   r   r   r   r   r   r   rR   )r   r   r   r
   from_tuplesrW   rX   )rP   rJ   r   r    r!   expected_valuesexpected_columnsr[   r"   r"   r#   test_duplicate_keysS  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   r   r   rR   )r   r   r
   r"  rW   rX   )rP   rJ   r!   r#  r$  r[   r"   r"   r#   test_duplicate_keys_same_frameb  s   *r&  zMignore:Passing a BlockManager|Passing a SingleBlockManager:DeprecationWarningobjr   r   rf   c                 C   s"   t | | g}t|t| sJ d S r/   )r   r   type)r'  r!   r"   r"   r#   test_concat_preserves_subclasso  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 )
Nr   r   r  r   r   Tr   r   )r&   r*   r   r)   r   r'   )r   r   r   r   r   rW   rX   r   rK   r!   r[   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 )
Nr   r   r  r   r   r)   Tr   r  r   )df_adf_br!   r[   r"   r"   r#   +test_concat_preserves_extension_int64_dtype  s
   r.  zdtype1,dtype2,expected_dtype))boolr/  r/  )booleanr/  r0  )r/  r0  r0  )r0  r0  r0  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   rW   r   )dtype1dtype2expected_dtypeser1ser2r!   r[   r"   r"   r#   test_concat_bool_types  s
   r6  )rP   	integrityredr'   TF)r8  bluer8  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 )Nr   r)   r   r   r   r'   )rP   verify_integrity)r   r   r   r   r,   )r   r   rz   zipr
   r"  rW   r   )rP   r7  series_listr!   tuplesr[   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))rE   rg   r   g!u?r  rG   zMaybe Time (UTC))r   r   rS   ry   r   r   r   r   r   r,   )r   DatetimeIndexr   r	   r   r   r   rG   r   rW   rX   )dtir   idxr   r!   rZ   r[   r"   r"   r#    test_concat_null_object_with_dti  s    
rC  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   rR   r   r   )
r
   r"  r   r   
RangeIndexr   r   r   rW   rX   )mir   rK   r!   r[   r"   r"   r#   ,test_concat_multiindex_with_empty_rangeindex  s   rF  r  r)   r   r  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   rK   rJ   r"   r"   r#   test_concat_drop_attrs     

rJ  c                 C   sF   |   }ddi|_|   }ddi|_t||g}|jd dks!J d S )Nr)   )r.   rH  r   rI  r"   r"   r#   test_concat_retain_attrs  rK  rL  df_dtype)r   r   datetime64[ns]empty_dtype)Nr   rG   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+   ro   r   r+   ro   )rS   rE   DThe behavior of DataFrame concatenation with empty or all-NA entriesrN  r   r   r   rG   )r   FutureWarningrW   assert_produces_warningr   r  rX   rO  rM  rJ   emptyr   warnr!   r[   r"   r"   r#   %test_concat_ignore_empty_object_float  s    
rW  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   rP  r   r   rG   r   rQ  rN  r   Tr   )r   r   r   rR  rW   rS  r   rX   rT  r"   r"   r#   &test_concat_ignore_all_na_object_float&  s"   "rX  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  r   r   rR   rQ  r   Tr   )r   r   r   reindexrS   rW   rS  rR  r   r   rX   )r   rK   alignedr   r!   r[   r"   r"   r#   %test_concat_ignore_empty_from_reindexB  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"   )r3   nserr"   r#   rw   T  rx   z6test_concat_mismatched_keys_length.<locals>.<listcomp>r&   r?  zGThe behavior of pd.concat with len\(keys\) != len\(objs\) is deprecatedr   r)   rQ   r   c                 s   r   r/   r"   r3   r4   r"   r"   r#   r8   ]  r   z5test_concat_mismatched_keys_length.<locals>.<genexpr>c                 s   r   r/   r"   r3   r5   r"   r"   r#   r8   ]  r   c                 s   r   r/   r"   r_  r"   r"   r#   r8   _  r   c                 s   r   r/   r"   r`  r"   r"   r#   r8   _  r   )r   rB   rW   rS  rR  r   )sersrP   r   r"   r]  r#   "test_concat_mismatched_keys_lengthQ  s    $$"rb  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   eeer   )c1c2i2re  rf  r   abcabceeeeeer   )r   r   rz   	set_indexr   rW   rX   r*  r"   r"   r#   $test_concat_multiindex_with_categoryb  s.   


rk  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 )Nr   stringr   r)   r  r   r,   r   r*  r"   r"   r#   test_concat_ea_upcast  s
   rm  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:00rQ  r   Tr   )r   r   r   rW   rS  rR  r   rX   )r   rK   r   r!   r[   r"   r"   r#   (test_concat_none_with_timezone_timestamp  s   rn  )Acollectionsr   r   collections.abcr   r   decimalr   numpyr   r   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r	   r
   r   r   r   r   pandas._testing_testingrW   pandas.core.arraysr   pandas.tests.extension.decimalr   r   r  r  r	  r  r  r  r  r%  r&  filterwarningsSubclassedDataFramer   SubclassedSeriesr)  r+  r.  r6  r>  rC  rF  r  rJ  rL  skip_array_manager_invalid_testrW  rX  r[  rb  rk  rm  rn  r"   r"   r"   r#   <module>   s    $	    
	


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