Skip to content

Commit db9128d

Browse files
committed
Merge pull request #7451 from sinhrks/skiptest
TST/CLN: centralize module check funcs
2 parents cc452b2 + b7c04ae commit db9128d

16 files changed

+117
-248
lines changed

pandas/stats/tests/test_moments.py

+7-12
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@
1717

1818
N, K = 100, 10
1919

20-
def _skip_if_no_scipy():
21-
try:
22-
import scipy.stats
23-
except ImportError:
24-
raise nose.SkipTest("no scipy.stats")
2520

2621
class TestMoments(tm.TestCase):
2722

@@ -68,7 +63,7 @@ def test_rolling_mean(self):
6863
self._check_moment_func(mom.rolling_mean, np.mean)
6964

7065
def test_cmov_mean(self):
71-
_skip_if_no_scipy()
66+
tm._skip_if_no_scipy()
7267
try:
7368
from scikits.timeseries.lib import cmov_mean
7469
except ImportError:
@@ -86,7 +81,7 @@ def test_cmov_mean(self):
8681
assert_series_equal(xp, rs)
8782

8883
def test_cmov_window(self):
89-
_skip_if_no_scipy()
84+
tm._skip_if_no_scipy()
9085
try:
9186
from scikits.timeseries.lib import cmov_window
9287
except ImportError:
@@ -104,7 +99,7 @@ def test_cmov_window(self):
10499
assert_series_equal(xp, rs)
105100

106101
def test_cmov_window_corner(self):
107-
_skip_if_no_scipy()
102+
tm._skip_if_no_scipy()
108103
try:
109104
from scikits.timeseries.lib import cmov_window
110105
except ImportError:
@@ -128,7 +123,7 @@ def test_cmov_window_corner(self):
128123
self.assertEqual(len(rs), 5)
129124

130125
def test_cmov_window_frame(self):
131-
_skip_if_no_scipy()
126+
tm._skip_if_no_scipy()
132127
try:
133128
from scikits.timeseries.lib import cmov_window
134129
except ImportError:
@@ -141,7 +136,7 @@ def test_cmov_window_frame(self):
141136
assert_frame_equal(DataFrame(xp), rs)
142137

143138
def test_cmov_window_na_min_periods(self):
144-
_skip_if_no_scipy()
139+
tm._skip_if_no_scipy()
145140
try:
146141
from scikits.timeseries.lib import cmov_window
147142
except ImportError:
@@ -158,7 +153,7 @@ def test_cmov_window_na_min_periods(self):
158153
assert_series_equal(xp, rs)
159154

160155
def test_cmov_window_regular(self):
161-
_skip_if_no_scipy()
156+
tm._skip_if_no_scipy()
162157
try:
163158
from scikits.timeseries.lib import cmov_window
164159
except ImportError:
@@ -174,7 +169,7 @@ def test_cmov_window_regular(self):
174169
assert_series_equal(Series(xp), rs)
175170

176171
def test_cmov_window_special(self):
177-
_skip_if_no_scipy()
172+
tm._skip_if_no_scipy()
178173
try:
179174
from scikits.timeseries.lib import cmov_window
180175
except ImportError:

pandas/tests/test_format.py

+2-14
Original file line numberDiff line numberDiff line change
@@ -86,18 +86,6 @@ def skip_if_np_version_under1p7():
8686

8787
raise nose.SkipTest('numpy >= 1.7 required')
8888

89-
def _skip_if_no_pytz():
90-
try:
91-
import pytz
92-
except ImportError:
93-
raise nose.SkipTest("pytz not installed")
94-
95-
def _skip_if_no_dateutil():
96-
try:
97-
import dateutil
98-
except ImportError:
99-
raise nose.SkipTest("dateutil not installed")
100-
10189

