public void Shortcut_should_not_be_released(Key[] beforePreviousState, Key[] previousState, Key[] currentState)
        {
            var keyboardState = new KeyboardState(
                beforePreviousState.ToImmutableArray(),
                previousState.ToImmutableArray(),
                currentState.ToImmutableArray());

            var shortcut = new PermutationShortcut(Key.LeftCtrl, Key.LeftAlt, Key.C);

            shortcut.KeyboardStateChanged(keyboardState).Should().Be(ShortcutStateChange.None);
        }
        public void Shortcut_should_be_released()
        {
            var keyboardState = new KeyboardState(
                ImmutableArray.Create(Key.LeftCtrl, Key.LeftAlt),
                ImmutableArray.Create(Key.LeftCtrl, Key.LeftAlt, Key.C),
                ImmutableArray.Create(Key.LeftCtrl, Key.LeftAlt));

            var shortcut = new PermutationShortcut(Key.LeftCtrl, Key.LeftAlt, Key.C);

            shortcut.KeyboardStateChanged(keyboardState).Should().Be(ShortcutStateChange.Released);
        }
        public void Shortcut_should_be_pressed(Key[] beforePreviousState)
        {
            var keyboardState = new KeyboardState(
                beforePreviousState.ToImmutableArray(),
                ImmutableArray.Create(Key.LeftCtrl, Key.LeftAlt),
                ImmutableArray.Create(Key.LeftCtrl, Key.LeftAlt, Key.C));

            var shortcut = new PermutationShortcut(Key.LeftCtrl, Key.LeftAlt, Key.C);

            shortcut.KeyboardStateChanged(keyboardState).Should().Be(ShortcutStateChange.Pressed);
        }