From 4a227c87e4d826793ef40e1fc22b9ef16335210f Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Sun, 15 Aug 2021 07:39:04 -0700 Subject: [PATCH] Nicer test --- src/lib.rs | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 560a8b7..9006df9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -222,32 +222,26 @@ mod tests { use crate::{Generator, Solver, PRIME_ORDER}; use rand::Rng; use rand_core::OsRng; - use std::collections::HashSet; #[test] fn it_works() { let mut rng = OsRng; let s = 3u64; let t = 4u64; + let dhf = Generator::generate(&mut rng, s, t); - let mut attempts = 0; - - loop { - let dhf = Generator::generate(&mut rng, s, t); - - let mut solver = Solver::new(s, t); - for i in 0..5 { - let mut x0: u64 = rng.gen_range(0..PRIME_ORDER); + let mut solver = Solver::new(s, t); + for i in 0..10 { + // These are the indexes which are to be random...you can try swapping them around.. + if i != 5 && i != 2 && i != 8 { + let x0: u64 = rng.gen_range(0..PRIME_ORDER); let hash = dhf.hash(PrimeOrderDomain::new(x0)); solver.add_hash(hash); + } else { + solver.add_hash(dhf.random(&mut rng)); } - solver.add_hash(dhf.random(&mut rng)); - solver.add_hash(dhf.random(&mut rng)); - if solver.attempt_solve().is_ok() { - println!("Attempts: {}", attempts); - return; - } - attempts += 1; } + + assert_eq!(solver.attempt_solve().unwrap(), vec![0, 1, 3, 4, 6, 7, 9]); } }