Skip to content

Commit 35a966a

Browse files
Albert Alonsofmfn
authored andcommitted
Added a try/except in case the bounds_transformer is not the correct type + test coverage
1 parent e32b1fb commit 35a966a

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

bayes_opt/bayesian_optimization.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,11 @@ def __init__(self, f, pbounds, random_state=None, verbose=2,
123123
self._verbose = verbose
124124
self._bounds_transformer = bounds_transformer
125125
if self._bounds_transformer:
126-
self._bounds_transformer.initialize(self._space)
126+
try:
127+
self._bounds_transformer.initialize(self._space)
128+
except (AttributeError, TypeError):
129+
raise AssertionError('The transformer must be instance of'
130+
'DomainTransformer')
127131

128132
super(BayesianOptimization, self).__init__(events=DEFAULT_EVENTS)
129133

tests/test_bayesian_optimization.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ def test_prime_subscriptions():
157157
])
158158

159159
test_subscriber = "test_subscriber"
160+
160161
def test_callback(event, instance):
161162
pass
162163

@@ -291,6 +292,13 @@ def reset(self):
291292
assert tracker.end_count == 3
292293

293294

295+
def test_define_wrong_transformer():
296+
with pytest.raises(AssertionError):
297+
optimizer = BayesianOptimization(target_func, PBOUNDS,
298+
random_state=np.random.RandomState(1),
299+
bounds_transformer=3)
300+
301+
294302
if __name__ == '__main__':
295303
r"""
296304
CommandLine:

0 commit comments

Comments
 (0)