Example #1
0
        public void Should_ThrowException_When_SendInvalidCommands(int[] areaBoundaries, string[] startPosition, string commands)
        {
            var roverBot = new RoverBot.Vehicles.Roverbot(areaBoundaries)
            {
                X         = int.Parse(startPosition[0]),
                Y         = int.Parse(startPosition[1]),
                Direction = (Direction)Enum.Parse(typeof(Direction), startPosition[2])
            };

            Action act = () => roverBot.Move(commands);

            act.Should().Throw <Exception>()
            .WithMessage("Invalid command! Command: P");
        }
Example #2
0
        public void Should_ThrowException_When_RoverPositionIsOutOfDefinedBoundaries(int[] areaBoundaries, string[] startPosition, string commands)
        {
            var roverBot = new RoverBot.Vehicles.Roverbot(areaBoundaries)
            {
                X         = int.Parse(startPosition[0]),
                Y         = int.Parse(startPosition[1]),
                Direction = (Direction)Enum.Parse(typeof(Direction), startPosition[2])
            };

            Action act = () => roverBot.Move(commands);

            act.Should().Throw <Exception>()
            .WithMessage("The vehicle is out of defined boundaries. Vehicle points: (7, 4), Area Boundaries: (0,0) (4, 4)");
        }
Example #3
0
        public void Should_RoverBotMovingAsExpected_When_SendValidCommands(int[] areaBoundaries, string[] startPosition, string commands, string[] expectedposition)
        {
            var roverBot = new RoverBot.Vehicles.Roverbot(areaBoundaries)
            {
                X         = int.Parse(startPosition[0]),
                Y         = int.Parse(startPosition[1]),
                Direction = (Direction)Enum.Parse(typeof(Direction), startPosition[2])
            };

            roverBot.Move(commands);

            roverBot.X.Should().Be(int.Parse(expectedposition[0]));
            roverBot.Y.Should().Be(int.Parse(expectedposition[1]));
            roverBot.Direction.Should().Be((Direction)Enum.Parse(typeof(Direction), expectedposition[2]));
        }