public void NextGenResolutionCanBeRequested() { SetupBasicResolver(); var nextGen = GenerationResolver.ResolveNextGeneration(grid, new Rules(), generation); Assert.AreEqual(expectedNextGen, nextGen); SetupExpiringResolver(); nextGen = GenerationResolver.ResolveNextGeneration(grid, new Rules(), generation); Assert.AreEqual(expectedNextGen, nextGen); }
public void CellAliveNextGen() { var rules = new Rules(); Assert.IsFalse(GenerationResolver.CellAliveNextGen(true, 1, rules)); Assert.IsTrue(GenerationResolver.CellAliveNextGen(true, 2, rules)); Assert.IsTrue(GenerationResolver.CellAliveNextGen(true, 3, rules)); Assert.IsFalse(GenerationResolver.CellAliveNextGen(true, 4, rules)); Assert.IsFalse(GenerationResolver.CellAliveNextGen(false, 2, rules)); Assert.IsTrue(GenerationResolver.CellAliveNextGen(false, 3, rules)); Assert.IsFalse(GenerationResolver.CellAliveNextGen(false, 4, rules)); }
public void CellNeighborCount() { SetupBasicResolver(); Assert.AreEqual(2, GenerationResolver.NeighborsCount(cell0, grid, generation)); Assert.AreEqual(3, GenerationResolver.NeighborsCount(cell1, grid, generation)); Assert.AreEqual(3, GenerationResolver.NeighborsCount(cell2, grid, generation)); Assert.AreEqual(3, GenerationResolver.NeighborsCount(cell3, grid, generation)); Assert.AreEqual(2, GenerationResolver.NeighborsCount(cell4, grid, generation)); Assert.AreEqual(3, GenerationResolver.NeighborsCount(cell5, grid, generation)); Assert.AreEqual(3, GenerationResolver.NeighborsCount(cell6, grid, generation)); Assert.AreEqual(3, GenerationResolver.NeighborsCount(cell7, grid, generation)); Assert.AreEqual(2, GenerationResolver.NeighborsCount(cell8, grid, generation)); }
public void CellAliveNextGenRespectsCustomRules() { var surviveCounts = new List <int> { 2 }; var birthCounts = new List <int> { 4 }; var rules = new Rules(surviveCounts, birthCounts); Assert.IsFalse(GenerationResolver.CellAliveNextGen(true, 1, rules)); Assert.IsTrue(GenerationResolver.CellAliveNextGen(true, 2, rules)); Assert.IsFalse(GenerationResolver.CellAliveNextGen(true, 3, rules)); Assert.IsFalse(GenerationResolver.CellAliveNextGen(false, 3, rules)); Assert.IsTrue(GenerationResolver.CellAliveNextGen(false, 4, rules)); Assert.IsFalse(GenerationResolver.CellAliveNextGen(false, 5, rules)); }