Example #1
0
        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);
        }
Example #2
0
        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);
        }