Skip to content

Commit 0040a41

Browse files
committed
ENH: use warning.catch_warnings
1 parent f18a5f4 commit 0040a41

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

sklearn/tests/test_cross_validation.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -164,28 +164,22 @@ def test_train_test_split_errors():
164164

165165
def test_shuffle_split_warnings():
166166
# change warnings.warn to catch the message
167-
warn_queue = []
168-
warnings_warn = warnings.warn
169-
warnings.warn = lambda msg: warn_queue.append(msg)
170-
171167
expected_message = ("test_fraction is deprecated in 0.11 and scheduled "
172168
"for removal in 0.12, use test_size instead",
173169
"train_fraction is deprecated in 0.11 and scheduled "
174170
"for removal in 0.12, use train_size instead")
175171

176-
cval.ShuffleSplit(10, 3, test_fraction=0.1)
177-
cval.ShuffleSplit(10, 3, train_fraction=0.1)
178-
cval.train_test_split(range(3), test_fraction=0.1)
179-
cval.train_test_split(range(3), train_fraction=0.1)
172+
with warnings.catch_warnings(record=True) as warn_queue:
173+
cval.ShuffleSplit(10, 3, test_fraction=0.1)
174+
cval.ShuffleSplit(10, 3, train_fraction=0.1)
175+
cval.train_test_split(range(3), test_fraction=0.1)
176+
cval.train_test_split(range(3), train_fraction=0.1)
180177

181178
assert_equal(len(warn_queue), 4)
182-
assert_equal(warn_queue[0], expected_message[0])
183-
assert_equal(warn_queue[1], expected_message[1])
184-
assert_equal(warn_queue[2], expected_message[0])
185-
assert_equal(warn_queue[3], expected_message[1])
186-
187-
# restore default behavior
188-
warnings.warn = warnings_warn
179+
assert_equal(warn_queue[0].message.message, expected_message[0])
180+
assert_equal(warn_queue[1].message.message, expected_message[1])
181+
assert_equal(warn_queue[2].message.message, expected_message[0])
182+
assert_equal(warn_queue[3].message.message, expected_message[1])
189183

190184

191185
def test_train_test_split():

0 commit comments

Comments
 (0)