コード例 #1
0
ファイル: TriggerTests.cs プロジェクト: wuzhenda/HA4IoT
        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);
        }