public IActionResult Post(RoverModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model.RoverId <= 0) { return(BadRequest("Id should be a positive integer value.")); } try { var rover = RoverFactory.Create(model.RoverId, model.RoverName, 0, 0, Direction.N); return(Ok(new { RoverId = rover.Id, RoverName = rover.Name })); } catch (System.Exception ex) { if (ex.Message == "EXISTS") { return(Conflict(new ApiResponse { Status = 409, Message = "Rover already exists, Cannot be created" })); } else { return(StatusCode(500)); } } }
public IActionResult Post(RoverModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model.RoverId <= 0) { return(BadRequest(Messages.InvalidId)); } try { var rover = RoverFactory.Create(model.RoverId, model.RoverName, 0, 0, Direction.N); return(Ok(new { RoverId = rover.Id, RoverName = rover.Name })); } catch (System.Exception ex) { if (ex.Message == "EXISTS") { return(Conflict(new ApiResponse { Status = 409, Message = Messages.RoverAlreadyExist })); } else { return(StatusCode(500)); } } }
public void Test_Run_Should_Move_To_13N_When_Given_Input() { //Given RoverRunner roverRunner = new RoverRunner(); roverRunner.Add(RoverFactory.Create(1, 2, 'N', "Rover", new Plateau(5, 5)), "LMLMLMLMM"); //When var result = roverRunner.Run(); //Then Assert.Equal("1 3 N", result[0]); }
public void Test_Run_Should_Move_To_51E_When_Given_Input() { //Given RoverRunner roverRunner = new RoverRunner(); roverRunner.Add(RoverFactory.Create(3, 3, 'E', "Rover", new Plateau(5, 5)), "MMRMMRMRRM"); //When var result = roverRunner.Run(); //Then Assert.Equal("5 1 E", result[0]); }
public void Test_Run_Should_Move_All_Rovers_Sequentially_When_Given_Input() { //Given RoverRunner roverRunner = new RoverRunner(); roverRunner.Add(RoverFactory.Create(1, 2, 'N', "Rover-1", new Plateau(5, 5)), "LMLMLMLMM"); roverRunner.Add(RoverFactory.Create(3, 3, 'E', "Rover-2", new Plateau(5, 5)), "MMRMMRMRRM"); //When var result = roverRunner.Run(); //Then Assert.Equal("1 3 N", result[0]); Assert.Equal("5 1 E", result[1]); }
public string LandRover(char direction, int x, int y) { ActiveRover = RoverFactory.Create(direction, x, y); return(ActiveRover.Position); }