/
dashytka
/
WeatherForecast
Обзор
Документация
Войти
/
dashytka
/
WeatherForecast
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
c
113 строк
4 KB
dashytka
create c#
26 ноя 2025, 18:57
26 ноя 2025, 18:57
ecc5a59
Код
Авторство
О чём код?
using System; namespace WeatherForecast { public class TemperatureConverter { public static double CelsiusToFahrenheit(double celsius) { var fahrenheit = celsius * 9 / 5 + 32; return fahrenheit; } public static double FahrenheitToCelsius(double fahrenheit) { var celsius = (fahrenheit - 32) * 5 / 9; return celsius; } public static string GetTemperatureDescription(double celsius) { return celsius switch { < -20 => "Extreme Cold", < 0 => "Freezing", < 10 => "Cold", < 20 => "Cool", < 25 => "Comfortable", < 30 => "Warm", < 35 => "Hot", _ => "Extreme Heat" }; } } public class WeatherReport { public string GenerateDailyReport(string city, double temperatureCelsius, string condition) { var temperatureFahrenheit = TemperatureConverter.CelsiusToFahrenheit(temperatureCelsius); var description = TemperatureConverter.GetTemperatureDescription(temperatureCelsius); var report = $""" WEATHER REPORT FOR {city.ToUpper()} Temperature: {temperatureCelsius:0.0}°C ({temperatureFahrenheit:0.0}°F) Condition: {condition} Description: {description} Reported at: {DateTime.Now:yyyy-MM-dd HH:mm} """; return report; } } [TestFixture] public class TemperatureConverterTests { [Test] public void CelsiusToFahrenheit_ConvertsCorrectly_WhenGivenValidTemperature() { var celsius = 25.0; var result = TemperatureConverter.CelsiusToFahrenheit(celsius); var expected = 77.0; Assert.AreEqual(expected, result, 0.1); } [Test] public void FahrenheitToCelsius_ConvertsCorrectly_WhenGivenValidTemperature() { var fahrenheit = 77.0; var result = TemperatureConverter.FahrenheitToCelsius(fahrenheit); var expected = 25.0; Assert.AreEqual(expected, result, 0.1); } [Test] public void GetTemperatureDescription_ReturnsCorrectDescription_ForVariousTemperatures() { var coldTemperature = -5.0; var coldResult = TemperatureConverter.GetTemperatureDescription(coldTemperature); Assert.AreEqual("Freezing", coldResult); var comfortableTemperature = 22.0; var comfortableResult = TemperatureConverter.GetTemperatureDescription(comfortableTemperature); Assert.AreEqual("Comfortable", comfortableResult); } } [TestFixture] public class WeatherReportTests { [Test] public void GenerateDailyReport_ContainsAllRequiredInformation_WhenValidDataProvided() { var weatherReport = new WeatherReport(); var report = weatherReport.GenerateDailyReport("London", 18.5, "Partly Cloudy"); Assert.IsTrue(report.Contains("LONDON")); Assert.IsTrue(report.Contains("18.5°C")); Assert.IsTrue(report.Contains("Partly Cloudy")); Assert.IsTrue(report.Contains("Comfortable")); } [Test] public void GenerateDailyReport_IncludesFahrenheitConversion_WhenCelsiusTemperatureProvided() { var weatherReport = new WeatherReport(); var report = weatherReport.GenerateDailyReport("New York", 0.0, "Snowy"); Assert.IsTrue(report.Contains("0.0°C")); Assert.IsTrue(report.Contains("32.0°F")); } } }