예제 #1
0
        public void Returns_Rover_Final_Coordinate_Correctly_When_Rover_Initial_Alignment_Is_South_And_Move_Command_Is_F_F_R_F_F()
        {
            //Arrange
            int roverInitialXCoordinate = 0;
            int roverInitialYCoordinate = 0;
            //char[] roverMoveCommand = { 'F', 'F', 'R', 'F', 'F' };
            char roverMoveCommand1 = 'F';
            char roverMoveCommand2 = 'F';
            char roverMoveCommand3 = 'R';
            char roverMoveCommand4 = 'F';
            char roverMoveCommand5 = 'F';

            //Act
            RoverFinalPositionServices myRoverPosition  = new RoverFinalPositionServices();
            RoverAlignmentService      myRoverAlignment = new RoverAlignmentService();
            int    roverYCoordinateAfterMoveCommand1    = myRoverPosition.GetRoversFinalCoordinateWhenItsIntialAlignmentIsSouthAndMoveCommandIsForward(roverInitialYCoordinate);
            int    roverYCoordinateAfterMoveCommand2    = myRoverPosition.GetRoversFinalCoordinateWhenItsIntialAlignmentIsSouthAndMoveCommandIsForward(roverYCoordinateAfterMoveCommand1);
            string roverAlignmentAfterMoveCommand3      = myRoverAlignment.GetChangedRoverAlignmentWhenInitialAlignmentIsSouthAndMotionInstructionIsR(roverMoveCommand3);
            int    roverXCoordinateAfterMoveCommand4    = myRoverPosition.GetRoversFinalCoordinateWhenItsIntialAlignmentIsWestAndMoveCommandIsForward(roverInitialXCoordinate);
            int    roverXCoordinateAfterMoveCommand5    = myRoverPosition.GetRoversFinalCoordinateWhenItsIntialAlignmentIsWestAndMoveCommandIsForward(roverXCoordinateAfterMoveCommand4);

            string actualRoverFinalCoordinate = roverYCoordinateAfterMoveCommand2.ToString() + roverXCoordinateAfterMoveCommand5.ToString() + roverAlignmentAfterMoveCommand3;

            //Assert
            Assert.AreEqual(actualRoverFinalCoordinate, "-2-2W");
        }
예제 #2
0
        public void Changing_Rover_Alignment_When_Rover_Aligment_Is_South_And_Motion_Instruction_Is_R()
        {
            //Arrange

            char roverMoveCommand = 'R';
            //Act
            RoverAlignmentService myRoverAlignment = new RoverAlignmentService();
            string actualRoverChangeAlignment      = myRoverAlignment.GetChangedRoverAlignmentWhenInitialAlignmentIsSouthAndMotionInstructionIsR(roverMoveCommand);

            //Assert
            Assert.AreEqual(actualRoverChangeAlignment, "W");
        }