MCPcopy Index your code
hub / github.com/bayesian-optimization/BayesianOptimization / test_update_tracker

Function test_update_tracker

tests/test_logger.py:218–246  ·  view source on GitHub ↗

Test the _update_tracker method.

()

Source from the content-addressed store, hash-verified

216
217
218def test_update_tracker():
219 """Test the _update_tracker method."""
220 optimizer = BayesianOptimization(target_func, PBOUNDS, random_state=1)
221 logger = ScreenLogger()
222
223 # Initial state
224 assert logger._iterations == 0
225 assert logger._previous_max is None
226
227 # Update with first observation
228 optimizer.register(params={"p1": 1, "p2": 2}, target=3)
229 logger._update_tracker(optimizer.max)
230 assert logger._iterations == 1
231 assert logger._previous_max == 3
232 assert logger._previous_max_params == {"p1": 1, "p2": 2}
233
234 # Update with lower observation
235 optimizer.register(params={"p1": 0.5, "p2": 1}, target=1.5)
236 logger._update_tracker(optimizer.max)
237 assert logger._iterations == 2
238 assert logger._previous_max == 3 # Unchanged
239 assert logger._previous_max_params == {"p1": 1, "p2": 2} # Unchanged
240
241 # Update with higher observation
242 optimizer.register(params={"p1": 2, "p2": 2}, target=4)
243 logger._update_tracker(optimizer.max)
244 assert logger._iterations == 3
245 assert logger._previous_max == 4 # Updated
246 assert logger._previous_max_params == {"p1": 2, "p2": 2} # Updated
247
248
249@patch("sys.stdout", new_callable=io.StringIO)

Callers

nothing calls this directly

Calls 4

registerMethod · 0.95
_update_trackerMethod · 0.95
ScreenLoggerClass · 0.90

Tested by

no test coverage detected