コード例 #1
0
ファイル: HomeModel.cs プロジェクト: GinsengSage/GreenBox
        public static (string, string, byte[], int) GetWhether(string city)
        {
            try
            {
                string url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&units=metric&appid=2346f27428e58418899df7cbaf76c849";

                HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);

                HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

                string response;

                using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
                {
                    response = streamReader.ReadToEnd();
                }

                WeatherResponce ow = JsonConvert.DeserializeObject <WeatherResponce>(response);

                var tuple = (ow.Name, ow.Weather[0].description, ow.Weather[0].Icon, (int)ow.Main.temp);

                return(tuple);
            }
            catch { return("", "", null, 0); }
        }
コード例 #2
0
 public void test_get_temperature_for_Yoshkar_Ola()
 {
     weatherResponce = Utils.GetWeather(cityID, metrics, validAPI);
     Console.WriteLine("Полученая температура " + weatherResponce.main.temp + "°C");
     Assert.Less(weatherResponce.main.temp, 70, "Не может быть больше 70");
     Assert.Greater(weatherResponce.main.temp, -50, "Не может быть меньше -50C");
 }
コード例 #3
0
        public void test_does_received_JSON_have_correct_date()
        {
            weatherResponce = Utils.GetWeather(cityID, metrics, validAPI);
            var dateJSON = Utils.UnixTimeStampToDateTime(weatherResponce.dt);

            Console.WriteLine("Получена дата: " + dateJSON);
            Assert.That(dateJSON.Day == DateTime.Now.Day, "Не верный день в полученном JSON");
        }
コード例 #4
0
 public void test_get_status_404_message_wrong_city()
 {
     weatherResponce = Utils.GetWeather(wrongCityID, metrics, validAPI);
     Console.WriteLine("Получено сообщение: " + weatherResponce.message);
     Console.WriteLine("Получен код: " + weatherResponce.cod);
     Assert.That(weatherResponce.message == "city not found", "Город не должен был быть найден");
     Assert.That(weatherResponce.cod == 404, "Ошибка должна иметь код 404");
 }
コード例 #5
0
 public void test_get_status_401_invalid_api()
 {
     weatherResponce = Utils.GetWeather(cityID, metrics, invalidAPI);
     Console.WriteLine("Получено сообщение: " + weatherResponce.message);
     Console.WriteLine("Получен код: " + weatherResponce.cod);
     Assert.That(weatherResponce.message.Length >= 0, "Нет текста в сообщении об ошибке");
     Assert.That(weatherResponce.cod == 401, "Ошибка должна иметь код 401");
 }
コード例 #6
0
 public void test_get_status_400_not_city_id()
 {
     weatherResponce = Utils.GetWeather(notCityID, metrics, validAPI);
     Console.WriteLine("Получено сообщение: " + weatherResponce.message);
     Console.WriteLine("Получен код: " + weatherResponce.cod);
     Assert.That(weatherResponce.message.Contains("is not a city ID"), "Ожидалась,что для невалидного ИДа будет соответствующее сообщение");
     Assert.That(weatherResponce.cod == 400, "Ошибка должна иметь код 400");
 }
コード例 #7
0
 public void test_get_city_name_Yoshkar_Ola()
 {
     weatherResponce = Utils.GetWeather(cityID, metrics, validAPI);
     Console.WriteLine("Получено название пункта: " + weatherResponce.name);
     Assert.That(weatherResponce.name == "Yoshkar-Ola", "По ИДу нашлась не Йошкар-Ола");
 }
コード例 #8
0
 public void test_get_status_200_cod_ok()
 {
     weatherResponce = Utils.GetWeather(cityID, metrics, validAPI);
     Console.WriteLine("Получен код: " + weatherResponce.cod);
     Assert.That(weatherResponce.cod == 200, "Ожидался код 200");
 }