Skip to content

Commit ae96187

Browse files
reidy-pjreback
authored andcommitted
TST: Clean up json/test_compression.py (pandas-dev#19331)
1 parent a9d8e04 commit ae96187

File tree

1 file changed

+3
-33
lines changed

1 file changed

+3
-33
lines changed

pandas/tests/io/json/test_compression.py

+3-33
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,10 @@
11
import pytest
22

33
import pandas as pd
4-
from pandas import compat
54
import pandas.util.testing as tm
6-
import pandas.util._test_decorators as td
75
from pandas.util.testing import assert_frame_equal, assert_raises_regex
86

97

10-
COMPRESSION_TYPES = [None, 'bz2', 'gzip',
11-
pytest.param('xz', marks=td.skip_if_no_lzma)]
12-
13-
14-
def decompress_file(path, compression):
15-
if compression is None:
16-
f = open(path, 'rb')
17-
elif compression == 'gzip':
18-
import gzip
19-
f = gzip.GzipFile(path, 'rb')
20-
elif compression == 'bz2':
21-
import bz2
22-
f = bz2.BZ2File(path, 'rb')
23-
elif compression == 'xz':
24-
lzma = compat.import_lzma()
25-
f = lzma.open(path, 'rb')
26-
else:
27-
msg = 'Unrecognized compression type: {}'.format(compression)
28-
raise ValueError(msg)
29-
30-
result = f.read().decode('utf8')
31-
f.close()
32-
return result
33-
34-
35-
@pytest.mark.parametrize('compression', COMPRESSION_TYPES)
368
def test_compression_roundtrip(compression):
379
df = pd.DataFrame([[0.123456, 0.234567, 0.567567],
3810
[12.32112, 123123.2, 321321.2]],
@@ -43,8 +15,9 @@ def test_compression_roundtrip(compression):
4315
assert_frame_equal(df, pd.read_json(path, compression=compression))
4416

4517
# explicitly ensure file was compressed.
46-
uncompressed_content = decompress_file(path, compression)
47-
assert_frame_equal(df, pd.read_json(uncompressed_content))
18+
with tm.decompress_file(path, compression) as fh:
19+
result = fh.read().decode('utf8')
20+
assert_frame_equal(df, pd.read_json(result))
4821

4922

5023
def test_compress_zip_value_error():
@@ -67,7 +40,6 @@ def test_read_zipped_json():
6740
assert_frame_equal(uncompressed_df, compressed_df)
6841

6942

70-
@pytest.mark.parametrize('compression', COMPRESSION_TYPES)
7143
def test_with_s3_url(compression):
7244
boto3 = pytest.importorskip('boto3')
7345
pytest.importorskip('s3fs')
@@ -88,7 +60,6 @@ def test_with_s3_url(compression):
8860
assert_frame_equal(df, roundtripped_df)
8961

9062

91-
@pytest.mark.parametrize('compression', COMPRESSION_TYPES)
9263
def test_lines_with_compression(compression):
9364
with tm.ensure_clean() as path:
9465
df = pd.read_json('{"a": [1, 2, 3], "b": [4, 5, 6]}')
@@ -98,7 +69,6 @@ def test_lines_with_compression(compression):
9869
assert_frame_equal(df, roundtripped_df)
9970

10071

101-
@pytest.mark.parametrize('compression', COMPRESSION_TYPES)
10272
def test_chunksize_with_compression(compression):
10373
with tm.ensure_clean() as path:
10474
df = pd.read_json('{"a": ["foo", "bar", "baz"], "b": [4, 5, 6]}')

0 commit comments

Comments
 (0)