示例#1
0
        public async Task Should_HaveOneConnection_When_OriginHasDirectRouteToDestination()
        {
            //Act
            var shortestRoute = await _service.GetShortestRoute(new Airport { Iata3 = "JFK" }, new Airport { Iata3 = "YYZ" });

            //Assert
            _repository.Verify(m => m.GetRoutes(It.IsAny <string>(), It.IsAny <string>()), Times.Once);
            _repository.Verify(m => m.GetRoutesInRange(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <double>()), Times.Never);

            Assert.NotNull(shortestRoute);
            Assert.Equal(2, shortestRoute.Split(" -> ").Length);
        }
        private async Task <string> GetShortestRoute(List <Airport> airports, string originIata3, string destinationIata3)
        {
            Airport origin;
            Airport destination;
            int     originIndex      = -1;
            int     destinationIndex = -1;

            if (airports[0].Iata3 == originIata3)
            {
                originIndex      = 0;
                destinationIndex = 1;
            }
            else
            {
                originIndex      = 1;
                destinationIndex = 0;
            }

            origin      = airports[originIndex];
            destination = airports[destinationIndex];

            return(await _service.GetShortestRoute(origin, destination));
        }