示例#1
0
        public void ValidKeyPressed_HandleHotkeyPress_ReturnsTrue()
        {
            var fakeCommand     = new FakeCommand();
            var hotkeyCommander = CreateHotkeyCommander(new[] { fakeCommand });

            Assert.True(hotkeyCommander.HandleHotkeyPress(fakeCommand.Hotkey));
        }
示例#2
0
        public void InvalidKeyPressed_HandleHotkeyPress_ReturnsFalse()
        {
            var fakeCommand     = new FakeCommand();
            var hotkeyCommander = CreateHotkeyCommander(new[] { fakeCommand });

            Assert.False(hotkeyCommander.HandleHotkeyPress(Key.B));
        }
        public void ShellConstructed_StartCommandExecuted()
        {
            var fakeStartCommand = new FakeCommand();

            Assert.Equal(0, fakeStartCommand.ExecuteCount);
            CreateShell(fakeStartCommand, null, null, null, null, null);

            Assert.Equal(1, fakeStartCommand.ExecuteCount);
        }
示例#4
0
        public void HandleHotkeyPress_CommandWithHotkeyExecuted()
        {
            var fakeCommand     = new FakeCommand();
            var hotkeyCommander = CreateHotkeyCommander(new[] { fakeCommand });

            hotkeyCommander.HandleHotkeyPress(fakeCommand.Hotkey);

            Assert.Equal(1, fakeCommand.ExecuteCount);
        }
        public void ExecuteCommand_CommandExecuted()
        {
            var fakeCommand = new FakeCommand();
            var contextMenu = new ContextMenu();

            Assert.Equal(0, fakeCommand.ExecuteCount);
            contextMenu.ExecuteCommand(fakeCommand);

            Assert.Equal(1, fakeCommand.ExecuteCount);
        }
        public void ExecuteCommand_CommandsEmpty()
        {
            var fakeCommand = new FakeCommand();
            var contextMenu = new ContextMenu();

            contextMenu.ShowContextMenu(new[] { fakeCommand }, new Point(0, 0));
            Assert.NotEmpty(contextMenu.Commands);
            contextMenu.ExecuteCommand(fakeCommand);

            Assert.Empty(contextMenu.Commands);
        }
