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
0 commit comments