public void TestConstructingCampusMapBLL() { // Arrange // Action CampusMapBLL testObj = new CampusMapBLL(mapsControllerTestsUtilities.GetACampusMap()); // Assert Assert.IsNotNull(testObj); }
public void SetCampusMap(string Campus, CampusMapBLL CampusMap) { if (campuses.ContainsKey(Campus)) { campuses[Campus] = CampusMap; } else { campuses.Add(Campus, CampusMap); } }
public IHttpActionResult Get(string map, string node1, string node2) { CampusMapBLL campusMap = campusCache.GetCampusMap(map); if ((campusMap == null) || (!campusMap.AllKnownNodeIds.Contains(node1)) || (!campusMap.AllKnownNodeIds.Contains(node2))) { return(NotFound()); } Path path = campusMap.GetShortestPath(node1, node2); if ((path != null) && (path.distance != float.PositiveInfinity)) { return(Ok(path)); } return(BadRequest()); }
public void TestCampusMapBLL_GetShortestPath_RouteNotFound() { // Arrange string Node1 = "N1"; string Node2 = "N2"; // Action CampusMapBLL testObj = new CampusMapBLL(CampusMapBLLTestsUtilities.GetANoRouteCampusMap(Node1, Node2)); Path path = testObj.GetShortestPath(Node1, Node2); // Assert Assert.IsNotNull(path); Assert.AreEqual(float.PositiveInfinity, path.distance); Assert.AreEqual(1, path.path.Count); Assert.AreEqual(Node1, path.path[0]); }
public void TestCampusMapBLL_GetShortestPath_RouteFound3Hop() { // Arrange string Node1 = "N1"; string Node2 = "N2"; int nrHops = 3; // Action CampusMapBLL testObj = new CampusMapBLL(CampusMapBLLTestsUtilities.GetASimpleCampusMap3Hop(Node1, Node2)); Path path = testObj.GetShortestPath(Node1, Node2); // Assert Assert.IsNotNull(path); Assert.AreNotEqual(float.PositiveInfinity, path.distance); Assert.AreEqual(nrHops + 1, path.path.Count); // 3 Hops have 4 nodes Assert.AreEqual(Node1, path.path[0]); Assert.AreEqual(Node2, path.path[nrHops]); }
public void TestCampusMapBLL_GetShortestPath_RouteFoundWithCircularReference() { // Arrange string Node1 = "N1"; string Node2 = "N2"; int nrHops = 4; // Action CampusMapBLL testObj = new CampusMapBLL(CampusMapBLLTestsUtilities.GetACampusMapWithCircularReference(Node1, Node2, nrHops)); Path path = testObj.GetShortestPath(Node1, Node2); // Assert Assert.IsNotNull(path); Assert.AreNotEqual(float.PositiveInfinity, path.distance); Assert.AreEqual(nrHops + 1, path.path.Count); Assert.AreEqual(Node1, path.path[0]); Assert.AreEqual(Node2, path.path[nrHops]); }
public void TestCampusMapBLL_GetShortestPath_RouteFoundDeepWithShortCircuit() { // Arrange string Node1 = "N1"; string Node2 = "N2"; int goodRouteNrHops = 2; int badRouteNrHops = 3; // Action CampusMapBLL testObj = new CampusMapBLL(CampusMapBLLTestsUtilities.GetACampusMapWithShortCircuit(Node1, Node2, goodRouteNrHops, badRouteNrHops)); Path path = testObj.GetShortestPath(Node1, Node2); // Assert Assert.IsNotNull(path); Assert.AreNotEqual(float.PositiveInfinity, path.distance); Assert.AreEqual(goodRouteNrHops + 1, path.path.Count);// 4 Hops have 5 nodes Assert.AreEqual(Node1, path.path[0]); Assert.AreEqual(Node2, path.path[goodRouteNrHops]); }