private void GetWeatherData(string query)
        {
            var hostDetails = new HostDetails("http", "api.openweathermap.org", "data/2.5/weather");
            var json        = JsonHost.GetJson(hostDetails, query);

            _data = JsonConvert.DeserializeObject <CurrentWeatherData>(json);
        }
        public void ValidApiCallTest()
        {
            const string expected = @"{""coord"":{""lon"":-0.13,""lat"":51.51},""weather"":[{""id"":300,""main"":""Drizzle"",""description"":""light intensity drizzle"",""icon"":""09d""}],""base"":""stations"",""main"":{""temp"":280.32,""pressure"":1012,""humidity"":81,""temp_min"":279.15,""temp_max"":281.15},""visibility"":10000,""wind"":{""speed"":4.1,""deg"":80},""clouds"":{""all"":90},""dt"":1485789600,""sys"":{""type"":1,""id"":5091,""message"":0.0103,""country"":""GB"",""sunrise"":1485762037,""sunset"":1485794875},""id"":2643743,""name"":""London"",""cod"":200}";

            var hostDetails = new HostDetails("http", "samples.openweathermap.org", "data/2.5/weather");
            var query       = "q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1";

            string actual = JsonHost.GetJson(hostDetails, query);

            Assert.AreEqual(expected, actual);
        }
        /// <summary>
        /// Initializes this class with a raw JSON call (not recommended for production)
        /// </summary>
        /// <param name="url">URL for API call</param>
        public CurrentWeather(string url)
        {
            var json = JsonHost.GetJson(url);

            _data = JsonConvert.DeserializeObject <CurrentWeatherData>(json);
        }