public void Test_RobotPositionService_GetFinalPostion() { IDataService dataService = new DataService(); IRobotPositionService service = new RobotPositionService(dataService); IPositionStarting positionStarting1 = new PositionStarting { StartingXPosition = 1, StartingYPosition = 1, Orientation = 'E', Instructions = "RFRFRFRF" }; IPositionFinal positionFinal1 = service.GetFinalPostion(1, positionStarting1); Assert.AreEqual(1, positionFinal1.FinalXPosition); Assert.AreEqual(1, positionFinal1.FinalYPosition); Assert.AreEqual('E', positionFinal1.FinalOrientation); Assert.AreEqual(false, positionFinal1.Lost); IPositionStarting positionStarting2 = new PositionStarting { StartingXPosition = 3, StartingYPosition = 2, Orientation = 'N', Instructions = "FRRFLLFFRRFLL" }; IPositionFinal positionFinal2 = service.GetFinalPostion(1, positionStarting2); Assert.AreEqual(3, positionFinal2.FinalXPosition); Assert.AreEqual(3, positionFinal2.FinalYPosition); Assert.AreEqual('N', positionFinal2.FinalOrientation); Assert.AreEqual(true, positionFinal2.Lost); IPositionStarting positionStarting3 = new PositionStarting { StartingXPosition = 0, StartingYPosition = 3, Orientation = 'W', Instructions = "LLFFFLFLFL" }; IPositionFinal positionFinal3 = service.GetFinalPostion(1, positionStarting3); Assert.AreEqual(2, positionFinal3.FinalXPosition); Assert.AreEqual(3, positionFinal3.FinalYPosition); Assert.AreEqual('S', positionFinal3.FinalOrientation); Assert.AreEqual(false, positionFinal3.Lost); }
public void Test_RobotPositionWebAPI_EndPoint2_Grid_Id_Rover() { IGridCoordinate gridCoordinate = new GridCoordinate { MaxXCoordinate = 5, MaxYCoordinate = 3 }; IPositionStarting positionStarting1 = new PositionStarting { StartingXPosition = 1, StartingYPosition = 1, Orientation = 'E', Instructions = "RFRFRFRF" }; IPositionStarting positionStarting2 = new PositionStarting { StartingXPosition = 3, StartingYPosition = 2, Orientation = 'N', Instructions = "FRRFLLFFRRFLL" }; IPositionStarting positionStarting3 = new PositionStarting { StartingXPosition = 0, StartingYPosition = 3, Orientation = 'W', Instructions = "LLFFFLFLFL" }; string endPointURI = (new Uri(baseUri, "grid/1/rover")).ToString(); using (var client = new HttpClient()) { var response = client.PostAsync(endPointURI, GetStringContent(positionStarting1)).Result; Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { IPositionFinal positionFinal = JsonConvert.DeserializeObject <PositionFinal>(response.Content.ReadAsStringAsync().Result); Assert.AreEqual(1, positionFinal.FinalXPosition); Assert.AreEqual(1, positionFinal.FinalYPosition); Assert.AreEqual('E', positionFinal.FinalOrientation); Assert.AreEqual(false, positionFinal.Lost); } response = client.PostAsync(endPointURI, GetStringContent(positionStarting2)).Result; Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { IPositionFinal positionFinal = JsonConvert.DeserializeObject <PositionFinal>(response.Content.ReadAsStringAsync().Result); Assert.AreEqual(3, positionFinal.FinalXPosition); Assert.AreEqual(3, positionFinal.FinalYPosition); Assert.AreEqual('N', positionFinal.FinalOrientation); Assert.AreEqual(true, positionFinal.Lost); } response = client.PostAsync(endPointURI, GetStringContent(positionStarting3)).Result; Assert.IsTrue(response.IsSuccessStatusCode); if (response.IsSuccessStatusCode) { IPositionFinal positionFinal = JsonConvert.DeserializeObject <PositionFinal>(response.Content.ReadAsStringAsync().Result); Assert.AreEqual(2, positionFinal.FinalXPosition); Assert.AreEqual(3, positionFinal.FinalYPosition); Assert.AreEqual('S', positionFinal.FinalOrientation); Assert.AreEqual(false, positionFinal.Lost); } } }
public async Task <IPositionFinal> GetFinalPostionAsync(int gridId, PositionStarting value) { return(await _service.GetFinalPostionAsync(gridId, value)); }