Пример #1
0
        static void Main(string[] args)
        {
            MarsRoverManager manager = new MarsRoverManager();

            manager.Start();
            manager.WriteOutput();
            Console.ReadKey();
        }
Пример #2
0
        public void ExecuteCommand_ShouldBeException_GetInvalidCommandException(int width, int height, int pointX, int pointY, Rotation rotation, string command)
        {
            var plateau  = new Plateau(width, height);
            var location = new Location(pointX, pointY);
            var rover    = new MarsRover();

            rover.SetPlateau(plateau);
            rover.SetLocation(location, rotation);
            var roverManager = new MarsRoverManager(rover);

            Assert.Throws <InvalidCommandException>(() => roverManager.ExecuteCommand(command));
        }
        public void ExecuteCommand_ShouldBeEquals_GetExpectedResult(int width, int height, int pointX, int pointY, Rotation rotation, string command, string expectedResult)
        {
            var plateau  = new Plateau(width, height);
            var location = new Location(pointX, pointY);
            var _rover   = new MarsRover();

            _rover.SetPlateau(plateau);
            _rover.SetLocation(location, rotation);
            var _roverManager = new MarsRoverManager(_rover);

            _roverManager.ExecuteCommand(command);
            Assert.Equal(expectedResult, _roverManager.GetStatusText());
        }
Пример #4
0
        static void Main(string[] args)
        {
            ConsoleInputManager inputManager = new ConsoleInputManager();

            UpperRightCoordinateModel upperRightCoordinate = inputManager.Get <UpperRightCoordinateModel>(new UpperRightInputMessage(), new UpperRightInputValidation(), new UpperRightInputParser());

            MarsRoverPositionModel marsRoverPosition = inputManager.Get <MarsRoverPositionModel>(new MarsRoverPositionInputMessage(), new MarsRoverPositionInputValidation(), new MarsRoverPositionInputParser());

            List <char> roverInstructions = inputManager.Get <List <char> >(new RoverInstructionInputMessage(), new RoverInstructionInputValidation(), new RoverInstructionInputParser());

            MarsRoverManager MarsRoverManager = new MarsRoverManager(marsRoverPosition, upperRightCoordinate);

            var result = MarsRoverManager.Run(roverInstructions);

            Console.WriteLine(result.ToString());

            Console.ReadLine();
        }