Skip to content

Commit 5422d79

Browse files
Merge pull request #62 from davidastephens/coverage
TST: pragma: no cover where appropriate
2 parents c50611c + 8734d5c commit 5422d79

File tree

2 files changed

+27
-29
lines changed

2 files changed

+27
-29
lines changed

pandas_datareader/tests/test_data.py

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
from pandas.util.testing import assert_frame_equal, assert_series_equal
1313
try:
1414
from pandas.util.testing import assert_produces_warning
15-
except ImportError:
15+
except ImportError: # pragma: no cover
1616
assert_produces_warning = None
1717

1818
import pandas.util.testing as tm
1919
from numpy.testing import assert_array_equal
2020

2121
try:
2222
from urllib.error import HTTPError
23-
except ImportError:
23+
except ImportError: # pragma: no cover
2424
from urllib2 import HTTPError
2525

2626
import pandas_datareader.data as web
@@ -30,7 +30,7 @@
3030
def _skip_if_no_lxml():
3131
try:
3232
import lxml
33-
except ImportError:
33+
except ImportError: # pragma: no cover
3434
raise nose.SkipTest("no lxml")
3535

3636

@@ -50,7 +50,7 @@ class TestGoogle(tm.TestCase):
5050
def setUpClass(cls):
5151
super(TestGoogle, cls).setUpClass()
5252
cls.locales = tm.get_locales(prefix='en_US')
53-
if not cls.locales:
53+
if not cls.locales: # pragma: no cover
5454
raise nose.SkipTest("US English locale not available for testing")
5555

5656
@classmethod
@@ -92,7 +92,7 @@ def test_get_multi1(self):
9292
if (hasattr(pan, 'Close') and hasattr(pan.Close, 'GOOG') and
9393
hasattr(pan.Close, 'AAPL')):
9494
self.assertEqual(ts[0].dayofyear, 3)
95-
else:
95+
else: # pragma: no cover
9696
self.assertRaises(AttributeError, lambda: pan.Close)
9797

9898
def test_get_multi_invalid(self):
@@ -173,14 +173,14 @@ def test_get_quote_stringlist(self):
173173
df = web.get_quote_yahoo(['GOOG', 'AAPL', 'GOOG'])
174174
assert_series_equal(df.ix[0], df.ix[2])
175175

176-
def test_get_components_dow_jones(self):
176+
def test_get_components_dow_jones(self): # pragma: no cover
177177
raise nose.SkipTest('unreliable test, receive partial components back for dow_jones')
178178

179179
df = web.get_components_yahoo('^DJI') #Dow Jones
180180
assert isinstance(df, pd.DataFrame)
181181
self.assertEqual(len(df), 30)
182182

183-
def test_get_components_dax(self):
183+
def test_get_components_dax(self): # pragma: no cover
184184
raise nose.SkipTest('unreliable test, receive partial components back for dax')
185185

186186
df = web.get_components_yahoo('^GDAXI') #DAX
@@ -189,7 +189,7 @@ def test_get_components_dax(self):
189189
self.assertEqual(df[df.name.str.contains('adidas', case=False)].index,
190190
'ADS.DE')
191191

192-
def test_get_components_nasdaq_100(self):
192+
def test_get_components_nasdaq_100(self): # pragma: no cover
193193
# as of 7/12/13 the conditional will test false because the link is invalid
194194
raise nose.SkipTest('unreliable test, receive partial components back for nasdaq_100')
195195

@@ -298,8 +298,7 @@ def setUpClass(cls):
298298
today = datetime.today()
299299
cls.year = today.year
300300
cls.month = today.month + 1
301-
if cls.month > 12:
302-
cls.year = cls.year + 1
301+
if cls.month > 12: # pragma: no cover
303302
cls.month = 1
304303
cls.expiry = datetime(cls.year, cls.month, 1)
305304
cls.dirpath = tm.get_data_path()
@@ -320,57 +319,57 @@ def test_get_options_data(self):
320319

321320
try:
322321
options = self.aapl.get_options_data(expiry=self.expiry)
323-
except RemoteDataError as e:
322+
except RemoteDataError as e: # pragma: no cover
324323
raise nose.SkipTest(e)
325324
self.assertTrue(len(options) > 1)
326325

327326
def test_get_near_stock_price(self):
328327
try:
329328
options = self.aapl.get_near_stock_price(call=True, put=True,
330329
expiry=self.expiry)
331-
except RemoteDataError as e:
330+
except RemoteDataError as e: # pragma: no cover
332331
raise nose.SkipTest(e)
333332
self.assertTrue(len(options) > 1)
334333

335334
def test_get_call_data(self):
336335
try:
337336
calls = self.aapl.get_call_data(expiry=self.expiry)
338-
except RemoteDataError as e:
337+
except RemoteDataError as e: # pragma: no cover
339338
raise nose.SkipTest(e)
340339
self.assertTrue(len(calls) > 1)
341340

342341
def test_get_put_data(self):
343342
try:
344343
puts = self.aapl.get_put_data(expiry=self.expiry)
345-
except RemoteDataError as e:
344+
except RemoteDataError as e: # pragma: no cover
346345
raise nose.SkipTest(e)
347346
self.assertTrue(len(puts) > 1)
348347

