Ejemplo n.º 1
0
        public void Trigger_SensorValueReached()
        {
            var testController = new TestController();

            var adapter = new TestNumericSensorAdapter();
            var sensor  = new TemperatureSensor(
                "Test",
                adapter,
                testController.GetInstance <ISettingsService>());

            var trigger = sensor.GetTemperatureReachedTrigger(10.2F, 3.0F);

            var triggerCount = 0;

            trigger.Attach(() => triggerCount++);

            adapter.UpdateValue(5);
            Assert.AreEqual(0, triggerCount);

            adapter.UpdateValue(10);
            Assert.AreEqual(0, triggerCount);

            adapter.UpdateValue(10.2F);
            Assert.AreEqual(1, triggerCount);

            adapter.UpdateValue(9.0F);
            Assert.AreEqual(1, triggerCount);

            adapter.UpdateValue(13.0F);
            Assert.AreEqual(1, triggerCount);

            adapter.UpdateValue(5.0F);
            Assert.AreEqual(1, triggerCount);

            adapter.UpdateValue(10.2F);
            Assert.AreEqual(2, triggerCount);
        }