test: actually use NaN values in test_best_trial_with_nan_values

This commit is contained in:
Manuel Raimann
2026-02-12 13:38:54 +01:00
parent 12f7f25baa
commit 6f1c070b7d
+13 -6
View File
@@ -161,13 +161,20 @@ fn test_best_trial_with_nan_values() {
let study: Study<f64> = Study::new(Direction::Minimize); let study: Study<f64> = Study::new(Direction::Minimize);
let x_param = FloatParam::new(0.0, 10.0); let x_param = FloatParam::new(0.0, 10.0);
study // Mix NaN and valid objective values
.optimize(5, |trial: &mut optimizer::Trial| { let mut trial = study.create_trial();
let x = x_param.suggest(trial)?; let _ = x_param.suggest(&mut trial).unwrap();
Ok::<_, Error>(x) study.complete_trial(trial, f64::NAN);
})
.unwrap();
let mut trial = study.create_trial();
let _ = x_param.suggest(&mut trial).unwrap();
study.complete_trial(trial, 5.0);
let mut trial = study.create_trial();
let _ = x_param.suggest(&mut trial).unwrap();
study.complete_trial(trial, f64::NAN);
// best_trial succeeds even when some trials have NaN values
let best = study.best_trial(); let best = study.best_trial();
assert!(best.is_ok()); assert!(best.is_ok());
} }