From 00101bf55edba213b08afa7562c4a2597c57eba3 Mon Sep 17 00:00:00 2001 From: yancy Date: Sat, 5 Oct 2024 22:44:47 -0500 Subject: [PATCH] wip --- src/branch_and_bound.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/branch_and_bound.rs b/src/branch_and_bound.rs index 1e367a6..4442352 100644 --- a/src/branch_and_bound.rs +++ b/src/branch_and_bound.rs @@ -793,7 +793,7 @@ mod tests { } Ok(()) - }).seed(0x13de95f300000373); + }); } #[test] @@ -884,10 +884,10 @@ mod tests { let mut gen = exhaustigen::Gen::new(); - let mut solutions: Vec<_> = Vec::new(); + let mut solutions: Vec> = Vec::new(); while !gen.done() { let subset = gen.gen_subset(&pool.utxos).collect::>(); - let subset_sum: SignedAmount = subset + let subset_sum = subset .iter() .map(|u| { effective_value( @@ -897,13 +897,13 @@ mod tests { )}) .filter(|e| e.is_some()) .map(|u| u.unwrap()) - .sum(); - - if subset_sum.is_positive() { - let sum: Amount = subset_sum.to_unsigned().unwrap(); + .checked_sum(); - if sum >= target && sum <= target + cost_of_change { - solutions.push(subset); + if let Some(s) = subset_sum { + if let Ok(sum) = s.to_unsigned() { + if sum >= target && sum <= target + cost_of_change { + solutions.push(subset); + } } } } @@ -916,8 +916,8 @@ mod tests { &pool.utxos, ); - if solutions.is_empty() { - assert!(result.is_none() || result.unwrap().collect::>().is_empty()); + if solutions.is_empty() || target == Amount::ZERO { + assert!(result.is_none()); } else { let iter = result.unwrap();