Ejemplo n.º 1
0
        public void IsWet_LightRainSixHoursAgo_Dry()
        {
            // Assign
            var systemTime = new TestSystemTime(2018, 8, 13, 18, 0);

            // Forecasted weather
            var smhi = new TestSmhi(systemTime, new ForecastTimeSerie[]
            {
                NewTimeSerie(new DateTime(2018, 8, 13, 18, 0, 0), precipitationMax: 0m, relativeHumidity: 45),
            });

            // Past weather
            var rainSensor = new SmhiRainSensor(systemTime, smhi, new ForecastTimeSerie[] {
                NewTimeSerie(new DateTime(2018, 8, 13, 12, 0, 0), precipitationMax: 0.1m, relativeHumidity: 40),
                NewTimeSerie(new DateTime(2018, 8, 13, 13, 0, 0), precipitationMax: 0m, relativeHumidity: 40),
                NewTimeSerie(new DateTime(2018, 8, 13, 14, 0, 0), precipitationMax: 0m, relativeHumidity: 40),
                NewTimeSerie(new DateTime(2018, 8, 13, 15, 0, 0), precipitationMax: 0m, relativeHumidity: 40),
                NewTimeSerie(new DateTime(2018, 8, 13, 16, 0, 0), precipitationMax: 0m, relativeHumidity: 40),
                NewTimeSerie(new DateTime(2018, 8, 13, 17, 0, 0), precipitationMax: 0m, relativeHumidity: 40),
            });

            // Act
            bool isWet = rainSensor.IsWet;

            // Assert
            Assert.IsFalse(isWet);
        }
Ejemplo n.º 2
0
        public void IsWet_NotRainButHighHumidityDuringNight_Wet()
        {
            // Assign
            var systemTime = new TestSystemTime(2018, 8, 14, 6, 0);

            // Forecasted weather
            var smhi = new TestSmhi(systemTime, new ForecastTimeSerie[]
            {
                NewTimeSerie(new DateTime(2018, 8, 14, 6, 0, 0), precipitationMax: 0m, relativeHumidity: 70),
            });

            // Past weather
            var rainSensor = new SmhiRainSensor(systemTime, smhi, new ForecastTimeSerie[] {
                NewTimeSerie(new DateTime(2018, 8, 13, 12, 22, 0), precipitationMax: 0m, relativeHumidity: 80),
                NewTimeSerie(new DateTime(2018, 8, 13, 13, 23, 0), precipitationMax: 0, relativeHumidity: 85),
                NewTimeSerie(new DateTime(2018, 8, 14, 14, 0, 0), precipitationMax: 0, relativeHumidity: 90),
                NewTimeSerie(new DateTime(2018, 8, 14, 15, 1, 0), precipitationMax: 0, relativeHumidity: 95),
                NewTimeSerie(new DateTime(2018, 8, 14, 16, 2, 0), precipitationMax: 0, relativeHumidity: 99),
                NewTimeSerie(new DateTime(2018, 8, 14, 17, 3, 0), precipitationMax: 0, relativeHumidity: 98),
                NewTimeSerie(new DateTime(2018, 8, 14, 17, 4, 0), precipitationMax: 0m, relativeHumidity: 95),
                NewTimeSerie(new DateTime(2018, 8, 14, 17, 5, 0), precipitationMax: 0m, relativeHumidity: 90),
            });

            // Act
            bool isWet = rainSensor.IsWet;

            // Assert
            Assert.IsTrue(isWet);
        }
Ejemplo n.º 3
0
        public void IsWet_CurrentlyRaining_Wet()
        {
            // Assign
            var systemTime = new TestSystemTime(2018, 8, 13, 8, 0);

            // Forecasted weather
            var smhi = new TestSmhi(systemTime, new ForecastTimeSerie[]
            {
                NewTimeSerie(new DateTime(2018, 8, 13, 8, 0, 0), precipitationMax: 0.2m, relativeHumidity: 65),
            });

            // Past weather
            var rainSensor = new SmhiRainSensor(systemTime, smhi, new ForecastTimeSerie[] {});

            // Act
            bool isWet = rainSensor.IsWet;

            // Assert
            Assert.IsTrue(isWet);
        }
Ejemplo n.º 4
0
        public void IsWet_HeavyRainAnHourAgo_StillWet()
        {
            // Assign
            var systemTime = new TestSystemTime(2018, 8, 13, 8, 0);

            // Forecasted weather
            var smhi = new TestSmhi(systemTime, new ForecastTimeSerie[]
            {
                NewTimeSerie(new DateTime(2018, 8, 13, 8, 0, 0), precipitationMax: 0m, relativeHumidity: 69),
            });

            // Past weather
            var rainSensor = new SmhiRainSensor(systemTime, smhi, new ForecastTimeSerie[] {
                NewTimeSerie(new DateTime(2018, 8, 13, 7, 0, 0), precipitationMax: 1.5m, relativeHumidity: 75),
            });

            // Act
            bool isWet = rainSensor.IsWet;

            // Assert
            Assert.IsTrue(isWet);
        }
Ejemplo n.º 5
0
        public void IsWet_SmhiReportsWeatherThatLaterChanges_FirstWetThenNotWet()
        {
            // Assign
            var systemTime = new TestSystemTime(2018, 8, 14, 5, 0);

            // Forecasted weather
            var smhi = new TestSmhi(systemTime, new ForecastTimeSerie[]
            {
                NewTimeSerie(new DateTime(2018, 8, 14, 5, 0, 0), precipitationMax: 0.5m, relativeHumidity: 45),
            });

            // Past weather
            var rainSensor = new SmhiRainSensor(systemTime, smhi, new ForecastTimeSerie[] {
                NewTimeSerie(new DateTime(2018, 8, 14, 5, 0, 0), precipitationMax: 0m, relativeHumidity: 50),
            });

            // Act
            bool isWet = rainSensor.IsWet;

            // Assert
            Assert.IsTrue(isWet);
        }