From d1c218bb9df0ec2cbd423960457e3ab7f5a548fc Mon Sep 17 00:00:00 2001 From: "jungin.rhee" Date: Tue, 12 Sep 2023 04:27:42 +0000 Subject: [PATCH] fix tests --- .../assignment07/my_itertools_grade.rs | 2 +- .../assignment10/labyrinth_grade.rs | 19 +++++++++++++++---- src/assignments/assignment12/card_grade.rs | 8 ++++---- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/assignments/assignment07/my_itertools_grade.rs b/src/assignments/assignment07/my_itertools_grade.rs index d6e5111..00ec3c6 100644 --- a/src/assignments/assignment07/my_itertools_grade.rs +++ b/src/assignments/assignment07/my_itertools_grade.rs @@ -33,7 +33,7 @@ mod test { let it = || (1..=5).cycle().my_zip((1..=3).cycle()).map(|(x, y)| x * y); let take15 = vec![ - 2, // 1 * 1, + 1, // 1 * 1, 4, // 2 * 2, 9, // 3 * 3, 4, // 4 * 1, diff --git a/src/assignments/assignment10/labyrinth_grade.rs b/src/assignments/assignment10/labyrinth_grade.rs index 934e5ae..30ff287 100644 --- a/src/assignments/assignment10/labyrinth_grade.rs +++ b/src/assignments/assignment10/labyrinth_grade.rs @@ -24,8 +24,7 @@ mod test { } } - #[test] - fn can_every_husband_rescue_his_wife() { + fn can_every_husband_rescue_his_wife() -> bool { // HINT: https://en.wikipedia.org/wiki/100_prisoners_problem const WIVES: usize = 100; @@ -37,7 +36,7 @@ mod test { rooms }); - assert!((0..WIVES).all(|his_wife| { + (0..WIVES).all(|his_wife| { // A new husband steps into the labyrinth to rescue his wife...! let husband = Box::new(Husband::seeking(his_wife /*👩*/)); let strategy = Box::new(husband.has_devised_a_strategy()); @@ -57,6 +56,18 @@ mod test { }) .is_some(/* The husband has successfully rescued his wife! 👫*/) // or is_none(/* The unfortunate husband has encountered the Minotaur and... 🪓*/) - })); + }) + } + + #[test] + fn main() { + let mut num_success = 0; + for _ in 0..10000 { + if can_every_husband_rescue_his_wife() { + num_success += 1 + } + } + + assert!(num_success > 3000) } } diff --git a/src/assignments/assignment12/card_grade.rs b/src/assignments/assignment12/card_grade.rs index f74d435..8828a31 100644 --- a/src/assignments/assignment12/card_grade.rs +++ b/src/assignments/assignment12/card_grade.rs @@ -9,9 +9,9 @@ mod test_card { use std::thread; use std::time::Duration; - const NUM_CARDS: usize = 10_000; - const DURATION: u64 = 1; - const NUM_ENEMIES: usize = 100; + const NUM_CARDS: usize = 10000; + const DURATION: u64 = 20; + const NUM_ENEMIES: usize = 25; #[derive(Clone, Debug)] struct Card { @@ -104,7 +104,7 @@ mod test_card { let idx = init + (cnt % dist); match ground.get_card_color(idx) { Color::White => ground.flip_card(idx, Color::Blue), - Color::Blue => thread::sleep(Duration::from_micros(1)), + Color::Blue => thread::sleep(Duration::from_micros(10)), }; cnt += 1; }