summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CLI/rust/src/game_of_life/simulation/universe.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/CLI/rust/src/game_of_life/simulation/universe.rs b/CLI/rust/src/game_of_life/simulation/universe.rs
index 4dfde92..69d8f67 100644
--- a/CLI/rust/src/game_of_life/simulation/universe.rs
+++ b/CLI/rust/src/game_of_life/simulation/universe.rs
@@ -295,4 +295,42 @@ mod evolve {
}
)
}
+
+ #[test]
+ fn toad() {
+ let universe = Universe {
+ opts: opts(),
+ future: Plane(vec![Plane(vec![false; 6]); 6]),
+ current: Plane(vec![
+ Plane(vec![false, false, false, false, false, false]),
+ Plane(vec![false, false, false, false, false, false]),
+ Plane(vec![false, false, true, true, true, false]),
+ Plane(vec![false, true, true, true, false, false]),
+ Plane(vec![false, false, false, false, false, false]),
+ Plane(vec![false, false, false, false, false, false]),
+ ]),
+ };
+ assert_eq!(
+ universe.evolve(),
+ Universe {
+ opts: opts(),
+ future: Plane(vec![
+ Plane(vec![false, false, false, false, false, false]),
+ Plane(vec![false, false, false, true, false, false]),
+ Plane(vec![false, true, false, false, true, false]),
+ Plane(vec![false, true, false, false, true, false]),
+ Plane(vec![false, false, true, false, false, false]),
+ Plane(vec![false, false, false, false, false, false]),
+ ]),
+ current: Plane(vec![
+ Plane(vec![false, false, false, false, false, false]),
+ Plane(vec![false, false, false, true, false, false]),
+ Plane(vec![false, true, false, false, true, false]),
+ Plane(vec![false, true, false, false, true, false]),
+ Plane(vec![false, false, true, false, false, false]),
+ Plane(vec![false, false, false, false, false, false]),
+ ]),
+ }
+ )
+ }
}