Broken: use method generators to DRY tests · pandas-dev/pandas@a441448 (original) (raw)
`@@ -15,7 +15,14 @@
`
15
15
``
16
16
``
17
17
`class TestCompressedUrl(tm.TestCase):
`
18
``
-
``
18
+
``
19
`+
compression_to_extension = {
`
``
20
`+
'gzip': '.gz',
`
``
21
`+
'bz2': '.bz2',
`
``
22
`+
'zip': '.zip',
`
``
23
`+
'xz': '.xz',
`
``
24
`+
}
`
``
25
+
19
26
`def setUp(self):
`
20
27
`dirpath = tm.get_data_path()
`
21
28
`path = os.path.join(dirpath, 'salary.table.csv')
`
`@@ -27,51 +34,15 @@ def setUp(self):
`
27
34
`'pandas/io/tests/parser/data/salaries.csv')
`
28
35
``
29
36
`@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'
`
52
43
``
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)
`
75
46
`tm.assert_frame_equal(url_table, self.local_table)
`
76
47
``
77
48
``