예제 #1
0
        public void Button_PressShortly()
        {
            var testController = new TestController();

            var buttonAdapter = new TestButtonAdapter();
            var button        = new Button("Test", buttonAdapter, testController.GetInstance <ITimerService>(), testController.GetInstance <ISettingsService>());

            Assert.IsTrue(button.GetState().Has(ButtonState.Released));
            buttonAdapter.Press();
            Assert.IsTrue(button.GetState().Has(ButtonState.Pressed));
            buttonAdapter.Release();
            Assert.IsTrue(button.GetState().Has(ButtonState.Released));
        }
예제 #2
0
        public void Button_PressedLongTrigger()
        {
            var testController = new TestController();

            var buttonAdapter = new TestButtonAdapter();
            var button        = new Button("Test", buttonAdapter, testController.GetInstance <ITimerService>(), testController.GetInstance <ISettingsService>());

            var triggerRaised = false;

            button.PressedLongTrigger.Attach(() => triggerRaised = true);

            Assert.IsTrue(button.GetState().Has(ButtonState.Released));
            buttonAdapter.Press();

            // Should be false because time was too slow.
            Assert.IsFalse(triggerRaised);

            // 1h is only for test. Enough to test with default settings.
            testController.Tick(TimeSpan.FromHours(1));
            Assert.IsTrue(triggerRaised);
        }
예제 #3
0
        public void Button_NoDoublePressedLongTrigger()
        {
            var testController = new TestController();

            var buttonAdapter = new TestButtonAdapter();
            var button        = new Button("Test", buttonAdapter, testController.GetInstance <ITimerService>(), testController.GetInstance <ISettingsService>());

            var triggerRaisedCount = 0;

            button.PressedLongTrigger.Attach(() => triggerRaisedCount++);

            buttonAdapter.Press();

            // 1h is only for test. Enough to test with default settings.
            testController.Tick(TimeSpan.FromHours(1));

            Assert.AreEqual(1, triggerRaisedCount);

            buttonAdapter.Release();

            Assert.AreEqual(1, triggerRaisedCount);
        }