public IActionResult Input(InputModel inputModel) { try { if (ModelState.IsValid) { _plateauService.IsValidPositionOnThePlateau(inputModel.Plateau.PlateauPosition); _plateauService.SetPlateauPosition(inputModel.Plateau.PlateauPosition); foreach (var rover in inputModel.RoverList) { _plateauService.IsValidRoverPositionOnThePlateau(rover.RoverPosition); _roverService.TakeAction(inputModel, rover); } } } catch (Exception ex) { ConfigureMeaningfulErrorMessage(ex); } return(View(inputModel)); }
public void TakeAction_Should_Return_As_Expected(RoverServiceTestParameter parameter) { _roverService.TakeAction(parameter.InputModel, parameter.InputModel.RoverList.FirstOrDefault()); Assert.Equal(parameter.Expected.ToString(), parameter.InputModel.RoverList.FirstOrDefault().RoverPosition.ToString()); }