コード例 #1
0
        public IActionResult Index(CoordinatesModel model)
        {
            // sets result for current rover
            var currentRover = model.Results[model.Results.Count - 1];

            try
            {
                // sets end coordinates
                _coordinatesService.SetEnd(model.MaxCoordinates);

                // sets start position of rover
                _coordinatesService.SetCurrentPosition(currentRover.CurrentPosition);

                // calculates coordinates depending on route
                currentRover.Result = _coordinatesService.Calculate(currentRover.Movement);

                // adds result to model
                model.Results.Add(new RoverResultModel());
                ModelState.Clear();
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("CustomError", ex.Message);
            }

            return(View(model));
        }
コード例 #2
0
        public void Calculate_Option1()
        {
            _coordinatesService.SetEnd(5, 5);
            _coordinatesService.SetCurrentPosition(1, 2, 'N');
            var result = _coordinatesService.Calculate("LMLMLMLMM");

            Assert.Equal("1 3 N", result);
        }