From 6f1c070b7d6613c855f7e3c56e55d68bfb27e92f Mon Sep 17 00:00:00 2001 From: Manuel Raimann Date: Thu, 12 Feb 2026 13:38:36 +0100 Subject: [PATCH] test: actually use NaN values in test_best_trial_with_nan_values --- tests/study/workflow.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/study/workflow.rs b/tests/study/workflow.rs index 4b998ec..a14bf11 100644 --- a/tests/study/workflow.rs +++ b/tests/study/workflow.rs @@ -161,13 +161,20 @@ fn test_best_trial_with_nan_values() { let study: Study = Study::new(Direction::Minimize); let x_param = FloatParam::new(0.0, 10.0); - study - .optimize(5, |trial: &mut optimizer::Trial| { - let x = x_param.suggest(trial)?; - Ok::<_, Error>(x) - }) - .unwrap(); + // Mix NaN and valid objective values + let mut trial = study.create_trial(); + let _ = x_param.suggest(&mut trial).unwrap(); + study.complete_trial(trial, f64::NAN); + 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(); assert!(best.is_ok()); }