예제 #1
0
        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());
        }
예제 #2
0
        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);
        }
예제 #3
0
        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());
        }
예제 #4
0
        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);
        }