public void Shortcut_pressed_event_should_be_triggered()
        {
            //Arrange
            var shortcutObserver = new ShortcutObserverMock();

            Fixture.ShortcutDetector.RegisterShortcut(new CtrlAltDel());
            Fixture.ShortcutDetector.Subscribe(shortcutObserver);

            //Act
            Fixture.Press(Key.LeftCtrl);
            Fixture.Press(Key.LeftAlt);
            Fixture.Press(Key.Delete);

            //Assert
            shortcutObserver.PressedCounter.Should().Be(1);
            shortcutObserver.ReleasedCounter.Should().Be(0);
        }
        public void Many_observers_should_be_notify_about_pressed_and_released_events()
        {
            //Arrange
            var firstShortcutObserver  = new ShortcutObserverMock();
            var secondShortcutObserver = new ShortcutObserverMock();

            Fixture.ShortcutDetector.RegisterShortcut(new CtrlAltDel());
            Fixture.ShortcutDetector.Subscribe(firstShortcutObserver);
            Fixture.ShortcutDetector.Subscribe(secondShortcutObserver);

            //Act
            Fixture.Press(Key.LeftCtrl);
            Fixture.Press(Key.LeftAlt);
            Fixture.Press(Key.Delete);

            Fixture.Release(Key.Delete);

            //Assert
            firstShortcutObserver.PressedCounter.Should().Be(1);
            firstShortcutObserver.ReleasedCounter.Should().Be(1);

            secondShortcutObserver.PressedCounter.Should().Be(1);
            secondShortcutObserver.ReleasedCounter.Should().Be(1);
        }