Exemple #1
0
        public static IDirection CreateDirection(char _direction)
        {
            IDirection roverDirection = null;

            switch (_direction)
            {
            case 'N':
                roverDirection = new NorthDirection();
                break;

            case 'W':
                roverDirection = new WestDirection();
                break;

            case 'S':
                roverDirection = new SouthDirection();
                break;

            case 'E':
                roverDirection = new EastDirection();
                break;

            default: break;
            }

            return(roverDirection);
        }
        public void When_Given_Coordinates_Then_It_Should_Remapping_EastDirection(int x, int y, int calc)
        {
            IDirection direction = new EastDirection();
            var        result    = direction.Remapping(new Coordinate(x, y));

            result.X.Should().Be(calc);
        }
        public void EastDirection_has_correct_name()
        {
            // Act
            var direction = new EastDirection();

            // Assert
            Assert.AreEqual("East", direction.Direction, "The travel direction was not correctly assigned.");
        }
        public void When_Given_Direction_and_Coordinates_Then_It_Should_MoveCommand_Execute(int x, int y)
        {
            ICoordinate coordinate = new Coordinate(x, y);
            IDirection  direction  = new EastDirection();
            ICommand    command    = new MoveCommand(direction, coordinate);
            var         result     = command.Execute();

            result.Should().NotBeNull();
            result.Coordinate.Should().NotBeNull();
            result.Direction.Should().NotBeNull();
        }
        public void EastDirection_has_correct_reverse_direction()
        {
            // Arrange
            var direction = new EastDirection();

            // Act
            ITravelDirection reverseDirection = direction.GetOppositeDirection();

            // Assert
            Assert.AreEqual("West", reverseDirection.Direction, "The opposite travel direction was not correctly returned.");
        }
        public void Given_EastDirection_When_TurnRight_Then_DirectionShouldBeSouth()
        {
            // Arrange
            EastDirection eastDirection = new EastDirection();

            // Act
            IDirection newDirection = eastDirection.TurnRight();

            // Assert
            newDirection.Should().BeOfType <SouthDirection>();
        }
        public void Given_EastDirection_When_MoveBackward_Then_ShouldMoveOneUnitLeft()
        {
            // Arrange
            EastDirection eastDirection = new EastDirection();

            // Act
            Position position    = Position.Origin;
            Position newPosition = eastDirection.MoveBackward(position);

            // Assert
            newPosition.Should().BeEquivalentTo(new Position(-1, 0));
        }
 public void SetUp()
 {
     eastDirection = new EastDirection();
 }