Ë
    ž…jb'  ã                   óX   — d dl Zd dlZd dlZd dlmZmZmZmZm	Z	 d dl
mZ  G d„ d«      Zy)é    N)Ú	DataFrameÚ
RangeIndexÚSeriesÚconcatÚ
date_rangec                   óD  — e Zd Zd„ Zd„ Zej                  j                  dddg«      ej                  j                  dg g d¢g«      d„ «       «       Zej                  j                  d	e	j                  e	j                  e	j                  fe	j                  e	j                  e	j                  fd
e	j                  e	j                  fd
e	j                  e	j                  fde	j                  e	j                  fde	j                  e	j                  fddg«      d„ «       Zej                  j                  dg d¢«      d„ «       Zej                  j                  dg d¢«      ej                  j                  dg d¢«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestEmptyConcatc                 ó$  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }|d d j                  «       }d|d<   |dd }||||dd  g}t        |d|¬	«      }|j                  g d
¢¬«      }|d   j                  |st        nd«      |d<   d|j                  dd…df<   t        j                  ||«       t        dt        d«      it        ddd¬«      ¬«      }t        «       }t        ||gd¬«      }	t        j                  |	|«       t        ||gd¬«      }	t        j                  |	|«       t        ||g«      }	t        j                  |	|«       t        ||g«      }	t        j                  |	|«       y )Né   )é
   é   Úabcd©Úcolumnsé   ÚbarÚfoor   )ÚaxisÚsort)ÚaÚbÚcÚdr   Ústrr   ÚAi'  Ú20130101Ús)ÚperiodsÚfreq©Úindexé   ©r   )r   ÚnpÚrandomÚdefault_rngÚstandard_normalÚlistÚcopyr   ÚreindexÚastypeÚobjectÚlocÚtmÚassert_frame_equalÚranger   )
Úselfr   Úusing_infer_stringÚdfÚdfcopyÚemptyÚframesÚ	concattedÚexpectedÚresults
             úg/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/reshape/concat/test_empty.pyÚtest_handle_empty_objectsz)TestEmptyConcat.test_handle_empty_objects   sy  € ÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆð �B�Q�—‘“ˆØˆˆu‰Ø�1�Q�ˆà˜% ¨¨1¨2¨Ð/ˆÜ˜6¨°Ô5ˆ	à—:‘:Ò&A�:ÓBˆØ" 5™/×0Ñ0Ù,�F°%ó
