示例#1
0
        public void RouteDistanceTest()
        {
            string graphInfo = "AB5, BC4, CD8, DC8, DE6, AD5, CE2, EB3, AE7";

            GraphModel graph = GraphService.PopulateGraphModel(graphInfo);

            Assert.AreEqual(9, GraphService.CalculateRouteDistance(graph, "A-B-C"));
            Assert.AreEqual(5, GraphService.CalculateRouteDistance(graph, "A-D"));
            Assert.AreEqual(13, GraphService.CalculateRouteDistance(graph, "A-D-C"));
            Assert.AreEqual(22, GraphService.CalculateRouteDistance(graph, "A-E-B-C-D"));
            Assert.AreEqual(-1, GraphService.CalculateRouteDistance(graph, "A-E-D"));
        }
示例#2
0
        public ActionResult GetRouteDistance(GraphModel graph, string routePath)
        {
            var response = graphService.CalculateRouteDistance(graph, routePath);

            if (response == -1)
            {
                return(Json("No SUCH ROUTE"));
            }

            return(Json(response));
        }