1515
1616
1717class 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