ˆ�‰ð $)ˆ�‰�Q�q�S˜%�ZÑ ä
×Ñ˜i¨Ô2ô Ø”%˜“,Ð¤z°*ÀeÐRUÔ'Vô
ˆô “ˆÜ˜˜U˜¨!Ô,ˆÜ
×Ñ˜f bÔ)Ü˜ ˜¨!Ô,ˆÜ
×Ñ˜f bÔ)ä˜˜U˜Ó$ˆÜ
×Ñ˜f bÔ)Ü˜ ˜Ó$ˆÜ
×Ñ˜f bÕ)ó    c                 óÎ  — t        g d¢d¬«      }t        dd¬«      }t        ||gd¬«      }t        g d¢t        j                  t        j                  t        j                  gd	œt        d
«      ¬«      }t        j                  ||«       t        g d¢d¬«      }t        dd¬«      }t        ||gd¬«      }t        g d¢d¬«      }t        j                  ||«       t        g d¢d¬«      }t        d d¬«      }t        ||gd¬«      }t        g d¢t        j                  t        j                  t        j                  gdœddgt        d
«      ¬«      }t        j                  ||«       y )N©r"   r   é   Úx)ÚnameÚyÚfloat64)rA   Údtyper"   r#   )r@   rB   r?   r    r   ©rD   )r@   r   )r   r!   )	r   r   r   r$   Únanr   r.   r/   Úassert_series_equal)r1   Ús1Ús2ÚresÚexps        r:   Útest_concat_empty_seriesz(TestEmptyConcat.test_concat_empty_series4   s  € ä’I CÔ(ˆÜ˜ IÔ.ˆÜ�b˜"�X AÔ&ˆÜÚ¤2§6¡6¬2¯6©6´2·6±6Ð":Ñ;Ü˜Q“-ô
ˆô 	×Ñ˜c 3Ô'ä’I CÔ(ˆÜ˜ IÔ.ˆÜ�b˜"�X AÔ&ˆä’Y iÔ0ˆÜ
×Ñ˜s CÔ(ô ’I CÔ(ˆÜ˜ YÔ/ˆÜ�b˜"�X AÔ&ˆÜÚ¤§¡¬¯©´·±Ð 8Ñ9Ø˜!�HÜ˜Q“-ô
ˆô
 	×Ñ˜c 3Õ'r<   ÚtzNÚUTCÚvaluesr>   c                 óv  — t        g d¬«      j                  j                  |«      }|rd nt        j                  }t        ||¬«      }t        t        t        j                  gt        |«      z  d¬«      j                  j                  |«      |dœ«      }t        ||gd¬«      }t        j                  ||«       y )NúM8[ns]rE   )r   r"   r"   r#   )r   ÚdtÚtz_localizer$   rC   r   ÚpdÚNaTÚlenr   r.   r/   )r1   rM   rO   ÚfirstrD   Úsecondr8   r9   s           r:   Ú!test_concat_empty_series_timelikez1TestEmptyConcat.test_concat_empty_series_timelikeQ   s™   € ô
 �r Ô*×-Ñ-×9Ñ9¸"Ó=ˆÙ‘¤B§J¡JˆÜ˜ eÔ,ˆääœ2Ÿ6™6˜(¤S¨£[Ñ0¸ÔA×DÑD×PÑPÐQSÓTØñó
ˆô ˜ ˜¨aÔ0ˆÜ
×Ñ˜f hÕ/r<   zleft,right,expectedúm8[ns]rQ   )Úcategoryr[   r[   )r[   r,   r,   c                 óh   — t        t        |¬«      t        |¬«      g«      }|j                  |k(  sJ ‚y ©NrE   )r   r   rD   )r1   ÚleftÚrightr8   r9   s        r:   Útest_concat_empty_series_dtypesz/TestEmptyConcat.test_concat_empty_series_dtypesc   s/   € ô$ œ dÔ+¬V¸%Ô-@ÐAÓBˆØ�|‰|˜xÒ'Ð'Ñ'r<   rD   )rC   Úint8Úuint8ÚboolrZ   rQ   c                 óà   — t        j                  |«      }t        t        |¬«      g«      }|j                  |k(  sJ ‚t        t        |¬«      t        |¬«      g«      }|j                  |k(  sJ ‚y r]   )r$   rD   r   r   )r1   rD   r9   s      r:   Ú0test_concat_empty_series_dtypes_match_roundtripsz@TestEmptyConcat.test_concat_empty_series_dtypes_match_roundtripsx   s`   € ô —‘˜“ˆäœ eÔ,Ð-Ó.ˆØ�|‰|˜uÒ$Ð$Ð$äœ eÔ,¬f¸5Ô.AÐBÓCˆØ�|‰|˜uÒ$Ð$Ñ$r<   )rC   ra   rb   rZ   rQ   Údtype2c                 ó2  ‡‡— ||k(  rt        j                  d«       d„ Šd„ Šˆˆfd„}t        j                  |«      }t        j                  |«      } |||«      }t	        t        |¬«      t        |¬«      g«      j                  }|j                  |k(  sJ ‚y )Nz%same dtype is not applicable for testc                 óð   — | j                   |j                   h}t        |h d£z
  «      s| j                   dk(  s|j                   dk(  ryt        |ddhz
  «      s| j                   dk(  s|j                   dk(  ryy )N>   r   ÚiÚuri   rj   r   ©ÚkindrV   ©rD   rf   Útypss      r:   Úint_result_typezSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.int_result_typeŽ   si   € Ø—J‘J §¡Ð,ˆDÜ�tšoÑ-Ô.Ø—
‘
˜cÒ! V§[¡[°CÒ%7àÜ˜  c 
Ñ*Ô+Ø—
‘
˜cÒ! V§[¡[°CÒ%7àØr<   c                 ó’   — | j                   |j                   h}t        |h d£z
  «      s| j                   dk(  s|j                   dk(  ryy )N>   Úfri   rj   rq   rk   rm   s      r:   Úfloat_result_typezUTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.float_result_typeš   s>   € Ø—J‘J §¡Ð,ˆDÜ�tšoÑ-Ô.Ø—
‘
˜cÒ! V§[¡[°CÒ%7àØr<   c                 ó:   •—  ‰| |«      }|�|S  ‰| |«      }|�|S y)NÚO© )rD   rf   r9   rr   ro   s      €€r:   Úget_result_typezSTestEmptyConcat.test_concat_empty_series_dtypes_roundtrips.<locals>.get_result_type¢   s4   ø€ Ù& u¨fÓ5ˆFØÐ!Ø�Ù$ U¨FÓ3ˆFØÐ!Ø�Ør<   rE   )ÚpytestÚskipr$   rD   r   r   rl   )r1   rD   rf   rv   r8   r9   rr   ro   s         @@r:   Ú*test_concat_empty_series_dtypes_roundtripsz:TestEmptyConcat.test_concat_empty_series_dtypes_roundtrips„   s‚   ù€ ð �FŠ?Ü�K‰KÐ?Ô@ò
	ò	õ	ô —‘˜“ˆÜ—‘˜&Ó!ˆÙ" 5¨&Ó1ˆÜœ eÔ,¬f¸6Ô.BÐCÓD×JÑJˆØ�{‰{˜hÒ&Ð&Ñ&r<   c                 óÎ   — t        t        d¬«      t        t        j                  ¬«      t        t        j                  ¬«      g«      j
                  t        j                  k(  sJ ‚y )NrQ   rE   )r   r   r$   Úbool_Úint64rD   Úobject_©r1   s    r:   Ú&test_concat_empty_series_dtypes_triplez6TestEmptyConcat.test_concat_empty_series_dtypes_triple±   sF   € äÜ˜hÔ'¬´b·h±hÔ)?ÄÌbÏhÉhÔAWÐXóç‰eÜ�z‰zòð	
ñr<   c                 óŒ   — t        t        t        j                  g «      d¬«      t        d¬«      g«      j                  dk(  sJ ‚y )Nr[   rE   rC   )r   r   r$   ÚarrayrD   r~   s    r:   Ú2test_concat_empty_series_dtype_category_with_arrayzBTestEmptyConcat.test_concat_empty_series_dtype_category_with_array¹   s?   € ô ÜœŸ™ ›¨JÔ7¼ÀiÔ9PÐQóç‰eØòð	
ñr<   c                 ó  — t        t        d¬«      j                  d«      t        d¬«      j                  d«      g«      }|j                  dk(  sJ ‚t        t        d¬«      j                  d«      t        d¬«      g«      }t	        j
                  t        j                  «      }|j                  |k(  sJ ‚t        t        d¬«      j                  d«      t        d¬«      g«      }t	        j
                  d«      }|j                  |k(  sJ ‚y )NrC   rE   ÚSparsezSparse[float64]r,   )r   r   r+   rD   rT   ÚSparseDtyper$   rC   )r1   r9   r8   s      r:   Ú&test_concat_empty_series_dtypes_sparsez6TestEmptyConcat.test_concat_empty_series_dtypes_sparseÂ   sâ   € Üä˜YÔ'×.Ñ.¨xÓ8Ü˜YÔ'×.Ñ.¨xÓ8ðó
