public void GetCityWeatherForecastWeekTest() { var request = new Mock <IRequest>(); var jsonDay = "{\"values\":{\"cloudCover\":79.34,\"temperature\":9.63,\"windDirection\":302.17,\"windSpeed\":5.38}},"; var temp = string.Concat(Enumerable.Repeat(jsonDay, 7)); var temp2 = temp.Remove(temp.LastIndexOf(','), 1); var jsonWeekString = "{\"data\":{\"timelines\":[{\"intervals\":[" + temp2 + "]}]}}"; request.Setup(x => x.Get()).Returns(jsonWeekString); request.Setup(x => x.Connected).Returns(true); var site = new TomorrowIO(WeatherParameter.Week); var result = site.GetCityWeatherForecast(request.Object); Assert.IsNotNull(result); Assert.IsTrue(result.Source == "TomorrowIO"); Assert.IsTrue(result.ErrorMessage == "No errors"); foreach (var todayWeather in result.Forecast) { Assert.IsTrue(todayWeather.CelsiusTemperature == "9,63"); Assert.IsTrue(todayWeather.FahrenheitTemperature == "49,33"); Assert.IsTrue(todayWeather.Humidity == "No data"); Assert.IsTrue(todayWeather.CloudCover == "79,34"); Assert.IsTrue(todayWeather.WindSpeed == "5,38"); Assert.IsTrue(todayWeather.WindDirection == "302,17"); } }
public void ChangeParameterTest() { var site = new TomorrowIO(WeatherParameter.Current); site.ChangeParameter(WeatherParameter.Week); Assert.AreEqual(site.Parameter, WeatherParameter.Week); }
public void TomorrowIOGoodParseTest() { var json = "{\"data\":{\"timelines\":[{\"timestep\":\"current\",\"endTime\":\"2022-05-04T03:51:08.414306786+03:00\",\"startTime\":\"2022-05-04T03:51:08.414306786+03:00\",\"intervals\":[{\"startTime\":\"2022-05-04T03:51:08.414306786+03:00\",\"values\":{\"cloudCover\":5,\"humidity\":5,\"precipitationIntensity\":0,\"precipitationProbability\":0,\"precipitationType\":0,\"temperature\":5,\"windDirection\":5,\"windSpeed\":3}}]}]}}"; var site = new TomorrowIO(); IsParseGoodData(site, json); Assert.AreEqual("Precipitation type: Clear, precipitation intensity: 0 mm/hr, precipitation probability: 0 %", site.WeatherInfo.Precipitation); DateTime dateTime = DateTime.Parse("2022-05-04T03:51:08.414306786+03:00", null, System.Globalization.DateTimeStyles.RoundtripKind); Assert.AreEqual(dateTime, site.WeatherInfo.Time); }
public void ConstructorTest() { // first case var firstSite = new TomorrowIO(WeatherParameter.Current); Assert.IsNotNull(firstSite); Assert.AreEqual(firstSite.Name, "TomorrowIO"); Assert.AreEqual(firstSite.Parameter, WeatherParameter.Current); // second case var secondSite = new TomorrowIO(WeatherParameter.Week); Assert.IsNotNull(secondSite); Assert.AreEqual(secondSite.Name, "TomorrowIO"); Assert.AreEqual(secondSite.Parameter, WeatherParameter.Week); }
public void GetCityWeatherForecastDayTest() { var request = new Mock <IRequest>(); var jsonString = "{\"data\":{\"timelines\":[{\"intervals\":[{\"values\":{\"cloudCover\":51,\"temperature\":9,\"windDirection\":307.81,\"windSpeed\":4.19}}]}]}}"; request.Setup(x => x.Get()).Returns(jsonString); request.Setup(x => x.Connected).Returns(true); var site = new TomorrowIO(); var result = site.GetCityWeatherForecast(request.Object); var todayWeather = result.Forecast[0]; Assert.IsNotNull(result); Assert.IsTrue(result.Source == "TomorrowIO"); Assert.IsTrue(result.ErrorMessage == "No errors"); Assert.IsTrue(todayWeather.CelsiusTemperature == "9"); Assert.IsTrue(todayWeather.FahrenheitTemperature == "48,2"); Assert.IsTrue(todayWeather.Humidity == "No data"); Assert.IsTrue(todayWeather.CloudCover == "51"); Assert.IsTrue(todayWeather.WindSpeed == "4,19"); Assert.IsTrue(todayWeather.WindDirection == "307,81"); }
public void TomorrowIOTest() { var site = new TomorrowIO(); Assert.AreEqual("tomorrow.io", site.SiteAddress); }