§
    á! h2  ã                   ó
  — d Z ddlmZ ddlZddlmZ ddlZddlmZ ddl	m
Z ddlmZ ddlmc mc mZ ej                             d¦  «        Z ej        dd	gd
„ ¬¦  «        d„ ¦   «         Z G d„ d¦  «        Zd„ Zd„ Zd„ ZdS )a  
Tests that features that are currently unsupported in
either the Python or C parser are actually enforced
and are clearly communicated to the user.

Ultimately, the goal is to remove test cases from this
test suite as new feature support is added to the parsers.
é    )ÚStringION)ÚPath)ÚParserError)Úread_csvz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningÚpythonz
python-fwfc                 ó   — | S ©N© )Úvals    úac:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\pandas/tests/io/parser/test_unsupported.pyú<lambda>r      s   € À€ ó    )ÚparamsÚidsc                 ó   — | j         S r	   )Úparam)Úrequests    r   Úpython_enginer      s
   € àŒ=Ðr   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestUnsupportedFeaturesc                 ó¸   — d}dD ]T}t          j        t          d¬¦  «        5  t          t	          |¦  «        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒUd S )Núa b c
1 2 3)Úcr   zunexpected keyword©ÚmatchT)ÚengineÚmangle_dupe_cols)ÚpytestÚraisesÚ	TypeErrorr   r   )ÚselfÚdatar   s      r   Útest_mangle_dupe_cols_falsez3TestUnsupportedFeatures.test_mangle_dupe_cols_false!   s¼   € àˆà%ð 	Oð 	OˆFÝ”�yÐ0DÐEÑEÔEð Oð OÝ� $™œ°ÈÐNÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oøð	Oð 	Os   ¢ AÁA	ÁA	c           	      ó8	  — d}d}d}t          j        t          |¬¦  «        5  t          j        t
          |¬¦  «        5  t          t          |¦  «        dd d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          t          |¦  «        dd¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          t          |¦  «        dd
t          d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          t          |¦  «        dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j
        t
          f¦  «        5  t          t          |¦  «        d d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j
        ¦  «        5  t          t          |¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j
        ¦  «        5  t          t          |¦  «        d
t          d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j
        ¦  «        5  t          t          |¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}d}t          j        t          |¬¦  «        5  t          t          |¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          t          |¦  «        dd¬	¦  «         d d d ¦  «         n# 1 swxY w Y   d}d}t          j        t          |¬¦  «        5  t          t          |¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          t          |¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}d}t          j        t          |¬¦  «        5  t          t          |¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   zdoes not supportú;The 'delim_whitespace' keyword in pd.read_csv is deprecatedr   r   F)r   ÚsepÚdelim_whitespacez\s)r   r&   ú	é€   )r   r&   Ú	quotecharé   )r   Ú