ˆð �|‰|Ð0Ò0Ð0Ð0äÜ˜)Ô$×+Ñ+¨HÓ5´vÀIÔ7NÐOó
ˆô —>‘>¤"§*¡*Ó-ˆØ�|‰|˜xÒ'Ð'Ð'äÜ˜)Ô$×+Ñ+¨HÓ5´vÀHÔ7MÐNó
ˆô —>‘> (Ó+ˆØ�|‰|˜xÒ'Ð'Ñ'r<   c                 óæ   — t        g d¢t        j                  g d¢dœ«      }t        |j                  ¬«      }t	        ||gd¬«      }|j                  t        «      }t        j                  ||«       y )N)r   r"   r"   r>   )ÚRowÚEmptyColÚ	NumberColr   r   r#   )	r   r$   rF   r   r   r+   r,   r.   r/   )r1   Údf_1Údf_2r9   r8   s        r:   Ú!test_concat_empty_df_object_dtypez1TestEmptyConcat.test_concat_empty_df_object_dtype×   sS   € ä¢¼¿¹ÊYÑWÓXˆÜ §¡Ô.ˆÜ˜˜t˜¨1Ô-ˆØ—;‘;œvÓ&ˆÜ
×Ñ˜f hÕ/r<   c                 ó  — t        t        d«      ¬«      }|d   j                  t        j                  «      |d<   |d   j                  t        j
                  «      |d<   |d   j                  t        j                  «      |d<   t        ||g«      }|d   j                  t        j                  k(  sJ ‚|d   j                  t        j
                  k(  sJ ‚|d   j                  t        j                  k(  sJ ‚t        ||j                  t        j                  «      g«      }|d   j                  t        j                  k(  sJ ‚|d   j                  t        j                  k(  sJ ‚|d   j                  t        j                  k(  sJ ‚y )NÚabcr   r   r   r   )
r   r(   r+   r$   r{   Úint32rC   r   rD   r}   )r1   r3   r9   s      r:   Ú"test_concat_empty_dataframe_dtypesz2TestEmptyConcat.test_concat_empty_dataframe_dtypesß   s0  € Üœt E›{Ô+ˆØ�S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó*ˆˆ3‰Ø�S‘'—.‘.¤§¡Ó,ˆˆ3‰ä˜˜R˜Ó!ˆØ�c‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�c‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�c‰{× Ñ ¤B§J¡JÒ.Ð.Ð.ä˜˜RŸY™Y¤r§z¡zÓ2Ð3Ó4ˆØ�c‰{× Ñ ¤B§J¡JÒ.Ð.Ð.Ø�c‰{× Ñ ¤B§J¡JÒ.Ð.Ð.Ø�c‰{× Ñ ¤B§J¡JÒ.Ð.Ñ.r<   c                 ó
  — t        «       }t        dddgiddgd¬«      }t        dg it        d«      d¬«      }t        ||gdd¬«      }t        j                  ||«       t        ||gdd	¬«      }t        j                  ||«       y )
