10
10
11
11
import pandas_datareader .data as web
12
12
from pandas_datareader .data import YahooDailyReader
13
+ from pandas_datareader ._utils import RemoteDataError
13
14
from pandas_datareader .yahoo .quotes import _yahoo_codes
15
+ from pandas_datareader ._testing import skip_on_exception
14
16
15
17
16
18
class TestYahoo (object ):
@@ -93,12 +95,14 @@ def test_get_data_single_symbol(self):
93
95
# just test that we succeed
94
96
web .get_data_yahoo ('GOOG' )
95
97
98
+ @skip_on_exception (RemoteDataError )
96
99
def test_get_data_adjust_price (self ):
97
100
goog = web .get_data_yahoo ('GOOG' )
98
101
goog_adj = web .get_data_yahoo ('GOOG' , adjust_price = True )
99
102
assert 'Adj Close' not in goog_adj .columns
100
103
assert (goog ['Open' ] * goog_adj ['Adj_Ratio' ]).equals (goog_adj ['Open' ])
101
104
105
+ @skip_on_exception (RemoteDataError )
102
106
def test_get_data_interval (self ):
103
107
# daily interval data
104
108
pan = web .get_data_yahoo ('XOM' , '2013-01-01' ,
@@ -119,11 +123,13 @@ def test_get_data_interval(self):
119
123
with pytest .raises (ValueError ):
120
124
web .get_data_yahoo ('XOM' , interval = 'NOT VALID' )
121
125
126
+ @skip_on_exception (RemoteDataError )
122
127
def test_get_data_multiple_symbols (self ):
123
128
# just test that we succeed
124
129
sl = ['AAPL' , 'AMZN' , 'GOOG' ]
125
130
web .get_data_yahoo (sl , '2012' )
126
131
132
+ @skip_on_exception (RemoteDataError )
127
133
def test_get_data_multiple_symbols_two_dates (self ):
128
134
pan = web .get_data_yahoo (['GE' , 'MSFT' , 'INTC' ], 'JAN-01-12' ,
129
135
'JAN-31-12' )
@@ -141,6 +147,7 @@ def test_get_data_multiple_symbols_two_dates(self):
141
147
result = df [(df .index >= 'Jan-15-12' ) & (df .index <= 'Jan-20-12' )]
142
148
assert expected .shape == result .shape
143
149
150
+ @skip_on_exception (RemoteDataError )
144
151
def test_get_date_ret_index (self ):
145
152
pan = web .get_data_yahoo (['GE' , 'INTC' , 'IBM' ], '1977' , '1987' ,
146
153
ret_index = True )
@@ -154,6 +161,7 @@ def test_get_date_ret_index(self):
154
161
# sanity checking
155
162
assert np .issubdtype (pan .values .dtype , np .floating )
156
163
164
+ @skip_on_exception (RemoteDataError )
157
165
def test_get_data_yahoo_actions (self ):
158
166
start = datetime (1990 , 1 , 1 )
159
167
end = datetime (2000 , 4 , 5 )
@@ -187,6 +195,7 @@ def test_yahoo_reader_class(self):
187
195
r = YahooDailyReader ('GOOG' , session = session )
188
196
assert r .session is session
189
197
198
+ @skip_on_exception (RemoteDataError )
190
199
def test_yahoo_DataReader (self ):
191
200
start = datetime (2010 , 1 , 1 )
192
201
end = datetime (2015 , 5 , 9 )
@@ -210,8 +219,9 @@ def test_yahoo_DataReader(self):
210
219
index = exp_idx )
211
220
exp .index .name = 'Date'
212
221
213
- tm .assert_frame_equal (result , exp )
222
+ tm .assert_frame_equal (result . sort ( axis = 1 ) , exp . sort ( axis = 1 ) )
214
223
224
+ @skip_on_exception (RemoteDataError )
215
225
def test_yahoo_DataReader_multi (self ):
216
226
start = datetime (2010 , 1 , 1 )
217
227
end = datetime (2015 , 5 , 9 )
0 commit comments