From e8bc993ed558e1b25a31e6a6fabac7853e1b1035 Mon Sep 17 00:00:00 2001 From: pommicket Date: Wed, 14 Dec 2022 14:58:57 -0500 Subject: GenRandom structs, scale, bias --- gen_random_test/src/lib.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gen_random_test') diff --git a/gen_random_test/src/lib.rs b/gen_random_test/src/lib.rs index 00f5026..bea6190 100644 --- a/gen_random_test/src/lib.rs +++ b/gen_random_test/src/lib.rs @@ -33,6 +33,16 @@ mod tests { #[prob = 0.9] Cons(f32, Box) } + + #[derive(GenRandom, Debug)] + struct ScaleBias { + #[bias = 1.0] + #[scale = 10.0] + a: f32, + #[bias = 2.0] + #[scale = 0.0] + b: f32, + } #[test] fn basic() { @@ -51,4 +61,18 @@ mod tests { let ll = LinkedList::gen_thread_random(); println!("{ll:?}"); } + + #[test] + fn scale_bias() { + let sb: Vec = gen_thread_random_vec(10); + println!("{sb:?}"); + for x in sb.iter() { + if x.a < 1.0 || x.a > 11.0 { + panic!("a field should be between 1 and 11; got {}", x.a); + } + if x.b != 2.0 { + panic!("b field should be exactly 2; got {}", x.b); + } + } + } } -- cgit v1.2.3