public async Task <List <ForecastDisplay> > GetForecastAsync(CityModel city) { var forecast = await _forecastService.GetForecastByCoordsAsync(city.Latitude, city.Longitude).ConfigureAwait(false); var forecastedResults = forecast.GetHighestTimeSeries(); var result = new List <ForecastDisplay>(); foreach (var forecastedResult in forecastedResults) { var forecastDisplay = new ForecastDisplay { AirPressure = forecastedResult.Msl.ToString(), Temperature = forecastedResult.T.ToString(), WindSpeed = forecastedResult.Ws.ToString(), WindDirection = forecastedResult.Wd.ToString(), Date = forecastedResult.ValidTime.Date.ToString() }; if (forecastedResult.ValidTime.Date == DateTime.Today) { forecastDisplay.DayName = "Today"; } else if (forecastedResult.ValidTime.Date == DateTime.Today.AddDays(1)) { forecastDisplay.DayName = "Tomorrow"; } else { forecastDisplay.DayName = forecastedResult.ValidTime.Date.DayOfWeek.ToString(); } result.Add(forecastDisplay); } return(result); }
public async Task Test_GetForecastByCoordsAsync() { // Arrange var service = new WeatherForecastService(); const double latitude = 59.334415; const double longitude = 18.110103; // Act var forecast = await service.GetForecastByCoordsAsync(latitude, longitude); // Assert Assert.IsNotNull(forecast); }