From 900421edbc643c38909d3252fd3f05926591a900 Mon Sep 17 00:00:00 2001 From: a14m Date: Wed, 7 Apr 2021 14:32:38 +0200 Subject: Fix the split testing of the plane/universe --- CLI/rust/src/game_of_life/simulation/plane.rs | 74 +++++++++--------- CLI/rust/src/game_of_life/simulation/universe.rs | 96 ++++++++++++------------ 2 files changed, 81 insertions(+), 89 deletions(-) (limited to 'CLI') diff --git a/CLI/rust/src/game_of_life/simulation/plane.rs b/CLI/rust/src/game_of_life/simulation/plane.rs index fad9398..76d91fb 100644 --- a/CLI/rust/src/game_of_life/simulation/plane.rs +++ b/CLI/rust/src/game_of_life/simulation/plane.rs @@ -16,6 +16,24 @@ impl Index for Plane { } } +#[cfg(test)] +mod index { + use super::*; + + #[test] + fn get_element() { + let p = Plane(vec![false, false, true, false, false]); + assert_eq!(p[0], false); + assert_eq!(p[1], false); + assert_eq!(p[3], false); + assert_eq!(p[4], false); + + assert_eq!(p[-3], true); + assert_eq!(p[2], true); + assert_eq!(p[7], true); + } +} + impl IndexMut for Plane { fn index_mut(&mut self, idx: isize) -> &mut Self::Output { let len = self.0.len() as isize; @@ -24,49 +42,27 @@ impl IndexMut for Plane { } #[cfg(test)] -mod plane { +mod index_mut { use super::*; - mod index { - use super::*; - - #[test] - fn get_element() { - let p = Plane(vec![false, false, true, false, false]); - assert_eq!(p[0], false); - assert_eq!(p[1], false); - assert_eq!(p[3], false); - assert_eq!(p[4], false); - - assert_eq!(p[-3], true); - assert_eq!(p[2], true); - assert_eq!(p[7], true); - } + #[test] + fn set_negative_index_element() { + let mut p = Plane(vec![false, false, false, false, false]); + p[-3] = true; + assert_eq!(p, Plane(vec![false, false, true, false, false])); } - #[cfg(test)] - mod index_mut { - use super::*; - - #[test] - fn set_negative_index_element() { - let mut p = Plane(vec![false, false, false, false, false]); - p[-3] = true; - assert_eq!(p, Plane(vec![false, false, true, false, false])); - } - - #[test] - fn set_element() { - let mut p = Plane(vec![false, false, false, false, false]); - p[2] = true; - assert_eq!(p, Plane(vec![false, false, true, false, false])); - } + #[test] + fn set_element() { + let mut p = Plane(vec![false, false, false, false, false]); + p[2] = true; + assert_eq!(p, Plane(vec![false, false, true, false, false])); + } - #[test] - fn set_out_of_bound_element() { - let mut p = Plane(vec![false, false, false, false, false]); - p[7] = true; - assert_eq!(p, Plane(vec![false, false, true, false, false])); - } + #[test] + fn set_out_of_bound_element() { + let mut p = Plane(vec![false, false, false, false, false]); + p[7] = true; + assert_eq!(p, Plane(vec![false, false, true, false, false])); } } diff --git a/CLI/rust/src/game_of_life/simulation/universe.rs b/CLI/rust/src/game_of_life/simulation/universe.rs index a7a464c..782e611 100644 --- a/CLI/rust/src/game_of_life/simulation/universe.rs +++ b/CLI/rust/src/game_of_life/simulation/universe.rs @@ -20,59 +20,55 @@ impl Index for Universe { } #[cfg(test)] -mod universe { +mod index { use super::*; - mod index { - use super::*; + #[test] + fn get_element() { + let opts = Opts { + seed: 1337, + input: None, + width: 13, + height: 13, + live_cell: 'L', + dead_cell: 'D', + delay: 13, + }; + let u = Universe { + opts, + current: vec![ + Plane(vec![false; 5]), + Plane(vec![false, false, true, false, false]), + Plane(vec![false; 5]), + ], + future: vec![Plane(vec![])], + }; - #[test] - fn get_element() { - let opts = Opts { - seed: 1337, - input: None, - width: 13, - height: 13, - live_cell: 'L', - dead_cell: 'D', - delay: 13, - }; - let u = Universe { - opts, - current: vec![ - Plane(vec![false; 5]), - Plane(vec![false, false, true, false, false]), - Plane(vec![false; 5]), - ], - future: vec![Plane(vec![])], - }; + assert_eq!(u[-3][0], false); + assert_eq!(u[-3][1], false); + assert_eq!(u[-3][3], false); + assert_eq!(u[-3][4], false); + assert_eq!(u[0][0], false); + assert_eq!(u[0][1], false); + assert_eq!(u[0][3], false); + assert_eq!(u[0][4], false); + assert_eq!(u[2][0], false); + assert_eq!(u[2][1], false); + assert_eq!(u[2][3], false); + assert_eq!(u[2][4], false); + assert_eq!(u[5][0], false); + assert_eq!(u[5][1], false); + assert_eq!(u[5][3], false); + assert_eq!(u[5][4], false); - assert_eq!(u[-3][0], false); - assert_eq!(u[-3][1], false); - assert_eq!(u[-3][3], false); - assert_eq!(u[-3][4], false); - assert_eq!(u[0][0], false); - assert_eq!(u[0][1], false); - assert_eq!(u[0][3], false); - assert_eq!(u[0][4], false); - assert_eq!(u[2][0], false); - assert_eq!(u[2][1], false); - assert_eq!(u[2][3], false); - assert_eq!(u[2][4], false); - assert_eq!(u[5][0], false); - assert_eq!(u[5][1], false); - assert_eq!(u[5][3], false); - assert_eq!(u[5][4], false); - - assert_eq!(u[-2][-3], true); - assert_eq!(u[-2][2], true); - assert_eq!(u[-2][7], true); - assert_eq!(u[1][-3], true); - assert_eq!(u[1][2], true); - assert_eq!(u[1][7], true); - assert_eq!(u[4][-3], true); - assert_eq!(u[4][2], true); - assert_eq!(u[4][7], true); - } + assert_eq!(u[-2][-3], true); + assert_eq!(u[-2][2], true); + assert_eq!(u[-2][7], true); + assert_eq!(u[1][-3], true); + assert_eq!(u[1][2], true); + assert_eq!(u[1][7], true); + assert_eq!(u[4][-3], true); + assert_eq!(u[4][2], true); + assert_eq!(u[4][7], true); } } -- cgit v1.2.3