diff options
| author | a14m <[email protected]> | 2021-04-07 14:01:42 +0200 |
|---|---|---|
| committer | a14m <[email protected]> | 2021-04-07 14:01:42 +0200 |
| commit | bd0ef4dcf5b46664c9e0b206f6acd8cf9b3532da (patch) | |
| tree | ae632b71112538349743bc22e98e46bfba9abb44 /CLI/rust/src/game_of_life/generators | |
| parent | 61c49255eba642ee342aee5f7b02a57eec2cd84f (diff) | |
Add Plane (circular array) implementation w/testing
Refactor the code to use Plane struct instead of Vec<bool>
Diffstat (limited to 'CLI/rust/src/game_of_life/generators')
| -rw-r--r-- | CLI/rust/src/game_of_life/generators/input.rs | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/CLI/rust/src/game_of_life/generators/input.rs b/CLI/rust/src/game_of_life/generators/input.rs index 26c0537..710ac8f 100644 --- a/CLI/rust/src/game_of_life/generators/input.rs +++ b/CLI/rust/src/game_of_life/generators/input.rs @@ -1,5 +1,5 @@ use crate::game_of_life::opts::Opts; -use crate::game_of_life::universe::Universe; +use crate::game_of_life::universe::{Universe, Plane}; use clap::{Error, ErrorKind}; use curl::easy::Easy; use regex::Regex; @@ -30,8 +30,8 @@ mod new { fn universe_mock(opts: Opts) -> Universe { Universe { opts, - current: vec![vec![]], - future: vec![vec![]], + current: vec![Plane(vec![])], + future: vec![Plane(vec![])], } } @@ -114,11 +114,11 @@ mod generate_file_data { universe, Universe { opts, - future: vec![vec![false; 4]; 3], + future: vec![Plane(vec![false; 4]); 3], current: vec![ - vec![false, false, true, true], - vec![false, false, true, true], - vec![false, false, false, false], + Plane(vec![false, false, true, true]), + Plane(vec![false, false, true, true]), + Plane(vec![false, false, false, false]), ], } ) @@ -191,11 +191,11 @@ mod generate_url_data { universe, Universe { opts, - future: vec![vec![false; 4]; 3], + future: vec![Plane(vec![false; 4]); 3], current: vec![ - vec![false, false, true, true], // <!do - vec![false, true, true, true], // <htm - vec![false, true, true, true], // <hea + Plane(vec![false, false, true, true]), // <!do + Plane(vec![false, true, true, true]), // <htm + Plane(vec![false, true, true, true]), // <hea ], } ) @@ -222,11 +222,11 @@ fn populate(opts: Opts, raw_data: String) -> Universe { }) .collect(); - let mut current = vec![vec![false; width]; height]; + let mut current = vec![Plane(vec![false; width]); height]; for i in 0..height { for j in 0..width { - current[i][j] = data + current[i][j as isize] = data .get(i) .unwrap_or(&vec![]) .get(j) @@ -238,7 +238,7 @@ fn populate(opts: Opts, raw_data: String) -> Universe { Universe { opts, current, - future: vec![vec![false; width]; height], + future: vec![Plane(vec![false; width]); height], } } @@ -268,13 +268,13 @@ mod populate { universe, Universe { opts, - future: vec![vec![false; 5]; 5], + future: vec![Plane(vec![false; 5]); 5], current: vec![ - vec![true, false, true, false, false], - vec![true, false, true, false, false], - vec![true, false, true, false, false], - vec![false, false, false, false, false], - vec![false, false, false, false, false], + Plane(vec![true, false, true, false, false]), + Plane(vec![true, false, true, false, false]), + Plane(vec![true, false, true, false, false]), + Plane(vec![false, false, false, false, false]), + Plane(vec![false, false, false, false, false]), ] } ) @@ -290,8 +290,8 @@ mod populate { universe, Universe { opts, - future: vec![vec![false; 2]; 2], - current: vec![vec![true, false], vec![true, false]] + future: vec![Plane(vec![false; 2]); 2], + current: vec![Plane(vec![true, false]), Plane(vec![true, false])] } ) } |
