Beispiel #1
0
        public void ExecuteInput_With_Direction_Commands_And_Position_Being_Set(int x, int y, string inputDirection, string inputcommand,
                                                                                int expectedXcoordinate, int expectedYCoordinate, string expectedDirection)
        {
            //Arrange
            ICardinalDirection direction = null;

            switch (inputDirection)
            {
            case "East":
                direction = new East(_grid);
                break;

            case "North":
                direction = new North(_grid);
                break;

            case "West":
                direction = new West(_grid);
                break;

            case "South":
                direction = new South(_grid);
                break;
            }

            var rover = new Rover(_grid, _commandList);

            //Act
            _grid.ValidateInputCoordinates(x, y);
            rover.SetDirection(direction);
            rover.ExecuteCommands(inputcommand);


            //Assert
            Assert.That(rover.CoordinateX, Is.EqualTo(expectedXcoordinate));
            Assert.That(rover.CoordinateY, Is.EqualTo(expectedYCoordinate));
            Assert.That(rover.Direction.ToString(), Is.EqualTo(expectedDirection));
        }
Beispiel #2
0
 public void TurnRight()
 {
     Direction = Direction.TurnRight();
 }
Beispiel #3
0
 public void TurnLeft()
 {
     Direction = Direction.TurnLeft();
 }
Beispiel #4
0
 public ICardinalDirection SetDirection(ICardinalDirection direction)
 {
     Direction = direction;
     return(Direction);
 }