10290
class TestDataFrameFormatting(tm.TestCase):
10391
_multiprocess_can_split_ = True
@@ -2930,7 +2918,7 @@ def test_no_tz(self):
29302918
self.assertEqual(str(ts_nanos_micros), "1970-01-01 00:00:00.000001200")
29312919

29322920
def test_tz_pytz(self):
2933-
_skip_if_no_pytz()
2921+
tm._skip_if_no_pytz()
29342922

29352923
import pytz
29362924

@@ -2944,7 +2932,7 @@ def test_tz_pytz(self):
29442932
self.assertEqual(str(dt_datetime_us), str(Timestamp(dt_datetime_us)))
29452933

29462934
def test_tz_dateutil(self):
2947-
_skip_if_no_dateutil()
2935+
tm._skip_if_no_dateutil()
29482936
import dateutil
29492937
utc = dateutil.tz.tzutc()
29502938

pandas/tests/test_frame.py

+10-16
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,6 @@
5252

5353
from numpy.testing.decorators import slow
5454

55-
def _skip_if_no_scipy():
56-
try:
57-
import scipy.stats
58-
except ImportError:
59-
raise nose.SkipTest("no scipy.stats module")
60-
6155
#---------------------------------------------------------------------
6256
# DataFrame test cases
6357

@@ -6753,28 +6747,28 @@ def _check_method(self, method='pearson', check_minp=False):
67536747
expected.ix['A', 'B'] = expected.ix['B', 'A'] = nan
67546748

67556749
def test_corr_pearson(self):
6756-
_skip_if_no_scipy()
6750+
tm._skip_if_no_scipy()
67576751
self.frame['A'][:5] = nan
67586752
self.frame['B'][5:10] = nan
67596753

67606754
self._check_method('pearson')
67616755

67626756
def test_corr_kendall(self):
6763-
_skip_if_no_scipy()
6757+
tm._skip_if_no_scipy()
67646758
self.frame['A'][:5] = nan
67656759
self.frame['B'][5:10] = nan
67666760

67676761
self._check_method('kendall')
67686762

67696763
def test_corr_spearman(self):
6770-
_skip_if_no_scipy()
6764+
tm._skip_if_no_scipy()
67716765
self.frame['A'][:5] = nan
67726766
self.frame['B'][5:10] = nan
67736767

67746768
self._check_method('spearman')
67756769

67766770
def test_corr_non_numeric(self):
6777-
_skip_if_no_scipy()
6771+
tm._skip_if_no_scipy()
67786772
self.frame['A'][:5] = nan
67796773
self.frame['B'][5:10] = nan
67806774

@@ -6784,7 +6778,7 @@ def test_corr_non_numeric(self):
67846778
assert_frame_equal(result, expected)
67856779

67866780
def test_corr_nooverlap(self):
6787-
_skip_if_no_scipy()
6781+
tm._skip_if_no_scipy()
67886782

67896783
# nothing in common
67906784
for meth in ['pearson', 'kendall', 'spearman']:
@@ -6797,7 +6791,7 @@ def test_corr_nooverlap(self):
67976791
self.assertEqual(rs.ix['B', 'B'], 1)
67986792

67996793
def test_corr_constant(self):
6800-
_skip_if_no_scipy()
6794+
tm._skip_if_no_scipy()
68016795

68026796
# constant --> all NA
68036797

@@ -10971,7 +10965,7 @@ def test_sem(self):
1097110965
nanops._USE_BOTTLENECK = True
1097210966

1097310967
def test_skew(self):
10974-
_skip_if_no_scipy()
10968+
tm._skip_if_no_scipy()
1097510969
from scipy.stats import skew
1097610970

1097710971
def alt(x):
@@ -10982,7 +10976,7 @@ def alt(x):
1098210976
self._check_stat_op('skew', alt)
1098310977

1098410978
def test_kurt(self):
10985-
_skip_if_no_scipy()
10979+
tm._skip_if_no_scipy()
1098610980

1098710981
from scipy.stats import kurtosis
1098810982

