Beispiel #1
0
        public void SetDate_DateEarlierThan1900_ThrowsException(int year, int month, int day)
        {
            var builder = new WeatherDataBuilder();
            var date    = new DateTime(year, month, day);

            Assert.ThrowsAny <InvalidOperationException>(() => builder.SetDate(date));
        }
Beispiel #2
0
        public void SetDate_ProperlySetsValue()
        {
            var builder = new WeatherDataBuilder();
            var date    = new DateTime(2020, 01, 01, 10, 11, 1);

            builder.SetDate(date);
            var data = builder.Build();

            Assert.Equal(date, data.Date);
        }
Beispiel #3
0
        protected override WeatherData BuildWeatherDataFromDynamicObject(dynamic o)
        {
            var builder = new WeatherDataBuilder();

            builder.SetDate((DateTime)o.Date)
            .SetMinTemperature((float)o.Temperature.Minimum.Value, TemperatureScale.Celsius)
            .SetMaxTemperature((float)o.Temperature.Maximum.Value, TemperatureScale.Celsius)
            .SetWindDirection((int)o.Day.Wind.Direction.Degrees)
            .SetWindSpeed((float)o.Day.Wind.Speed.Value, WindSpeedUnit.KilometersPerHour)
            .SetChanceOfRain((int)o.Day.PrecipitationProbability)
            .SetPrecipitationSummary((float)o.Day.TotalLiquid.Value)
            .SetWeatherCode((int)o.Day.Icon)
            .SetWeatherDescription((string)o.Day.IconPhrase);
            return(builder.Build());
        }
Beispiel #4
0
        protected override WeatherData BuildWeatherDataFromDynamicObject(dynamic o)
        {
            var builder = new WeatherDataBuilder();

            _ = builder.SetDate(_dateProvider.GetActualDateTime())
                .SetTemperature((float)o.temp, TemperatureScale.Celsius)
                .SetApparentTemperature((float)o.app_temp, TemperatureScale.Celsius)
                .SetWindDirection((int)o.wind_dir)
                .SetWindSpeed((float)o.wind_spd, WindSpeedUnit.MetersPerSecond)
                .SetPressure((int)o.slp)
                .SetHumidity((int)o.rh)
                .SetPrecipitationSummary((float)o.precip)
                .SetWeatherDescription((string)o.weather.description)
                .SetWeatherCode((int)o.weather.code);
            return(builder.Build());
        }