public void ReturnNewRoverWhenParametersAreCorrect() { int coordX = 1; int coordY = 0; char directionInfo = 'N'; BorderStrategy borderStrategy = new WaitAtTheBorderStrategy(plateauLowerCoordX, plateauLowerCoordY, plateauUpperCoordX, plateauUpperCoordY); var result = Rover.GetNewRover(coordX, coordY, directionInfo, borderStrategy); Assert.NotNull(result); Assert.Equal(directionInfo, result.GetDirection()); }
public void ThrowOutOfPlateauExceptionWhenGetNewRoverCoordinatesAreOutOfBounds() { int coordX = -1; int coordY = 0; char directionInfo = 'N'; BorderStrategy borderStrategy = new WaitAtTheBorderStrategy(plateauLowerCoordX, plateauLowerCoordY, plateauUpperCoordX, plateauUpperCoordY); var result = Record.Exception(() => Rover.GetNewRover(coordX, coordY, directionInfo, borderStrategy)); Assert.NotNull(result); Assert.IsType <OutOfPlateauException>(result); }
public void TurnRightWhenTurnRightIsCalled() { int coordX = 1; int coordY = 0; char directionInfo = 'N'; BorderStrategy borderStrategy = new WaitAtTheBorderStrategy(plateauLowerCoordX, plateauLowerCoordY, plateauUpperCoordX, plateauUpperCoordY); var rover = Rover.GetNewRover(coordX, coordY, directionInfo, borderStrategy); rover.TurnRight(); char expectedDirection = 'E'; Assert.Equal(expectedDirection, rover.GetDirection()); }
public void MoveRoverForwardWhenMoveCommandIsGiven() { int coordX = 1; int coordY = 0; char directionInfo = 'N'; BorderStrategy borderStrategy = new WaitAtTheBorderStrategy(plateauLowerCoordX, plateauLowerCoordY, plateauUpperCoordX, plateauUpperCoordY); var rover = Rover.GetNewRover(coordX, coordY, directionInfo, borderStrategy); rover.Move(); Coordinates expectedCoordinates = new Coordinates(1, 1); Assert.Equal(expectedCoordinates.coordX, rover.currentCoordinates.coordX); Assert.Equal(expectedCoordinates.coordY, rover.currentCoordinates.coordY); }