Nr   r"   r   r   r|   )r!   rD   Úinner)r   ÚjoinÚouter)r   r   r   r.   r/   )r1   Údf_emptyÚdf_aÚdf_expectedr9   s        r:   Útest_concat_inner_join_emptyz,TestEmptyConcat.test_concat_inner_join_emptyï   s   € ä“;ˆÜ˜#  1˜v˜¨q°!¨f¸GÔDˆÜ  b 	´¸A³ÀgÔNˆä˜˜xÐ(¨q°wÔ?ˆÜ
×Ñ˜f kÔ2ä˜˜xÐ(¨q°wÔ?ˆÜ
×Ñ˜f dÕ+r<   c                 óÊ   — t        dd gdd ggddg¬«      }t        dd gdd ggddg¬«      }t        ||g«      }|j                  }t        j                  |j                  |«       y )Nr"   r   r   r   )Údatar   r?   r   )r   r   Údtypesr.   rG   )r1   Údf1Údf2r9   r8   s        r:   Útest_empty_dtype_coercez'TestEmptyConcat.test_empty_dtype_coerceû   si   € ô ˜q $˜i¨!¨T¨Ð3¸cÀ3¸ZÔHˆÜ˜q $˜i¨!¨T¨Ð3¸cÀ3¸ZÔHˆÜ˜˜c˜
Ó#ˆØ—:‘:ˆÜ
×Ñ˜vŸ}™}¨hÕ7r<   c                 ó8  — t        ddg¬«      }t        ddg¬«      }t        |||g«      }t        g d¢¬«      }t        j                  ||«       t        ddg¬«      }t        dg¬«      }t        ||g«      }t        ddg¬«      }t        j                  ||«       y )Nr   r   r   r   ©r   r   r   )r   r   r.   r/   )r1   r�   rž   r9   r8   Údf3Údf4s          r:   Útest_concat_empty_dataframez+TestEmptyConcat.test_concat_empty_dataframe  sŽ   € ä  c 
Ô+ˆÜ  c 
Ô+ˆÜ˜˜c 3˜Ó(ˆÜ¢_Ô5ˆÜ
×Ñ˜f hÔ/ä  c 
Ô+ˆÜ  Ô&ˆÜ˜˜c˜
Ó#ˆÜ c¨3 ZÔ0ˆÜ
×Ñ˜f hÕ/r<   c                 óú   — t        g d¢g d¢dœ«      }t        dg d¢i«      }t        |d d |d d g«      }|d   j                  t        j                  k(  sJ ‚|s"|d   j                  t        j
                  k(  sJ ‚y y )Nr>   r¡   )r   r   r   r   r   )r   r   rD   r$   r|   r}   )r1   r2   r�   rž   r9   s        r:   Ú,test_concat_empty_dataframe_different_dtypesz<TestEmptyConcat.test_concat_empty_dataframe_different_dtypes  sz   € äšiªoÑ>Ó?ˆÜ˜šiÐ(Ó)ˆä˜˜R˜a˜ # b q 'Ð*Ó+ˆØ�c‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ù6Hˆv�c‰{× Ñ ¤B§J¡JÒ.ÐSÐSÈeÐ.r<   c                 ó>  — t        dt        j                  g t        j                  «       ¬«      i«      }t        dt        j                  g d¢t        j                  «       ¬«      i«      }|j	                  «       }t        ||g«      }t        j                  ||«       y)z<48510 `concat` to an empty EA should maintain type EA dtype.r   rE   r>   N)r   rT   r�   Ú
