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