Ë
    AúYjC  ã                   óÈ  — d Z ddlmZ ddlZddlmZmZ ddlmZ	 ej                  j                  d«      Zej                  j                  d«      Zed„ «       Zed„ «       Zd	„ Zeej                  j%                  d
d eg d¢gg d¢¬«      fd eg d¢gg d¢¬«      fd eg d¢gg d¢¬«      fg«      d„ «       «       Zej                  j%                  ddg d¢ eg d¢g d¢gg d¢¬«      fdg d¢ eg d¢g d¢gg d ¢¬«      fd!g d"¢ eg d#¢g d$¢gg d%¢¬«      fg«      d&„ «       Zed'„ «       Zed(„ «       Zed)„ «       Zej                  j%                  d*g d+¢d,fg d+¢d-fg«      d.„ «       Zy)/zÖ
Tests that duplicate columns are handled appropriately when parsed by the
CSV engine. In general, the expected result is that they are either thoroughly
de-duplicated (if mangling requested) or ignored otherwise.
é    )ÚStringION)Ú	DataFrameÚIndexÚpyarrow_xfailz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                 ó”   — | }d}|j                  t        |«      d¬«      }t        g d¢gg d¢¬«      }t        j                  ||«       y )Nza,a,b,b,b
1,2,3,4,5ú,)Úsep)é   é   é   é   é   )Úaúa.1Úbzb.1zb.2©Úcolumns©Úread_csvr   r   ÚtmÚassert_frame_equal©Úall_parsersÚparserÚdataÚresultÚexpecteds        ús/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/pandas/tests/io/parser/test_mangle_dupes.pyÚ
test_basicr      sB   € à€Fà!€DØ�_‰_œX d›^°ˆ_Ó5€Fäš/Ð*Ò4SÔT€HÜ×Ñ˜& (Õ+ó    c                 ó–   — | }d}t        g d¢g d¢gg d¢¬«      }|j                  t        |«      «      }t        j                  ||«       y )Nza,b,a
0,1,2
3,4,5©r   r
   r   )r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   s        r   Útest_basic_namesr#   $   sB   € ð €Fà €DÜš)¢YÐ/Ò9JÔK€Hà�_‰_œX d›^Ó,€FÜ×Ñ˜& (Õ+r    c                 ó¨   — | }d}t        j                  t        d¬«      5  |j                  t	        |«      g d¢¬«       d d d «       y # 1 sw Y   y xY w)Nz0,1,2
3,4,5úDuplicate names©Úmatch)r   r   r   ©Únames©ÚpytestÚraisesÚ
ValueErrorr   r   )r   r   r   s      r   Útest_basic_names_raiser.   0   sD   € à€Fà€DÜ	�‰”zÐ):Ô	;ñ ?Ø�‰œ ›ªoˆÔ>÷?÷ ?ñ ?ús    AÁAzdata,expectedza,a,a.1
1,2,3©r
   r   r   )r   úa.2r   r   z+a,a,a.1,a.1.1,a.1.1.1,a.1.1.1.1
1,2,3,4,5,6)r
   r   r   r   r   é   )r   r0   r   úa.1.1úa.1.1.1ú	a.1.1.1.1z!a,a,a.3,a.1,a.2,a,a
1,2,3,4,5,6,7©r
   r   r   r   r   r1   é   )r   úa.4úa.3r   r0   za.5za.6c                 óh   — | }|j                  t        |«      «      }t        j                  ||«       y )N)r   r   r   r   )r   r   r   r   r   s        r   Útest_thorough_mangle_columnsr:   9   s+   € ð. €Fà�_‰_œX d›^Ó,€FÜ×Ñ˜& (Õ+r    zdata,names,expectedza,b,b
1,2,3)r   r   r2   )r   r   r   )Ú1Ú2Ú3)r   r2   r3   za,b,c,d,e,f
1,2,3,4,5,6)r   r   r   r2   r3   r4   )r   r   ÚcÚdÚeÚf)r;   r<   r=   Ú4Ú5Ú6)r   r   r2   r3   r4   za.1.1.1.1.1za,b,c,d,e,f,g
1,2,3,4,5,6,7)r   r   r8   r   r0   r   r   )r   r   r>   r?   r@   rA   Úg)r;   r<   r=   rB   rC   rD   Ú7)r   r   r8   r2   r0   za.2.1za.3.1c                 ó    — | }t        j                  t        d¬«      5  |j                  t	        |«      |¬«       d d d «       y # 1 sw Y   y xY w)Nr%   r&   r(   r*   )r   r   r)   r   r   s        r   Útest_thorough_mangle_namesrH   V   sB   € ðB €Fä	�‰”zÐ):Ô	;ñ 5Ø�‰œ ›¨eˆÔ4÷5÷ 5ñ 5ús   žAÁAc                 ó„  — d}| }g d¢}t        ||i«      }t        d«      D ]�  }t        t        g d¬«      ¬«      }t        |dz   «      D ]0  }dd	d|z  › �t        |d«      z  z   }|j	                  d
|g d¢¬«       Œ2 |||<   |j                  t        |j                  «       «      «      }t        j                  ||«       ŒŸ y )NÚ0r/   r   Ústr)Údtyper   r
   ú