skipfooter)r&   r'   )r&   )r&   r*   )r,   a                        A       B       C       D        E
one two three   four
a   b   10.0032 5    -0.5109 -2.3358 -0.4645  0.05076  0.3640
a   q   20      4     0.4473  1.4152  0.2834  1.00661  0.1744
x   q   30      3    -0.6662 -0.5243 -0.3580  0.89145  2.5838zError tokenizing dataz\s+z)Only length-1 thousands markers supportedzA|B|C
1|2,334|5
10|13|10.
z,,)Ú	thousandsÚ z(Only length-1 line terminators supportedza,b,c~~1,2,3~~4,5,6z~~)Úlineterminator)r   r   Ú
ValueErrorÚtmÚassert_produces_warningÚFutureWarningr   r   ÚchrÚparsersÚParserWarningr   )r!   r"   ÚmsgÚdepr_msgÚtexts        r   Útest_c_enginez%TestUnsupportedFeatures.test_c_engine)   sØ  € àˆØ ˆàPˆõ Œ]�:¨SÐ1Ñ1Ô1ð 	Wð 	WÝÔ+­MÀÐJÑJÔJð Wð WÝ� $™œ°¸ÐPUÐVÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	Wõ Œ]�:¨SÐ1Ñ1Ô1ð 	<ð 	<Ý•X˜d‘^”^¨C°UÐ;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åŒ]�:¨SÐ1Ñ1Ô1ð 	Oð 	OÝ•X˜d‘^”^¨C°TÅSÈÁXÄXÐNÑNÔNÐNð	Oð 	Oð 	Oñ 	Oô 	Oð 	Oð 	Oð 	Oð 	Oð 	Oð 	Oøøøð 	Oð 	Oð 	Oð 	OåŒ]�:¨SÐ1Ñ1Ô1ð 	?ð 	?Ý•X˜d‘^”^¨C¸AÐ>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?õ Ô'­Ô)>ÅÐ(NÑOÔOð 	Gð 	GÝ•X˜d‘^”^¨ÀÐFÑFÔFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	GåÔ'­Ô(=Ñ>Ô>ð 	0ð 	0Ý•X˜d‘^”^¨Ð/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0åÔ'­Ô(=Ñ>Ô>ð 	Cð 	CÝ•X˜d‘^”^¨½¸S¹¼ÐBÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	CåÔ'­Ô(=Ñ>Ô>ð 	3ð 	3Ý•X˜d‘^”^°Ð2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ðAˆð
 &ˆåŒ]�;¨cÐ2Ñ2Ô2ð 	1ð 	1Ý•X˜d‘^”^¨Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1åŒ]�;¨cÐ2Ñ2Ô2ð 	=ð 	=Ý•X˜d‘^”^¨C°VÐ<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð :ˆðˆõ Œ]�:¨SÐ1Ñ1Ô1ð 	5ð 	5Ý•X˜d‘^”^¨tÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5åŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ý•X˜d‘^”^¨rÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 9ˆØ$ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	:ð 	:Ý•X˜d‘^”^°DÐ9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s  ¢B¾!A+ÁBÁ+A/	Á/BÁ2A/	Á3BÂBÂ	BÂ( CÃCÃCÃ:.D4Ä4D8Ä;D8Å FÆF
ÆF
Æ6 G"Ç"G&Ç)G&ÈH6È6H:È=H:É-JÊJÊJËK,Ë,K0Ë3K0ÌMÍMÍMÍ' NÎNÎNÎ=O(Ï(O,Ï/O,ÐP9Ð9P=Ñ P=Ñ#RÒRÒRc                 ó$  — ddl m} d}|D ]„}dt          |¦  «        › dt          |¦  «        › d�}|t          ¦   «         i}t	          j        t          |¬¦  «        5  t          t          |¦  «        fd|i|¤Ž d d d ¦  «         n# 1 swxY w Y   Œ…d S )	Nr   )Ú_python_unsupportedz*1,2,3,,
1,2,3,4,
1,2,3,4,5
1,2,,,
1,2,3,4,úThe z" option is not supported with the z enginer   r   )	Úpandas.io.parsers.readersr<   ÚreprÚobjectr   r   r0   r   r   )r!   r   Úpy_unsupportedr"   Údefaultr7   Úkwargss          r   Útest_python_enginez*TestUnsupportedFeatures.test_python_engine`   s#  € ØSÐSÐSÐSÐSÐSðˆð &ð 	Ið 	IˆGðC•t˜G‘}”}ð Cð CÝ&*¨=Ñ&9Ô&9ðCð Cð Cð ð
 �v™xœxÐ(ˆFÝ”�z°Ð5Ñ5Ô5ð Ið IÝ� $™œÐHÐH°ÐHÀÐHÐHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iøð	Ið 	Is   ÁBÂB	ÂB	c                 óÄ   —  G d„ d¦  «        }d}d}t          j        t          |¬¦  «        5  t           ||¦  «        |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó(   — e Zd Zdd„Zd„ Zd„ Zd„ ZdS )úMTestUnsupportedFeatures.test_python_engine_file_no_iter.<locals>.NoNextBufferÚreturnNc                 ó   — || _         d S r	   ©r"   )r!   Úcsv_datas     r   Ú__init__zVTestUnsupportedFeatures.test_python_engine_file_no_iter.<locals>.NoNextBuffer.__init__v   s   € Ø$�”	�	�	r   c                 ó4   — | j                              ¦   «         S r	   )r"   Ú__next__©r!   s    r   rN   zVTestUnsupportedFeatures.test_python_engine_file_no_iter.<locals>.NoNextBuffer.__next__y   s   € Ø”y×)Ò)Ñ+Ô+Ð+r   c                 ó   — | j         S r	   rJ   rO   s    r   ÚreadzRTestUnsupportedFeatures.test_python_engine_file_no_iter.<locals>.NoNextBuffer.read|   ó
   € Ø”yÐ r   c                 ó   — | j         S r	   rJ   rO   s    r   ÚreadlinezVTestUnsupportedFeatures.test_python_engine_file_no_iter.<locals>.NoNextBuffer.readline   rR   r   )rH   N)Ú__name__Ú
__module__Ú__qualname__rL   rN   rQ   rT   r
   r   r   ÚNoNextBufferrG   u   sU   € € € € € ð%ð %ð %ð %ð,ð ,ð ,ð!ð !ð !ð!ð !ð !ð !ð !r   rX   za
1zD'NoNextBuffer' object is not iterable|argument 1 must be an iteratorr   )r   )r   r   r    r   )r!   r   rX   r"   r7   s        r   Útest_python_engine_file_no_iterz7TestUnsupportedFeatures.test_python_engine_file_no_iters   sÌ   € ð	!ð 	!ð 	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð ˆØTˆåŒ]�9¨CÐ0Ñ0Ô0ð 	?ð 	?Ý�\�\ $Ñ'Ô'°Ð>Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?s   ­AÁAÁAc                 óæ  — ddl m} d}|D ]å}dt          |¦  «        › d�}|t          ¦   «         i}ddh}|dk    rd	||<   n||v rd
||<   n|dk    rd||<   d }d }d|v r	d}t          }d|v r	d}t          }t          j        t          |¬¦  «        5  t          j	        ||¬¦  «        5  t          t          |¦  «        fddi|¤Ž d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œæd S )Nr   )Ú_pyarrow_unsupportedzJ1,2,3,,
        1,2,3,4,
        1,2,3,4,5
        1,2,,,
        1,2,3,4,r=   z2 option is not supported with the 'pyarrow' engineÚwarn_bad_linesÚerror_bad_linesÚdialectÚexcelTÚon_bad_linesÚwarnr'   r%   Úverbosez2The 'verbose' keyword in pd.read_csv is deprecatedr   r   Úpyarrow)r>   r[   r?   r@   r3   r   r   r0   r1   r2   r   r   )	r!   Úpa_unsupportedr"   rB   r7   rC   Údefault_needs_boolra   r8   s	            r   Útest_pyarrow_enginez+TestUnsupportedFeatures.test_pyarrow_engineˆ   s  € ØTÐTÐTÐTÐTÐTðˆð &ð 	Ið 	IˆGð7•t˜G‘}”}ð 7ð 7ð 7ð ð �v™xœxÐ(ˆFØ"2Ð4EÐ!FÐØ˜)Ò#Ð#Ø")��w‘�ØÐ.Ð.Ð.Ø"&��w‘�Ø˜NÒ*Ð*Ø"(��w‘àˆDØˆHØ! VÐ+Ð+ØX�Ý$�Ø˜FÐ"Ð"ØO�Ý$�å”�z°Ð5Ñ5Ô5ð Ið IÝÔ/°¸HÐEÑEÔEð Ið IÝ�X d™^œ^ÐHÐH°IÐHÀÐHÐHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið IðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iøð/	Ið 	Is6   ÂC%Â%CÃC%ÃCÃC%ÃCÃC%Ã%C)	Ã,C)	c                 ó  — t          d¦  «        }d„ }|}|j        dvrOd}t          j        t          |¬¦  «        5  |                     ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S |                     ||¬¦  «         d S )Nza,b
1,2c                 ó   — | S r	   r
   )Úxs    r   r   zVTestUnsupportedFeatures.test_on_bad_lines_callable_python_or_pyarrow.<locals>.<lambda>°   s   €  1€ r   )r   rc   zKon_bad_line can only be a callable function if engine='python' or 'pyarrow'r   )r`   )r   r   r   r   r0   r   )r!   Úall_parsersÚsioÚbad_lines_funcÚparserr7   s         r   Ú,test_on_bad_lines_callable_python_or_pyarrowzDTestUnsupportedFeatures.test_on_bad_lines_callable_python_or_pyarrow¬   sù   € õ �zÑ"Ô"ˆØ$˜ˆØˆØÔÐ%:Ð:Ð:ð;ð õ ”�z°Ð5Ñ5Ô5ð Bð BØ—’ °.�ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bð Bð Bð �OŠO˜C¨nˆOÑ=Ô=Ð=Ð=Ð=s   »A Á A$Á'A$N)	rU   rV   rW   r#   r:   rD   rY   rf   rn   r
   r   r   r   r       sy   € € € € € ðOð Oð Oð5:ð 5:ð 5:ðnIð Ið Ið&?ð ?ð ?ð*"Ið "Ið "IðH>ð >ð >ð >ð >r   r   c                 ó  — | }t           }|j        dk    rt          j        d¬¦  «         t	          j        d¦  «        5 }t          |¦  «                             dd¬¦  «         t	          j        d¦  «        5  t          j	        |d	¬