@@ -11334,7 +11328,7 @@ def test_cumprod(self):
1133411328
df.cumprod(1)
1133511329

1133611330
def test_rank(self):
11337-
_skip_if_no_scipy()
11331+
tm._skip_if_no_scipy()
1133811332
from scipy.stats import rankdata
1133911333

1134011334
self.frame['A'][::2] = np.nan
@@ -11426,7 +11420,7 @@ def test_rank2(self):
1142611420
assert_frame_equal(df.rank(), exp)
1142711421

1142811422
def test_rank_na_option(self):
11429-
_skip_if_no_scipy()
11423+
tm._skip_if_no_scipy()
1143011424
from scipy.stats import rankdata
1143111425

1143211426
self.frame['A'][::2] = np.nan

pandas/tests/test_generic.py

+15-25
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
# pylint: disable-msg=E1101,W0612
22

33
from datetime import datetime, timedelta
4-
import operator
54
import nose
6-
import copy
75
import numpy as np
86
from numpy import nan
97
import pandas as pd
108

119
from pandas import (Index, Series, DataFrame, Panel,
1210
isnull, notnull,date_range, _np_version_under1p7)
1311
from pandas.core.index import Index, MultiIndex
14-
from pandas.tseries.index import Timestamp, DatetimeIndex
1512

1613
import pandas.core.common as com
1714

@@ -25,13 +22,6 @@
2522
import pandas.util.testing as tm
2623

2724

28-
def _skip_if_no_scipy():
29-
try:
30-
import scipy.interpolate
31-
except ImportError:
32-
raise nose.SkipTest('scipy.interpolate missing')
33-
34-
3525
def _skip_if_no_pchip():
3626
try:
3727
from scipy.interpolate import pchip_interpolate
@@ -491,7 +481,7 @@ def test_interpolate(self):
491481
self.assertRaises(ValueError, non_ts.interpolate, method='time')
492482

493483
def test_interp_regression(self):
494-
_skip_if_no_scipy()
484+
tm._skip_if_no_scipy()
495485
_skip_if_no_pchip()
496486

497487
ser = Series(np.sort(np.random.uniform(size=100)))
@@ -509,7 +499,7 @@ def test_interpolate_corners(self):
509499
s = Series([]).interpolate()
510500
assert_series_equal(s.interpolate(), s)
511501

512-
_skip_if_no_scipy()
502+
tm._skip_if_no_scipy()
513503
s = Series([np.nan, np.nan])
514504
assert_series_equal(s.interpolate(method='polynomial', order=1), s)
515505

@@ -544,7 +534,7 @@ def test_nan_interpolate(self):
544534
expected = Series([0., 1., 2., 3.])
545535
assert_series_equal(result, expected)
546536

547-
_skip_if_no_scipy()
537+
tm._skip_if_no_scipy()
548538
result = s.interpolate(method='polynomial', order=1)
549539
assert_series_equal(result, expected)
550540

@@ -561,14 +551,14 @@ def test_nan_str_index(self):
561551
assert_series_equal(result, expected)
562552

563553
def test_interp_quad(self):
564-
_skip_if_no_scipy()
554+
tm._skip_if_no_scipy()
565555
sq = Series([1, 4, np.nan, 16], index=[1, 2, 3, 4])
566556
result = sq.interpolate(method='quadratic')
567557
expected = Series([1., 4., 9., 16.], index=[1, 2, 3, 4])
568558
assert_series_equal(result, expected)
569559

570560
def test_interp_scipy_basic(self):
571-
_skip_if_no_scipy()
561+
tm._skip_if_no_scipy()
572562
s = Series([1, 3, np.nan, 12, np.nan, 25])
573563
# slinear
574564
expected = Series([1., 3., 7.5, 12., 18.5, 25.])
@@ -611,7 +601,7 @@ def test_interp_limit(self):
611601

