Ë
    ¤eh  ã                   óÄ  — d Z ddlmZ ddlZddl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Ú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        úf/var/www/skyplay_api_hub/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-   ,   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   r/   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   r0   é   )r   úa.4úa.3r   r/   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_columnsr9   5   s+   € ð. €Fà�_‰_œX d›^Ó,€FÜ×Ñ˜& (Õ+r   zdata,names,expectedza,b,b
1,2,3)r   r   r1   )r   r   r   )Ú1Ú2Ú3)r   r1   r2   za,b,c,d,e,f
1,2,3,4,5,6)r   r   r   r1   r2   r3   )r   r   ÚcÚdÚeÚf)r:   r;   r<   Ú4Ú5Ú6)r   r   r1   r2   r3   za.1.1.1.1.1za,b,c,d,e,f,g
1,2,3,4,5,6,7)r   r   r7   r   r/   r   r   )r   r   r=   r>   r?   r@   Úg)r:   r;   r<   rA   rB   rC   Ú7)r   r   r7   r1   r/   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_namesrG   R   sB   € ðB €Fä	�‰”zÐ):Ô	;ñ 5Ø�‰œ ›¨eˆÔ4÷5÷ 5ñ 5ús   žAÁAc                 ój  — d}| }g d¢}t        ||i«      }t        d«      D ]�  }t        «       }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   r	   ú
Unnamed: 0ú.r   r!   )ÚlocÚcolumnÚvalue)	r   ÚrangeÚminÚinsertr   r   Úto_csvr   r   )	r   Úorig_keyr   Ú
orig_valueÚdfÚir   ÚjÚcol_names	            r   Ú!test_mangled_unnamed_placeholdersrY   y   s½   € ð €HØ€Fâ€JÜ	�H˜jÐ)Ó	*€Bô �1‹Xò 
,ˆÜ“;ˆä�q˜1‘u“ò 	EˆAØ#¨¨!¨A©#¨ i´#°a¸³)Ñ&;Ñ;ˆ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,7r4   )r   r/   r   r6   r7   za.1.2r1   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.1rJ   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)ÚAr`   ÚBr$   r%   )r(   ÚusecolsÚenginer)   )r   Úusecolrc   r   r   r(   s         r   Útest_mangle_cols_namesre   ¬   sS   € ð €FØ€DÚ€EÜ	�‰”zÐ):Ô	;ñ TØ�‰œ ›¨e¸VÈFˆÔS÷T÷ Tñ Tús   ¤AÁA)Ú__doc__Úior   r*   Úpandasr   Úpandas._testingÚ_testingr   ÚmarkÚusefixturesÚxfail_pyarrowÚfilterwarningsÚ
pytestmarkr   r"   r-   Úparametrizer9   rG   rY   r[   r]   re   © r   r   ú<module>rr      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   