Ejemplo n.º 1
0
        public void ShortestPath_RequestWith_Same_SourceAndDestination_ShouldReturn200()
        {
            //Arrange
            var expectedModelResponse = new ShortestResponse()
            {
                Routepath = "A",
                Cost      = 0 //cost must to 0
            };

            //Act
            var actualResult = controller.ShortestPath(new SearchReq()
            {
                source = "A", destination = "A"
            });
            var objContent = actualResult.Content as ObjectContent;

            Assert.NotNull(objContent);
            var actualResponse = objContent.Value as ShortestResponse;

            Assert.NotNull(actualResponse);

            //Assert
            Assert.AreEqual(HttpStatusCode.OK, actualResult.StatusCode);
            Assert.AreEqual(expectedModelResponse.Routepath, actualResponse.Routepath);
            Assert.NotNull(actualResponse.Stations);
            Assert.IsTrue(actualResponse.Stations.Count == 1);
        }
Ejemplo n.º 2
0
        public ShortestResponse GetShortestPath(SearchReq request)
        {
            MethodBase currentMethod = MethodBase.GetCurrentMethod();

            try
            {
                Dijkstra dijkstra = new Dijkstra();
                dijkstra.ShortestPath(request.source, request.destination);
                var response = new ShortestResponse();
                response.Stations  = new List <Stations>();
                response.Stations  = dijkstra.stations;
                response.Routepath = dijkstra.routpath;
                response.Cost      = dijkstra.Cost;
                return(response);
            }
            catch (Exception ex)
            {
                AirlineLogManager.Error(null, CurrentClass, currentMethod, ex);
            }
            return(null);
        }
Ejemplo n.º 3
0
        public void SearchByRoutePath_RequestWith_RoutePath_ShouldReturn200()
        {
            //Arrange
            var expectedModelResponse = new ShortestResponse()
            {
                Routepath = "A-B-E-C-G-H-I-D",
            };

            //Act
            var actualResult = controller.SearchByRoutePath("A-B-E-C-G-H-I-D");
            var objContent   = actualResult.Content as ObjectContent;

            Assert.NotNull(objContent);
            var actualResponse = objContent.Value as ShortestResponse;

            Assert.NotNull(actualResponse);

            //Assert
            Assert.AreEqual(HttpStatusCode.OK, actualResult.StatusCode);
            Assert.AreEqual(expectedModelResponse.Routepath, actualResponse.Routepath);
            Assert.NotNull(actualResponse.Stations);
            Assert.IsTrue(actualResponse.Stations.Count > 0);
        }