349348
def test_get_expiry_dates(self):
350349
try:
351350
dates, _ = self.aapl._get_expiry_dates_and_links()
352-
except RemoteDataError as e:
351+
except RemoteDataError as e: # pragma: no cover
353352
raise nose.SkipTest(e)
354353
self.assertTrue(len(dates) > 1)
355354

356355
def test_get_all_data(self):
357356
try:
358357
data = self.aapl.get_all_data(put=True)
359-
except RemoteDataError as e:
358+
except RemoteDataError as e: # pragma: no cover
360359
raise nose.SkipTest(e)
361360
self.assertTrue(len(data) > 1)
362361

363362
def test_get_data_with_list(self):
364363
try:
365364
data = self.aapl.get_call_data(expiry=self.aapl.expiry_dates)
366-
except RemoteDataError as e:
365+
except RemoteDataError as e: # pragma: no cover
367366
raise nose.SkipTest(e)
368367
self.assertTrue(len(data) > 1)
369368

370369
def test_get_all_data_calls_only(self):
371370
try:
372371
data = self.aapl.get_all_data(call=True, put=False)
373-
except RemoteDataError as e:
372+
except RemoteDataError as e: # pragma: no cover
374373
raise nose.SkipTest(e)
375374
self.assertTrue(len(data) > 1)
376375

@@ -381,7 +380,7 @@ def test_get_underlying_price(self):
381380
url = options_object._yahoo_url_from_expiry(options_object.expiry_dates[0])
382381
root = options_object._parse_url(url)
383382
quote_price = options_object._underlying_price_from_root(root)
384-
except RemoteDataError as e:
383+
except RemoteDataError as e: # pragma: no cover
385384
raise nose.SkipTest(e)
386385
self.assert_(isinstance(quote_price, float))
387386

@@ -419,7 +418,7 @@ def test_sample_page_chg_float(self):
419418
def test_month_year(self):
420419
try:
421420
data = self.aapl.get_call_data(month=self.month, year=self.year)
422-
except RemoteDataError as e:
421+
except RemoteDataError as e: # pragma: no cover
423422
raise nose.SkipTest(e)
424423

425424
self.assertTrue(len(data) > 1)
@@ -440,7 +439,7 @@ def tearDownClass(cls):
440439
super(TestOptionsWarnings, cls).tearDownClass()
441440

442441
def test_options_source_warning(self):
443-
if not assert_produces_warning:
442+
if not assert_produces_warning: # pragma: no cover
444443
raise nose.SkipTest("old version of pandas without "
445444
"compat.assert_produces_warning")
446445
with assert_produces_warning():
@@ -499,7 +498,7 @@ def test_fred_nan(self):
499498
df = web.DataReader("DFII5", "fred", start, end)
500499
assert pd.isnull(df.ix['2010-01-01'][0])
501500

502-
def test_fred_parts(self):
501+
def test_fred_parts(self): # pragma: no cover
503502
raise nose.SkipTest('buggy as of 2/18/14; maybe a data revision?')
504503

505504
start = datetime(2010, 1, 1)
@@ -524,9 +523,8 @@ def test_invalid_series(self):
524523
name = "NOT A REAL SERIES"
525524
self.assertRaises(Exception, web.get_data_fred, name)
526525

527-
def test_fred_multi(self):
526+
def test_fred_multi(self): # pragma: no cover
528527
raise nose.SkipTest('buggy as of 2/18/14; maybe a data revision?')
529-
530528
names = ['CPIAUCSL', 'CPALTT01USQ661S', 'CPILFESL']
531529
start = datetime(2010, 1, 1)
532530
end = datetime(2013, 1, 27)
@@ -546,4 +544,4 @@ def test_fred_multi_bad_series(self):
546544

547545
if __name__ == '__main__':
548546
nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'],
549-
exit=False)
547+
exit=False) # pragma: no cover

pandas_datareader/tests/test_wb.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
try:
1010
from pandas.compat import u
11-
except ImportError:
11+
except ImportError: # pragma: no cover
1212
try:
1313
unicode # python 2
1414
def u(s):
@@ -81,7 +81,7 @@ def test_wdi_download_w_retired_indicator(self):
8181
# if it ever gets here, it means WB unretired the indicator.
8282
# even if they dropped it completely, it would still get caught above
8383
# or the WB API changed somehow in a really unexpected way.
84-
if len(result) > 0:
84+
if len(result) > 0: # pragma: no cover
8585
raise nose.SkipTest("Invalid results")
8686

8787
def test_wdi_download_w_crash_inducing_countrycode(self):
@@ -97,7 +97,7 @@ def test_wdi_download_w_crash_inducing_countrycode(self):
9797

9898
# if it ever gets here, it means the country code XXX got used by WB
9999
# or the WB API changed somehow in a really unexpected way.
100-
if len(result) > 0:
100+
if len(result) > 0: # pragma: no cover
101101
raise nose.SkipTest("Invalid results")
102102

103103
def test_wdi_get_countries(self):
@@ -109,4 +109,4 @@ def test_wdi_get_countries(self):
109109

110110
if __name__ == '__main__':
111111
nose.runmodule(argv=[__file__, '-vvs', '-x', '--pdb', '--pdb-failure'],
112-
exit=False)
112+
exit=False) # pragma: no cover

0 commit comments

Comments
 (0)