public void Test_MoveRover2(string size, string initialPosition, string directionList) { SurfaceHandler _surfaceHandler = new SurfaceHandler(); var surface = _surfaceHandler.CreateSurface(size); DeployRoverHandler deploy = new DeployRoverHandler(); var rover = deploy.DeployRover(initialPosition); Console.WriteLine("Rover Test", rover.Position.Position_X.ToString()); string directiveList = directionList; var directives = DirectiveHandler.DirectiveList(directiveList); foreach (var item in directives) { if (item == Domain.Enums.Directive.RotateRight) { RightDirectiveHandler.TurnRight(rover); } else if (item == Domain.Enums.Directive.MoveForward) { MoveDirectionHandler.Move(rover, surface); } else if (item == Domain.Enums.Directive.RotateLeft) { LeftDirectiveHandler.TurnLeft(rover); } } Assert.Equal(5, rover.Position.Position_X); Assert.Equal(1, rover.Position.Position_Y); Assert.Equal(Direction.E, rover.Position.Direction); }
private static (Domain.Rover, IList <Domain.Enums.Directive> directives) AddRover() { Console.WriteLine("Please set the initial rover position Eg:1 2 N"); string initialPosition = Console.ReadLine(); DeployRoverHandler deploy = new DeployRoverHandler(); var rover = deploy.DeployRover(initialPosition); Console.WriteLine("Please set the rover move list Eg:LLRMMRL"); string directiveList = Console.ReadLine(); var directives = DirectiveHandler.DirectiveList(directiveList); return(rover, directives); }