示例#7
0
        public void InvalidKeyPressed_HandleHotkeyPress_CommandNotExecuted()
        {
            var fakeCommand     = new FakeCommand();
            var hotkeyCommander = CreateHotkeyCommander(new[] { fakeCommand });

            Assert.NotEqual(Key.B, fakeCommand.Hotkey);

            hotkeyCommander.HandleHotkeyPress(Key.B);

            Assert.Equal(0, fakeCommand.ExecuteCount);
        }
        public void ShowContextMenuWithCommand_CommandAddedToObservableCollection()
        {
            var fakeCommand = new FakeCommand();
            var contextMenu = new ContextMenu();

            Assert.False(contextMenu.Commands.FirstOrDefault() == fakeCommand);
            contextMenu.ShowContextMenu(new List <IShellCommand> {
                fakeCommand
            }, new Point(5, 5));

            Assert.True(contextMenu.Commands.Single() == fakeCommand);
        }
        public void ExecuteCommand_CommandsPropertyChanged()
        {
            var fakeCommand           = new FakeCommand();
            var contextMenu           = new ContextMenu();
            var propertyChangedEvents = new List <PropertyChangedEventArgs>();

            contextMenu.PropertyChanged += (s, e) => propertyChangedEvents.Add(e);

            contextMenu.ExecuteCommand(fakeCommand);

            Assert.Equal(1, propertyChangedEvents.Count(x => x.PropertyName == nameof(contextMenu.Commands)));
        }
        public void ShowContextManu_CommandsPropertyChanged()
        {
            var fakeCommand           = new FakeCommand();
            var contextMenu           = new ContextMenu();
            var propertyChangedEvents = new List <PropertyChangedEventArgs>();

            contextMenu.PropertyChanged += (s, e) => propertyChangedEvents.Add(e);

            contextMenu.ShowContextMenu(new[] { fakeCommand }, new Point(0, 0));

            Assert.Equal(1, propertyChangedEvents.Count(x => x.PropertyName == nameof(contextMenu.Commands)));
        }
        public void TopLevelMenuWithOneChild_OpenContextMenuForTopLevelMenu_ContextMenuOpensWithCommand()
        {
            var fakeContextMenu = new FakeContextMenu();
            var fakeCommand     = new FakeCommand();
            IList <IShellCommand> commandsInContextMenu = null;

            fakeContextMenu.ShowContextMenuAction += (commands, point) => commandsInContextMenu = commands;
            var toolbar = CreateToolbar(new[] { fakeCommand }, fakeContextMenu);

            toolbar.OpenContextMenuForTopLevelMenu(new Point(0, 0), fakeCommand.ParentName);

            Assert.True(commandsInContextMenu.Single() == fakeCommand);
        }
        public void TopLevelMenuWithOneChild_OpenContextMenuForTopLevelMenu_ContextMenuOpensAtPosition()
        {
            var   fakeContextMenu = new FakeContextMenu();
            var   fakeCommand     = new FakeCommand();
            Point contextMenuPosition;

            fakeContextMenu.ShowContextMenuAction += (commands, point) => contextMenuPosition = point;
            var toolbar          = CreateToolbar(new[] { fakeCommand }, fakeContextMenu);
            var expectedPosition = new Point(5, 10);

            toolbar.OpenContextMenuForTopLevelMenu(expectedPosition, fakeCommand.ParentName);

            Assert.Equal(expectedPosition, contextMenuPosition);
        }
        public void ShowContextMenuWithCommands_CommandsAddedToObservableCollectionInOrder()
        {
            var fakeCommand1 = new FakeCommand();
            var fakeCommand2 = new FakeCommand();
            var contextMenu  = new ContextMenu();

            Assert.False(contextMenu.Commands.FirstOrDefault() == fakeCommand1);
            Assert.False(contextMenu.Commands.LastOrDefault() == fakeCommand2);
            contextMenu.ShowContextMenu(new List <IShellCommand> {
                fakeCommand1, fakeCommand2
            }, new Point(5, 5));

            Assert.True(contextMenu.Commands.First() == fakeCommand1);
            Assert.True(contextMenu.Commands.Last() == fakeCommand2);
        }
        public void TwoTopLevelMenuItems_TopLevelMenuNamesOrderedByFirstChildWeight()
        {
            var fakeContextMenu = new FakeContextMenu();
            var fakeCommand1    = new FakeCommand("CommandParent1", "Command1", 0f);
            var fakeCommand2    = new FakeCommand("CommandParent2", "Command2", 1f);
            IList <IShellCommand> commandsInContextMenu = null;

            fakeContextMenu.ShowContextMenuAction += (commands, point) => commandsInContextMenu = commands;
            var toolbar = CreateToolbar(new[] { fakeCommand1, fakeCommand2 }, fakeContextMenu);

            toolbar.OpenContextMenuForTopLevelMenu(new Point(0, 0), fakeCommand1.ParentName);

            Assert.Equal(fakeCommand1.ParentName, toolbar.TopLevelMenuNames.First());
            Assert.Equal(fakeCommand2.ParentName, toolbar.TopLevelMenuNames.Last());
        }
        public void ContextMenuVisibleWithCommand_ShowContextMenuWithNewCommand_OnlyNewCommandInMenu()
        {
            var oldCommand  = new FakeCommand();
            var newCommand  = new FakeCommand();
            var contextMenu = new ContextMenu();

            contextMenu.ShowContextMenu(new List <IShellCommand> {
                oldCommand
            }, new Point(5, 5));
            Assert.True(contextMenu.Commands.Single() == oldCommand);

            contextMenu.ShowContextMenu(new List <IShellCommand> {
                newCommand
            }, new Point(5, 5));

            Assert.True(contextMenu.Commands.Single() == newCommand);
        }