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)); }
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); }
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)); }