public void ShouldNotMonitorActivityIfUseActiveMonitoringFalse() { var mockCommand = new MockActiveAwareCommand(); mockCommand.IsValid = true; mockCommand.IsActive = true; var nonActiveAwareCompositeCommand = new CompositeCommand(false); bool canExecuteChangedRaised = false; nonActiveAwareCompositeCommand.RegisterCommand(mockCommand); nonActiveAwareCompositeCommand.CanExecuteChanged += delegate { canExecuteChangedRaised = true; }; mockCommand.IsActive = false; Assert.IsFalse(canExecuteChangedRaised); nonActiveAwareCompositeCommand.Execute(null); Assert.IsTrue(mockCommand.WasExecuted); }
public SelfUnregisterableCommand(CompositeCommand command) { Command = command; }
public void ActivityCausesActiveAwareCommandToRequeryCanExecute() { CompositeCommand activeAwareCommand = new CompositeCommand(true); MockActiveAwareCommand command = new MockActiveAwareCommand(); activeAwareCommand.RegisterCommand(command); command.IsActive = true; bool globalCanExecuteChangeFired = false; activeAwareCommand.CanExecuteChanged += delegate { globalCanExecuteChangeFired = true; }; Assert.IsFalse(globalCanExecuteChangeFired); command.IsActive = false; Assert.IsTrue(globalCanExecuteChangeFired); }
public void DispatchCommandShouldIgnoreInActiveCommandsInCanExecuteVote() { CompositeCommand activeAwareCommand = new CompositeCommand(true); MockActiveAwareCommand commandOne = new MockActiveAwareCommand() { IsActive = false, IsValid = false }; MockActiveAwareCommand commandTwo = new MockActiveAwareCommand() { IsActive = true, IsValid = true }; activeAwareCommand.RegisterCommand(commandOne); activeAwareCommand.RegisterCommand(commandTwo); Assert.IsTrue(activeAwareCommand.CanExecute(null)); }
public void DispatchCommandDoesNotIncludeInActiveRegisteredCommandInVoting() { CompositeCommand activeAwareCommand = new CompositeCommand(true); MockActiveAwareCommand command = new MockActiveAwareCommand(); activeAwareCommand.RegisterCommand(command); command.IsValid = true; command.IsActive = false; Assert.IsFalse(activeAwareCommand.CanExecute(null), "Registered Command is inactive so should not participate in CanExecute vote"); command.IsActive = true; Assert.IsTrue(activeAwareCommand.CanExecute(null)); command.IsValid = false; Assert.IsFalse(activeAwareCommand.CanExecute(null)); }
public void MultiDispatchCommandDoesNotExecutesInActiveRegisteredCommands() { CompositeCommand activeAwareCommand = new CompositeCommand(true); MockActiveAwareCommand command = new MockActiveAwareCommand(); command.IsActive = false; activeAwareCommand.RegisterCommand(command); activeAwareCommand.Execute(null); Assert.IsFalse(command.WasExecuted); }
public void MultiDispatchCommandExecutesActiveRegisteredCommands() { CompositeCommand activeAwareCommand = new CompositeCommand(); MockActiveAwareCommand command = new MockActiveAwareCommand(); command.IsActive = true; activeAwareCommand.RegisterCommand(command); activeAwareCommand.Execute(null); Assert.IsTrue(command.WasExecuted); }