Int64Dtyper)   r   r.   r/   )r1   r–   Údf_newr8   r9   s        r:   Útest_concat_to_empty_eaz'TestEmptyConcat.test_concat_to_empty_ea  sl   € ä˜c¤2§8¡8¨B´b·m±m³oÔ#FÐGÓHˆÜ˜C¤§¡ª)¼2¿=¹=»?Ô!KÐLÓMˆØ—;‘;“=ˆÜ˜ 6Ð*Ó+ˆÜ
×Ñ˜f hÕ/r<   )Ú__name__Ú
__module__Ú__qualname__r;   rL   rw   ÚmarkÚparametrizerY   r$   r{   r�   r}   Úfloat32r|   r`   re   ry   r   r‚   r†   r�   r‘   r™   rŸ   r¤   r¦   rª   ru   r<   r:   r	   r	      s›  „ ò"*òH(ð: ‡[�[×Ñ˜T D¨% =Ó1Ø‡[�[×Ñ˜X¨ªI Ó7ñ0ó 8ó 2ð0ð  ‡[�[×ÑØð �X‰X�r—x‘x §¡Ð,Ø�X‰X�r—z‘z 2§:¡:Ð.à�r—x‘x §¡Ð,Ø�r—x‘x §¡Ð,Ø�r—x‘x §¡Ð,Ø�r—x‘x §¡Ð,à0Ø,ð	
óñ (ó!ð (ð
 ‡[�[×ÑØÒIóñ%óð%ð ‡[�[×Ñ˜WÒ&VÓWØ‡[�[×ÑØÚ8óñ&'ó	ó Xð
&'òP
ò
ò(ò*0ò/ò 
,ò8ò0òTó0r<   r	   )Únumpyr$   rw   ÚpandasrT   r   r   r   r   r   Úpandas._testingÚ_testingr.   r	   ru   r<   r:   ú<module>rµ      s)   ðÛ Û ã ÷õ õ ÷V0ò V0r<   