public void Count_Four_Neighbour(string readableGrid, Cell cell)
        {
            // Arrange
            bool[][] grid  = StringToArrayGridConverter.TransformToGridArray(readableGrid);
            Board    board = Board.BuildBoard(grid);

            // Act
            int neighboursCount = board.CountNeighbours(cell);

            // Assert
            Assert.Equal(4, neighboursCount);
        }
        public void Play_To_Next_Generation(string initialBoard, string expected)
        {
            // Given
            bool[][] grid = StringToArrayGridConverter.TransformToGridArray(initialBoard);

            GameOfLife game = new GameOfLife(grid);

            // When
            game.NextGen();

            // Then
            var actual = StringToArrayGridConverter.TransformBoard(game.Board.Grid);

            Assert.Equal(expected, actual);
        }
        public void Another_Test_Playing_To_The_Next_Generation()
        {
            // Given
            var gridAsString = "110011|101010|001010|101011";

            bool[][] grid = StringToArrayGridConverter.TransformToGridArray(gridAsString);

            GameOfLife game = new GameOfLife(grid);

            // When
            game.NextGen();

            // Then
            var actual = StringToArrayGridConverter.TransformBoard(game.Board.Grid);

            //110111
            //101001
            //001010
            //101011
            var expected = "110111|101001|001010|101011";

            Assert.Equal(expected, actual);
        }