1use fixture3_ddmin::{DdminInput, DdminOptions, OracleOutcome, UnresolvedReason, ddmin};
2
3fn main() {
4 let input = DdminInput::new(vec!["core", "flaky", "noise"], DdminOptions::default());
5 let mut oracle = |remaining: &[&str]| {
6 if remaining.contains(&"flaky") && remaining.len() == 1 {
7 OracleOutcome::Unresolved(UnresolvedReason::NonDeterministic)
8 } else if remaining.contains(&"core") {
9 OracleOutcome::Interesting
10 } else {
11 OracleOutcome::NotInteresting
12 }
13 };
14
15 let output = ddmin(input, &mut oracle);
16 assert_eq!(output.remaining(), &["core"], "DDMin should keep the stable interesting value");
17 assert_eq!(
18 output.stats().unresolved_trials(),
19 1,
20 "DDMin should count unresolved oracle outcomes"
21 );
22}