Skip to content

Commit a441448

Browse files
committed
Broken: use method generators to DRY tests
Broken since nosetests states: "Please note that method generators are not supported in unittest.TestCase subclasses" http://nose.readthedocs.io/en/latest/writing_tests.html
1 parent 25114c3 commit a441448

File tree

1 file changed

+16
-45
lines changed

1 file changed

+16
-45
lines changed

Diff for: pandas/io/tests/parser/test_network.py

+16-45
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,14 @@
1515

1616

1717
class TestCompressedUrl(tm.TestCase):
18-
18+
19+
compression_to_extension = {
20+
'gzip': '.gz',
21+
'bz2': '.bz2',
22+
'zip': '.zip',
23+
'xz': '.xz',
24+
}
25+
1926
def setUp(self):
2027
dirpath = tm.get_data_path()
2128
path = os.path.join(dirpath, 'salary.table.csv')
@@ -27,51 +34,15 @@ def setUp(self):
2734
'pandas/io/tests/parser/data/salaries.csv')
2835

2936
@tm.network
30-
def test_url_gz(self):
31-
url = self.base_url + '.gz'
32-
url_table = read_table(url, compression="gzip", engine="python")
33-
tm.assert_frame_equal(url_table, self.local_table)
34-
35-
@tm.network
36-
def test_url_bz2(self):
37-
url = self.base_url + '.bz2'
38-
url_table = read_table(url, compression="bz2", engine="python")
39-
tm.assert_frame_equal(url_table, self.local_table)
40-
41-
@tm.network
42-
def test_url_xz(self):
43-
url = self.base_url + '.xz'
44-
url_table = read_table(url, compression="zip", engine="python")
45-
tm.assert_frame_equal(url_table, self.local_table)
46-
47-
@tm.network
48-
def test_url_zip(self):
49-
url = self.base_url + '.zip'
50-
url_table = read_table(url, compression="zip", engine="python")
51-
tm.assert_frame_equal(url_table, self.local_table)
37+
def test_compressed_urls(self):
38+
"""Test reading compressed tables from URL."""
39+
for compression, extension in self.compression_to_extension.items():
40+
url = self.base_url + extension
41+
yield self.check_table, url, compression
42+
yield self.check_table, url, 'infer'
5243

53-
@tm.network
54-
def test_url_gz_infer(self):
55-
url = self.base_url + '.gz'
56-
url_table = read_table(url, compression="infer", engine="python")
57-
tm.assert_frame_equal(url_table, self.local_table)
58-
59-
@tm.network
60-
def test_url_bz2_infer(self):
61-
url = self.base_url + '.bz2'
62-
url_table = read_table(url, compression="infer", engine="python")
63-
tm.assert_frame_equal(url_table, self.local_table)
64-
65-
@tm.network
66-
def test_url_xz_infer(self):
67-
url = self.base_url + '.xz'
68-
url_table = read_table(url, compression="infer", engine="python")
69-
tm.assert_frame_equal(url_table, self.local_table)
70-
71-
@tm.network
72-
def test_url_zip_infer(self):
73-
url = self.base_url + '.zip'
74-
url_table = read_table(url, compression="infer", engine="python")
44+
def check_table(url, compression, engine='python'):
45+
url_table = read_table(url, compression=compression, engine=engine)
7546
tm.assert_frame_equal(url_table, self.local_table)
7647

7748

0 commit comments

Comments
 (0)