Skip to content

Commit 7f5065b

Browse files
committed
TST: fix incorrect url in compressed url network tests in parser
1 parent 4b97db4 commit 7f5065b

File tree

1 file changed

+21
-31
lines changed

1 file changed

+21
-31
lines changed

pandas/tests/io/parser/test_network.py

+21-31
Original file line numberDiff line numberDiff line change
@@ -15,42 +15,32 @@
1515
from pandas.io.parsers import read_csv, read_table
1616

1717

18-
class TestCompressedUrl(object):
18+
@pytest.fixture
19+
def salaries_table(scope='module'):
20+
path = os.path.join(tm.get_data_path(), 'salaries.csv')
21+
return read_table(path)
1922

20-
compression_to_extension = {
21-
'gzip': '.gz',
22-
'bz2': '.bz2',
23-
'zip': '.zip',
24-
'xz': '.xz',
25-
}
2623

27-
def setup(self):
28-
path = os.path.join(tm.get_data_path(), 'salaries.csv')
29-
self.local_table = read_table(path)
30-
self.base_url = ('https://github.com/pandas-dev/pandas/raw/master/'
31-
'pandas/io/tests/parser/data/salaries.csv')
24+
@tm.network
25+
@pytest.mark.parametrize(
26+
"compression,extension", [('gzip', '.gz'), ('bz2', '.bz2'),
27+
('zip', '.zip'), ('xz', '.xz')])
28+
def test_compressed_urls(salaries_table, compression, extension):
29+
# test reading compressed urls with various engines and
30+
# extension inference
31+
base_url = ('https://github.com/pandas-dev/pandas/raw/master/'
32+
'pandas/tests/io/parser/data/salaries.csv')
33+
34+
url = base_url + extension
35+
36+
# args is a (compression, engine) tuple
37+
for (c, engine) in product([compression, 'infer'], ['python', 'c']):
3238

33-
@tm.network
34-
def test_compressed_urls(self):
35-
# Test reading compressed tables from URL.
36-
msg = ('Test reading {}-compressed tables from URL: '
37-
'compression="{}", engine="{}"')
38-
39-
for compression, extension in self.compression_to_extension.items():
40-
url = self.base_url + extension
41-
# args is a (compression, engine) tuple
42-
for args in product([compression, 'infer'], ['python', 'c']):
43-
# test_fxn is a workaround for more descriptive nose reporting.
44-
# See http://stackoverflow.com/a/37393684/4651668.
45-
test_fxn = functools.partial(self.check_table)
46-
test_fxn.description = msg.format(compression, *args)
47-
yield (test_fxn, url) + args
48-
49-
def check_table(self, url, compression, engine):
5039
if url.endswith('.xz'):
5140
tm._skip_if_no_lzma()
52-
url_table = read_table(url, compression=compression, engine=engine)
53-
tm.assert_frame_equal(url_table, self.local_table)
41+
42+
url_table = read_table(url, compression=c, engine=engine)
43+
tm.assert_frame_equal(url_table, salaries_table)
5444

5545

5646
class TestS3(tm.TestCase):

0 commit comments

Comments
 (0)