Пример #1
0
        public void CalculateDirectionPositionViaUnitCircle_ShouloldBeInRangeOf_0_360_And_MutillesOf90(int expect, int position, char input)
        {
            //Act
            var result = RoverUtils.CalculateDirectionPositionViaUnitCircle(position, input);

            // Assert
            Assert.Equal(result, expect);
        }
Пример #2
0
        public void ConvertPositionToCompassLetter_ShouldBeOnofCompassLetter(char expected, int input)
        {
            //Act
            var act = RoverUtils.ConvertPositionToCompassLetter(input);

            // Assert
            Assert.Equal(expected, act);
        }
Пример #3
0
        public void ConvertCompassCharToPositon_ShouldBeInrangeInRangeOf_0_360_And_MutillesOf90(int expected, char input)
        {
            //Act
            var act = RoverUtils.ConvertCompassCharToPositon(input);

            // Assert
            Assert.Equal(expected, act);
        }
Пример #4
0
        private void ApplyMove(Plateau plateau)
        {
            int nextX;
            int nextY;

            if (RoverUtils.IsMoveDirectiveAvailable(plateau, this, out nextX, out nextY))
            {
                X = nextX;
                Y = nextY;
            }
        }
Пример #5
0
 public Rover(int x, int y, char positionLetter)
 {
     if (x > 0 && y > 0 && InputValidator.IsInitialCommpassValid(positionLetter))
     {
         X                  = x;
         Y                  = y;
         Position           = RoverUtils.ConvertCompassCharToPositon(positionLetter);
         _waitindDirections = new Queue <char>();
     }
     else
     {
         throw new ArgumentException(ErrorMessages.InvalidCompassMessageAndCoordinatsMessage, "compassAndDimension");
     }
 }
Пример #6
0
        public void IsMoveDirectiveAvailable_ShouldBeFalseWhenNextStepInPlatoDimention(int plateauX, int plateauY, int roverX, int roverY, char compass)
        {
            //Arrange
            var plateau = new Plateau(plateauX, plateauY);
            var rover   = new Rover(roverX, roverY, compass);
            int nextX;
            int nextY;


            //Act
            var act = RoverUtils.IsMoveDirectiveAvailable(plateau, rover, out nextX, out nextY);

            // Assert
            Assert.False(act);
        }
Пример #7
0
 private void ApplyDirecitonDirective(char directive)
 {
     Position = RoverUtils.CalculateDirectionPositionViaUnitCircle(Position, directive);
 }