Unnamed: 0ú.r   r"   )ÚlocÚcolumnÚvalue)
r   Úranger   ÚminÚinsertr   r   Úto_csvr   r   )	r   Úorig_keyr   Ú
orig_valueÚdfÚir   ÚjÚcol_names	            r   Ú!test_mangled_unnamed_placeholdersr\   }   sÇ   € ð €HØ€Fâ€JÜ	�H˜jÐ)Ó	*€Bô �1‹Xò 
,ˆÜ¤U¨2°UÔ%;Ô<ˆä�q˜1‘u“ò 	EˆAØ#¨¨!¨a©%¨ k´C¸¸1³IÑ&=Ñ=ˆHØ�O‰O ¨(º)ˆOÕDð	Eð (ˆ�ÑØ�_‰_œX b§i¡i£kÓ2Ó3ˆä
×Ñ˜b (Õ+ñ
,r    c                 ó�   — | }d}|j                  t        |«      «      }t        g d¢gg d¢¬«      }t        j                  ||«       y )Nz%a,a,a.1,a,a.3,a.1,a.1.1
1,2,3,4,5,6,7r5   )r   r0   r   r7   r8   za.1.2r2   r   r   r   s        r   Ú$test_mangle_dupe_cols_already_existsr^   ”   sE   € ð €Fà3€DØ�_‰_œX d›^Ó,€FÜÚ	ÐÚCô€Hô ×Ñ˜& (Õ+r    c                 ó�   — | }d}|j                  t        |«      «      }t        g d¢gg d¢¬«      }t        j                  ||«       y )Nz,Unnamed: 0,,Unnamed: 2
1,2,3,4)r
   r   r   r   )zUnnamed: 0.1rM   zUnnamed: 2.1z
Unnamed: 2r   r   r   s        r   Ú0test_mangle_dupe_cols_already_exists_unnamed_colr`   ¢   sD   € ð €Fà-€DØ�_‰_œX d›^Ó,€FÜÚ	ˆÚLô€Hô ×Ñ˜& (Õ+r    zusecol, engine)r   r
   r
   Úpythonr>   c                 ó°   — | }d}g d¢}t        j                  t        d¬«      5  |j                  t	        |«      |||¬«       d d d «       y # 1 sw Y   y xY w)Nz1,2,3)ÚArc   ÚBr%   r&   )r)   ÚusecolsÚenginer*   )r   Úusecolrf   r   r   r)   s         r   Útest_mangle_cols_namesrh   °   sS   € ð €FØ€DÚ€EÜ	�‰”zÐ):Ô	;ñ TØ�‰œ ›¨e¸VÈFˆÔS÷T÷ Tñ Tús   ¤AÁA)Ú__doc__Úior   r+   Úpandasr   r   Úpandas._testingÚ_testingr   ÚmarkÚusefixturesÚxfail_pyarrowÚfilterwarningsÚ
pytestmarkr   r#   r.   Úparametrizer:   rH   r\   r^   r`   rh   © r    r   ú<module>ru      sõ  ðñõ ã ÷õ à—‘×'Ñ'¨Ó8€ð �[‰[×'Ñ'ØCó€
ð
 ñ,ó ð,ð ñ,ó ð,ò?ð Ø‡�×ÑØà	™9¢i [Ò:MÔNÐOà:ÙÚ#Ð$ÚLôð	
ð 1ÙÚ&Ð'ÚGôð	
ðóñ(,ó)ó ð*,ð ‡�×ÑØð Ú#ÙÚ ¢/Ð2Ò<Wôð	
ð 'Ú>ÙÚ/Ò1OÐPÚTôð	
ð +Ú5Ùâ7Ú7ðò Nôð
	
ð!óñ>5ó?ð>5ð ñ,ó ð,ð, ñ
,ó ð
,ð ñ
,ó ð
,ð ‡�×ÑÐ)ªY¸Ð,AÂIÈsÐCSÐ+TÓUñTó VñTr    