public void ShouldReviveSingleLiveCellWithThreeNeighbours()
        {
            var initialGeneration = new[, ] {
                { "x", "o", "o" }, { "o", "x", "o" }, { "x", "o", "o" }
            };

            _gameSetupHandler = new StringArrayGameSetupHandler(initialGeneration);
            var grid   = _gameSetupHandler.CreateInitialGrid();
            var result = _generationUpdater.CreateNewGeneration(grid);

            Assert.AreEqual(CellStatus.Alive, result.CellGrid[1, 0].CellStatus);
        }
        public void ShouldKillLiveCellWithFourNeighbours()
        {
            var initialGeneration = new[, ] {
                { "o", "x", "o" }, { "o", "x", "x" }, { "x", "x", "x" }
            };

            _gameSetupHandler = new StringArrayGameSetupHandler(initialGeneration);
            var grid   = _gameSetupHandler.CreateInitialGrid();
            var result = _generationUpdater.CreateNewGeneration(grid);

            Assert.AreEqual(CellStatus.Dead, result.CellGrid[0, 1].CellStatus);
        }
        public Grid IterateGame(Grid grid)
        {
            var newGeneration = _generationUpdater.CreateNewGeneration(grid);

            return(newGeneration);
        }