Skip to content

Commit e6cdd52

Browse files
authored
Merge pull request #171 from datarian/fix-userwarning-unittests
Fix userwarning unittests
2 parents ae84e05 + 287f343 commit e6cdd52

File tree

3 files changed

+16
-20
lines changed

3 files changed

+16
-20
lines changed

category_encoders/tests/test_basen.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,13 @@ def test_inverse_transform_BothFieldsAreReturnNanWithNan_ExpectValueError(self):
111111
enc = encoders.BaseNEncoder(handle_missing='return_nan', handle_unknown='return_nan')
112112
enc.fit(train)
113113
result = enc.transform(test)
114+
115+
message = 'inverse_transform is not supported because transform impute '\
116+
'the unknown category nan when encode city'
114117

115-
with warnings.catch_warnings(record=True) as w:
118+
with self.assertWarns(UserWarning, msg=message) as w:
116119
enc.inverse_transform(result)
117120

118-
self.assertEqual(1, len(w))
119-
self.assertEqual('inverse_transform is not supported because transform impute '
120-
'the unknown category nan when encode city', str(w[0].message))
121-
122121
def test_inverse_transform_HaveMissingAndNoUnknown_ExpectInversed(self):
123122
train = pd.DataFrame({'city': ['chicago', np.nan]})
124123
test = pd.DataFrame({'city': ['chicago', 'los angeles']})

category_encoders/tests/test_one_hot.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,13 @@ def test_inverse_transform_BothFieldsAreReturnNanWithNan_ExpectValueError(self):
227227
enc = encoders.OneHotEncoder(handle_missing='return_nan', handle_unknown='return_nan')
228228
enc.fit(train)
229229
result = enc.transform(test)
230+
231+
message = 'inverse_transform is not supported because transform impute '\
232+
'the unknown category nan when encode city'
230233

231-
with warnings.catch_warnings(record=True) as w:
234+
with self.assertWarns(UserWarning, msg=message) as w:
232235
enc.inverse_transform(result)
233236

234-
self.assertEqual(1, len(w))
235-
self.assertEqual('inverse_transform is not supported because transform impute '
236-
'the unknown category nan when encode city', str(w[0].message))
237-
238237
def test_inverse_transform_HaveMissingAndNoUnknown_ExpectInversed(self):
239238
train = pd.DataFrame({'city': ['chicago', np.nan]})
240239
test = pd.DataFrame({'city': ['chicago', 'los angeles']})

category_encoders/tests/test_ordinal.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,12 @@ def test_inverse_transform_HaveUnknown_ExpectWarning(self):
137137
enc.fit(train)
138138
result = enc.transform(test)
139139

140-
with warnings.catch_warnings(record=True) as w:
140+
message = 'inverse_transform is not supported because transform impute '\
141+
'the unknown category -1 when encode city'
142+
143+
with self.assertWarns(UserWarning, msg=message) as w:
141144
enc.inverse_transform(result)
142145

143-
self.assertEqual(1, len(w))
144-
self.assertEqual('inverse_transform is not supported because transform impute '
145-
'the unknown category -1 when encode city', str(w[0].message))
146-
147146
def test_inverse_transform_HaveNanInTrainAndHandleMissingValue_ExpectReturnedWithNan(self):
148147
train = pd.DataFrame({'city': ['chicago', np.nan]})
149148

@@ -169,14 +168,13 @@ def test_inverse_transform_BothFieldsAreReturnNanWithNan_ExpectValueError(self):
169168
enc = encoders.OrdinalEncoder(handle_missing='return_nan', handle_unknown='return_nan')
170169
enc.fit(train)
171170
result = enc.transform(test)
171+
172+
message = 'inverse_transform is not supported because transform impute '\
173+
'the unknown category nan when encode city'
172174

173-
with warnings.catch_warnings(record=True) as w:
175+
with self.assertWarns(UserWarning, msg=message) as w:
174176
enc.inverse_transform(result)
175177

176-
self.assertEqual(1, len(w))
177-
self.assertEqual('inverse_transform is not supported because transform impute '
178-
'the unknown category nan when encode city', str(w[0].message))
179-
180178
def test_inverse_transform_HaveMissingAndNoUnknown_ExpectInversed(self):
181179
train = pd.DataFrame({'city': ['chicago', np.nan]})
182180
test = pd.DataFrame({'city': ['chicago', 'los angeles']})

0 commit comments

Comments
 (0)