public void Trigger_SensorValueUnderran() { var testController = new TestController(); var adapter = new TestNumericSensorAdapter(); var sensor = new TemperatureSensor( "Test", adapter, testController.GetInstance <ISettingsService>()); var trigger = sensor.GetTemperatureUnderranTrigger(10F, 3F); var triggerCount = 0; trigger.Attach(() => triggerCount++); adapter.UpdateValue(5); Assert.AreEqual(1, triggerCount); adapter.UpdateValue(10); Assert.AreEqual(1, triggerCount); adapter.UpdateValue(13.1F); Assert.AreEqual(1, triggerCount); adapter.UpdateValue(9F); Assert.AreEqual(2, triggerCount); adapter.UpdateValue(13.0F); Assert.AreEqual(2, triggerCount); adapter.UpdateValue(5F); Assert.AreEqual(2, triggerCount); adapter.UpdateValue(13.1F); Assert.AreEqual(2, triggerCount); adapter.UpdateValue(9.9F); Assert.AreEqual(3, triggerCount); }