public void ExecuteCommands_WhenRotateRightCommand_TheRoverRotatesRight(int x, int y, Direction start_dir, Direction end_dir) { _plutoRover = new PlutoRover(x, y, start_dir, _defaultGridWidth, _defaultGridHeight, _mockObstaclesChecker.Object); _plutoRover.ExecuteCommands("R"); Assert.Equal(x, _plutoRover.Position.X); Assert.Equal(y, _plutoRover.Position.Y); Assert.Equal(end_dir, _plutoRover.Position.Direction); }
public void ExecuteCommands_WhenMoveBackwardCommand_TheRoverMovesBackward(int start_x, int start_y, Direction direction, int end_x, int end_y) { _plutoRover = new PlutoRover(start_x, start_y, direction, _defaultGridWidth, _defaultGridHeight, _mockObstaclesChecker.Object); _plutoRover.ExecuteCommands("B"); Assert.Equal(end_x, _plutoRover.Position.X); Assert.Equal(end_y, _plutoRover.Position.Y); Assert.Equal(direction, _plutoRover.Position.Direction); }
public void ExecuteCommands_WhenRoverFindsAnObstacle_TheRoverReportsAFailure( int start_x, int start_y, Direction direction, int obstacle_x, int obstacle_y, string cmd) { SetupObstacle(obstacle_x, obstacle_y); _plutoRover = new PlutoRover(start_x, start_y, direction, _defaultGridWidth, _defaultGridHeight, _mockObstaclesChecker.Object); var result = _plutoRover.ExecuteCommands(cmd); Assert.Equal(Status.Failure, result.Status); }
public void ExecuteCommands_WhenMoveBackwardCommandOverTheGridLimit_TheRoverWrapsAround( int start_x, int start_y, int gridWidth, int gridHeight, Direction direction, int end_x, int end_y) { _plutoRover = new PlutoRover(start_x, start_y, direction, gridWidth, gridHeight, _mockObstaclesChecker.Object); _plutoRover.ExecuteCommands("B"); Assert.Equal(end_x, _plutoRover.Position.X); Assert.Equal(end_y, _plutoRover.Position.Y); Assert.Equal(direction, _plutoRover.Position.Direction); }