612602
def test_interp_all_good(self):
613603
# scipy
614-
_skip_if_no_scipy()
604+
tm._skip_if_no_scipy()
615605
s = Series([1, 2, 3])
616606
result = s.interpolate(method='polynomial', order=1)
617607
assert_series_equal(result, s)
@@ -629,18 +619,18 @@ def test_interp_multiIndex(self):
629619
result = s.interpolate()
630620
assert_series_equal(result, expected)
631621

632-
_skip_if_no_scipy()
622+
tm._skip_if_no_scipy()
633623
with tm.assertRaises(ValueError):
634624
s.interpolate(method='polynomial', order=1)
635625

636626
def test_interp_nonmono_raise(self):
637-
_skip_if_no_scipy()
627+
tm._skip_if_no_scipy()
638628
s = Series([1, np.nan, 3], index=[0, 2, 1])
639629
with tm.assertRaises(ValueError):
640630
s.interpolate(method='krogh')
641631

642632
def test_interp_datetime64(self):
643-
_skip_if_no_scipy()
633+
tm._skip_if_no_scipy()
644634
df = Series([1, np.nan, 3], index=date_range('1/1/2000', periods=3))
645635
result = df.interpolate(method='nearest')
646636
expected = Series([1., 1., 3.], index=date_range('1/1/2000', periods=3))
@@ -768,7 +758,7 @@ def test_interp_nan_idx(self):
768758
df.interpolate(method='values')
769759

770760
def test_interp_various(self):
771-
_skip_if_no_scipy()
761+
tm._skip_if_no_scipy()
772762
df = DataFrame({'A': [1, 2, np.nan, 4, 5, np.nan, 7],
773763
'C': [1, 2, 3, 5, 8, 13, 21]})
774764
df = df.set_index('C')
@@ -810,7 +800,7 @@ def test_interp_various(self):
810800
assert_frame_equal(result, expected)
811801

812802
def test_interp_alt_scipy(self):
813-
_skip_if_no_scipy()
803+
tm._skip_if_no_scipy()
814804
df = DataFrame({'A': [1, 2, np.nan, 4, 5, np.nan, 7],
815805
'C': [1, 2, 3, 5, 8, 13, 21]})
816806
result = df.interpolate(method='barycentric')
@@ -850,7 +840,7 @@ def test_interp_rowwise(self):
850840
assert_frame_equal(result, expected)
851841

852842
# scipy route
853-
_skip_if_no_scipy()
843+
tm._skip_if_no_scipy()
854844
result = df.interpolate(axis=1, method='values')
855845
assert_frame_equal(result, expected)
856846

@@ -871,7 +861,7 @@ def test_interp_leading_nans(self):
871861
expected['B'].loc[3] = -3.75
872862
assert_frame_equal(result, expected)
873863

874-
_skip_if_no_scipy()
864+
tm._skip_if_no_scipy()
875865
result = df.interpolate(method='polynomial', order=1)
876866
assert_frame_equal(result, expected)
877867

@@ -1022,15 +1012,15 @@ def test_describe_objects(self):
10221012
assert_frame_equal(df[['C2', 'C3']].describe(), df[['C3']].describe())
10231013

10241014
def test_no_order(self):
1025-
_skip_if_no_scipy()
1015+
tm._skip_if_no_scipy()
10261016
s = Series([0, 1, np.nan, 3])
10271017
with tm.assertRaises(ValueError):
10281018
s.interpolate(method='polynomial')
10291019
with tm.assertRaises(ValueError):
10301020
s.interpolate(method='spline')
10311021

10321022
def test_spline(self):
1033-
_skip_if_no_scipy()
1023+
tm._skip_if_no_scipy()
10341024
s = Series([1, 2, np.nan, 4, 5, np.nan, 7])
10351025
result = s.interpolate(method='spline', order=1)
10361026
expected = Series([1., 2., 3., 4., 5., 6., 7.])

0 commit comments

Comments
 (0)