public void PlayStep_PlayerCanMoveUp() { const int maxRows = 4; const int maxColumns = 4; var processor = new GameStateProcessor(); var player = new PlayerState { Column = 1, Row = 1, Moves = 0 }; IList <IList <Cell> > grid = TestUtils.MakeEmptyGrid(maxRows, maxColumns); IGameState state = new GameState(player, grid, 5, maxRows, maxColumns); processor.PlayStep(state, PlayerDirection.Up); Assert.AreEqual(0, player.Row); }
public void PlayStep_WhenPlayerAtRightmostOfGrid_PlayerDoesNotMoveRight() { const int maxRows = 4; const int maxColumns = 4; var processor = new GameStateProcessor(); var player = new PlayerState { Column = maxColumns - 1, Row = 1, Moves = 0 }; IList <IList <Cell> > grid = TestUtils.MakeEmptyGrid(maxRows, maxColumns); IGameState state = new GameState(player, grid, 5, maxRows, maxColumns); processor.PlayStep(state, PlayerDirection.Right); Assert.AreEqual(maxColumns - 1, player.Column); }
public void PlayStep_WhenPlayerIsMoved_IncreasesPlayerMovesCounter() { const int maxRows = 4; const int maxColumns = 4; var processor = new GameStateProcessor(); var player = new PlayerState { Column = 0, Row = 0, Moves = 0 }; IList <IList <Cell> > grid = TestUtils.MakeEmptyGrid(maxRows, maxColumns); IGameState state = new GameState(player, grid, 5, maxRows, maxColumns); processor.PlayStep(state, PlayerDirection.Right); Assert.AreEqual(1, player.Moves); }
public void PlayStep_WhenPlayerIsMoved_PreviousPositionIsUncovered() { const int maxRows = 4; const int maxColumns = 4; var processor = new GameStateProcessor(); var player = new PlayerState { Column = 0, Row = 0, Moves = 0 }; IList <IList <Cell> > grid = TestUtils.MakeEmptyGrid(maxRows, maxColumns); IGameState state = new GameState(player, grid, 5, maxRows, maxColumns); state.GameGrid[0][0].IsUncovered = false; processor.PlayStep(state, PlayerDirection.Right); Assert.IsTrue(state.GameGrid[0][0].IsUncovered); }