56 lines
1.3 KiB
Python
56 lines
1.3 KiB
Python
|
"""
|
||
|
Tests that work on both the Python and C engines but do not have a
|
||
|
specific classification into the other test modules.
|
||
|
"""
|
||
|
from io import StringIO
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
pytestmark = pytest.mark.usefixtures("pyarrow_skip")
|
||
|
|
||
|
|
||
|
def test_verbose_read(all_parsers, capsys):
|
||
|
parser = all_parsers
|
||
|
data = """a,b,c,d
|
||
|
one,1,2,3
|
||
|
one,1,2,3
|
||
|
,1,2,3
|
||
|
one,1,2,3
|
||
|
,1,2,3
|
||
|
,1,2,3
|
||
|
one,1,2,3
|
||
|
two,1,2,3"""
|
||
|
|
||
|
# Engines are verbose in different ways.
|
||
|
parser.read_csv(StringIO(data), verbose=True)
|
||
|
captured = capsys.readouterr()
|
||
|
|
||
|
if parser.engine == "c":
|
||
|
assert "Tokenization took:" in captured.out
|
||
|
assert "Parser memory cleanup took:" in captured.out
|
||
|
else: # Python engine
|
||
|
assert captured.out == "Filled 3 NA values in column a\n"
|
||
|
|
||
|
|
||
|
def test_verbose_read2(all_parsers, capsys):
|
||
|
parser = all_parsers
|
||
|
data = """a,b,c,d
|
||
|
one,1,2,3
|
||
|
two,1,2,3
|
||
|
three,1,2,3
|
||
|
four,1,2,3
|
||
|
five,1,2,3
|
||
|
,1,2,3
|
||
|
seven,1,2,3
|
||
|
eight,1,2,3"""
|
||
|
|
||
|
parser.read_csv(StringIO(data), verbose=True, index_col=0)
|
||
|
captured = capsys.readouterr()
|
||
|
|
||
|
# Engines are verbose in different ways.
|
||
|
if parser.engine == "c":
|
||
|
assert "Tokenization took:" in captured.out
|
||
|
assert "Parser memory cleanup took:" in captured.out
|
||
|
else: # Python engine
|
||
|
assert captured.out == "Filled 1 NA values in column a\n"
|