o
    5c
                     @   s   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
dZdd Zdd	 Zd
d Zej
ddddddiddigdd Zdd ZdS )zy
Tests that work on both the Python and C engines but do not have a
specific classification into the other test modules.
    )StringION)	DataFrameconcatpyarrow_skipc                 C   s   d}| }ddi}|j t|fi |}|j t|fddi|}|d}t||d d  |d}W d    n1 s?w   Y  t||dd   d S )Nziindex,A,B,C,D
foo,2,3,4,5
bar,7,8,9,10
baz,12,13,14,15
qux,12,13,14,15
foo2,12,13,14,15
bar2,12,13,14,15
	index_colr   iteratorT      )read_csvr   readtmassert_frame_equal)all_parsersdataparserkwargsexpectedreaderfirst_chunk
last_chunk r   a/var/www/html/gps/gps/lib/python3.10/site-packages/pandas/tests/io/parser/common/test_iterator.pytest_iterator   s   
r   c                 C   s~   | }d}|j t|dd}t|}W d    n1 sw   Y  tg dg dg dgg dg dd	}t|d
 | d S )N$A,B,C
foo,1,2,3
bar,4,5,6
baz,7,8,9
T)r         r      r	            	   foobarbazABCindexcolumnsr   )r
   r   listr   r   r   r   r   r   r   resultr   r   r   r   test_iterator2)   s   
r2   c                 C   s   | }d}|j t|dd}t|}W d    n1 sw   Y  t|dks)J tg dg dg dgg dg d	d
}tt|| d S )Nr   r   )	chunksizer   r   r   r    r$   r(   r,   )r
   r   r/   lenr   r   r   r   r0   r   r   r   test_iterator_stop_on_chunksize<   s   
r5   r   Tr   )r   r3   r   r3   c              	   C   s   d}| }d}t jt|d. |jt|fddi|}W d    n1 s&w   Y  W d    d S W d    d S 1 s>w   Y  d S )Nz('skipfooter' not supported for iterationza
1
2)match
skipfooterr   )pytestraises
ValueErrorr
   r   )r   r   msgr   r   _r   r   r   test_iterator_skipfooter_errorsQ   s   "r=   c              	   C   s   | }dd i}t  a}t|d}|d W d    n1 s w   Y  t|*}|D ]}d|v r4 nq,|j|fi |}tdg di}t || W d    n1 sVw   Y  W d    d S W d    d S 1 snw   Y  d S )NheaderwzAAA
BBB
CCC
DDD
EEE
FFF
GGGCCCr   )DDDEEEFFFGGG)r   ensure_cleanopenwriter
   r   r   )r   r   r   pathfliner1   r   r   r   r   test_iteration_open_handle^   s$   

"rK   )__doc__ior   r8   pandasr   r   pandas._testing_testingr   markusefixtures
pytestmarkr   r2   r5   parametrizer=   rK   r   r   r   r   <module>   s    