¦  «        5  | 
                    |g d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrc   z,https://github.com/apache/arrow/issues/38676©Úreasonztest.csvzcol1,col2
a,b
1,2zutf-8)ÚencodingFÚcol3r   )Úcol1Úcol2rs   )Úusecols)r0   r   r   Úskipr1   Úensure_cleanr   Ú
write_textr2   r   r   ÚosÚunlink)rj   rm   ÚerrorÚfnames       r   Ú)test_close_file_handle_on_invalid_usecolsr~   ½   sß  € à€Få€EØ„}˜	Ò!Ð!åŒÐIÐJÑJÔJÐJå	Œ˜Ñ	$Ô	$ð ¨ÝˆU‰Œ×ÒÐ4¸wÐÑGÔGÐGÝÔ'¨Ñ.Ô.ð 	Ið 	IÝ”˜u¨FÐ3Ñ3Ô3ð Ið IØ—’ Ð/GÐ/GÐ/G�ÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Iõ 	Œ	�%ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sY   ¾9C7Á7CÂB4Â(CÂ4B8Â8CÂ;B8Â<CÂ?C7ÃC	ÃC7ÃC	ÃC7Ã7C;Ã>C;c                 ó(  — |}|j         dk    r;|                      t          j                             |j         › d�¬¦  «        ¦  «         t          j        t          d¬¦  «        5  |                     g ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   z engine supports lists.rp   ÚInvalidr   )r   Úapplymarkerr   ÚmarkÚxfailr   r0   r   )r   rj   rm   s      r   Útest_invalid_file_inputsr„   Ï   sÚ   € à€FØ„}˜Ò Ð Ø×ÒÝŒK×Ò¨¬Ð%NÐ%NÐ%NÐÑOÔOñ	
ô 	
ð 	
õ 
Œ•z¨Ð	3Ñ	3Ô	3ð ð Ø�Š˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á$BÂBÂBc                 ó¤   — | }d}t          j        t          |¬¦  «        5  |                     dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r   ÚtestÚnumpy)Údtype_backend)r   r   r0   r   )rj   rm   r7   s      r   Útest_invalid_dtype_backendr‰   Û   s¢   € Ø€Fð	!ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7Ø�Š˜¨gˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s    AÁA	ÁA	)Ú__doc__Úior   rz   Úpathlibr   r   Úpandas.errorsr   Úpandas._testingÚ_testingr1   Úpandas.io.parsersr   r>   r5   Úreadersr‚   ÚfilterwarningsÚ
pytestmarkÚfixturer   r   r~   r„   r‰   r
   r   r   ú<module>r•      sX  ððð ð Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð à €€€à %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +àŒ[×'Ò'ØCñô €
ð
 €„˜ ,Ð/°_°_ÐEÑEÔEðð ñ FÔEððZ>ð Z>ð Z>ð Z>ð Z>ñ Z>ô Z>ð Z>ðzð ð ð$	ð 	ð 	ð7ð 7ð 7ð 7ð 7r   