public void OpenWeatherMapGoodJsonParseTest() { var json = new JObject( new JProperty("coord", new JObject(new JProperty("lon", 30.24), new JProperty("lat", 59.94))), new JProperty("weather", new JArray(new JObject(new JProperty("id", 800), new JProperty("main", "Clear"), new JProperty("description", "clear sky"), new JProperty("icon", "01d")))), new JProperty("base", "stations"), new JProperty("main", new JObject(new JProperty("temp", 273.15), new JProperty("feels_like", 284.72), new JProperty("temp_min", 286.21), new JProperty("temp_max", 286.21), new JProperty("pressure", 1024), new JProperty("humidity", 0))), new JProperty("visibility", 10000), new JProperty("wind", new JObject(new JProperty("speed", 0), new JProperty("deg", 360))), new JProperty("clouds", new JObject(new JProperty("all", 0))), new JProperty("dt", 1650470597), new JProperty("sys", new JObject(new JProperty("type", 1), new JProperty("id", 8926), new JProperty("country", "RU"), new JProperty("sunrise", 1650421705), new JProperty("sunset", 1650475630))), new JProperty("timezone", 10800), new JProperty("id", 536203), new JProperty("name", "Saint Petersburg"), new JProperty("cod", 200)).ToString(); var weather = new Weather(); OpenWeatherMapParser.Parse(weather, json); Assert.AreEqual(0, weather.TempInCelsius); Assert.AreEqual(32, weather.TempInFahrenheit); Assert.AreEqual(0, weather.Humidity); Assert.AreEqual(0, weather.Cloudiness); Assert.AreEqual("North", weather.WindDirection); Assert.AreEqual(0, weather.WindSpeed); Assert.AreEqual("Clear", weather.Precipitation); }
public void OpenWeatherMapBadJsonParseTest() { string?json = null; var weather = new Weather(); OpenWeatherMapParser.Parse(weather, json); var props = typeof(Weather).GetProperties(); foreach (var prop in props) { Assert.IsNull(prop.GetValue(weather)); } }