コード例 #1
0
        public void GetDistanceInMeters_SetCoords_ReturnCorrectResult(double lat1, double lon1, double lat2,
                                                                      double lon2, double expectedResult)
        {
            // arrange
            // act
            var result = _service.GetDistanceInMeters(lat1, lon1, lat2, lon2);

            // assert
            Assert.True(Equals(result, expectedResult));
        }
コード例 #2
0
        public async Task <IEnumerable <Flight> > GetFlightsAsync()
        {
            var flights = await _flightsRepository.GetFlightsAsync();

            IList <Flight> flightWebModels = new List <Flight>();

            foreach (var flight in flights)
            {
                var distanceInMetres = _distanceService.GetDistanceInMeters(flight.DepartureAirport.Latitude,
                                                                            flight.DepartureAirport.Longitude, flight.ArrivalAirport.Latitude, flight.ArrivalAirport.Longitude);
                var estimatedFuelConsumption = _flightInformationService.GetEstimatedFuelNeedInMeters(distanceInMetres);
                var flightWebModel           = _mappingService.GetFlight(flight, distanceInMetres, estimatedFuelConsumption);
                flightWebModels.Add(flightWebModel);
            }
            return(flightWebModels);
        }
コード例 #3
0
            public async Task <Result <double> > Handle(GetDistanceBetweenAirportsQuery request,
                                                        CancellationToken cancellationToken)
            {
                var fromTask = Task.Run(() => _airportService.GetAirport(request.From), cancellationToken);
                var toTask   = Task.Run(() => _airportService.GetAirport(request.To), cancellationToken);
                await Task.WhenAll(fromTask, toTask);

                var fromAirport = fromTask.Result;
                var toAirport   = toTask.Result;

                if (fromAirport?.Location == null || toAirport?.Location == null)
                {
                    return(Result.Failure <double>("Couldn't get an additional information about airports."));
                }

                var metersDistance = _distanceService.GetDistanceInMeters(fromAirport.Location, toAirport.Location);
                var miles          = _distanceService.ToMiles(metersDistance);

                return(Result.Success(miles));
            }