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); }
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); }
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); }
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); }
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); }