public void WhenCommandIsSetAndThenBehaviorIsAttached_ThenCommandsCanExecuteIsCalledOnce() { var someControl = new TextBox(); var command = new MockCommand(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.Attach(someControl); Assert.Equal(1, command.CanExecuteTimesCalled); }
public void WhenChangingProperty_ThenUpdatesCommand() { var someControl = new TextBox(); var oldCommand = new MockCommand(); var newCommand = new MockCommand(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = oldCommand; commandAction.Command = newCommand; commandAction.Invoke(); Assert.IsTrue(newCommand.ExecuteCalled); Assert.IsFalse(oldCommand.ExecuteCalled); }
public void WhenCommandAndCommandParameterAreSetPriorToBehaviorBeingAttached_ThenCommandIsExecutedCorrectlyOnInvoke() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.CommandParameter = parameter; commandAction.Attach(someControl); commandAction.InvokeAction(null); Assert.IsTrue(command.ExecuteCalled); }
public void WhenCommandParameterNotSet_ThenEventArgsPassed() { var eventArgs = new TestEventArgs(null); var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.Attach(someControl); commandAction.InvokeAction(eventArgs); Assert.IsType <TestEventArgs>(command.ExecuteParameter); }
public void WhenCommandAndCommandParameterAreSetPriorToBehaviorBeingAttached_ThenCommandIsExecutedCorrectlyOnInvoke() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.CommandParameter = parameter; commandAction.Attach(someControl); commandAction.InvokeAction(null); Assert.True(command.ExecuteCalled); }
public void WhenChangingProperty_ThenUpdatesCommand() { var someControl = new TextBox(); var oldCommand = new MockCommand(); var newCommand = new MockCommand(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = oldCommand; commandAction.Command = newCommand; commandAction.InvokeAction(null); Assert.True(newCommand.ExecuteCalled); Assert.False(oldCommand.ExecuteCalled); }
public void WhenCommandPropertyIsSet_ThenHooksUpCommandBehavior() { var someControl = new TextBox(); var commandAction = new InvokeCommandAction(); var command = new MockCommand(); commandAction.Attach(someControl); commandAction.Command = command; Assert.IsFalse(command.ExecuteCalled); commandAction.Invoke(); Assert.IsTrue(command.ExecuteCalled); Assert.AreSame(command, commandAction.GetValue(InvokeCommandAction.CommandProperty)); }
public void WhenAttachedAfterCommandPropertyIsSetAndInvoked_ThenInvokesCommand() { var someControl = new TextBox(); var commandAction = new InvokeCommandAction(); var command = new MockCommand(); commandAction.Command = command; commandAction.Attach(someControl); Assert.IsFalse(command.ExecuteCalled); commandAction.Invoke(); Assert.IsTrue(command.ExecuteCalled); Assert.AreSame(command, commandAction.GetValue(InvokeCommandAction.CommandProperty)); }
public void WhenAttachedAfterCommandPropertyIsSetAndInvoked_ThenInvokesCommand() { var someControl = new TextBox(); var commandAction = new InvokeCommandAction(); var command = new MockCommand(); commandAction.Command = command; commandAction.Attach(someControl); Assert.False(command.ExecuteCalled); commandAction.InvokeAction(null); Assert.True(command.ExecuteCalled); Assert.Same(command, commandAction.GetValue(InvokeCommandAction.CommandProperty)); }
public void WhenCommandPropertyIsSet_ThenHooksUpCommandBehavior() { var someControl = new TextBox(); var commandAction = new InvokeCommandAction(); var command = new MockCommand(); commandAction.Attach(someControl); commandAction.Command = command; Assert.False(command.ExecuteCalled); commandAction.InvokeAction(null); Assert.True(command.ExecuteCalled); Assert.Same(command, commandAction.GetValue(InvokeCommandAction.CommandProperty)); }
public void WhenAttachedAndCanExecuteReturnsFalse_ThenEnabledUIElementIsDisabled() { var someControl = new TextBox(); someControl.IsEnabled = true; var command = new MockCommand(); command.CanExecuteReturnValue = false; var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.Attach(someControl); Assert.False(someControl.IsEnabled); }
public void WhenCommandParameterNotSetAndEventArgsParameterPathSet_ThenPathedValuePassed() { var eventArgs = new TestEventArgs("testname"); var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.TriggerParameterPath = "Thing1.Thing2.Name"; commandAction.Attach(someControl); commandAction.InvokeAction(eventArgs); Assert.Equal("testname", command.ExecuteParameter); }
public void WhenAutoEnableIsFalse_ThenEnabledUIElementRemainsEnabled() { var someControl = new TextBox(); someControl.IsEnabled = true; var command = new MockCommand(); command.CanExecuteReturnValue = false; var commandAction = new InvokeCommandAction(); commandAction.AutoEnable = false; commandAction.Command = command; commandAction.Attach(someControl); Assert.IsTrue(someControl.IsEnabled); }
public void WhenInvokedWithCommandParameter_ThenPassesCommandParaeterToExecute() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = command; commandAction.CommandParameter = parameter; Assert.IsNull(command.ExecuteParameter); commandAction.Invoke(); Assert.IsTrue(command.ExecuteCalled); Assert.IsNotNull(command.ExecuteParameter); Assert.AreSame(parameter, command.ExecuteParameter); }
public void WhenCanExecuteChanged_ThenUpdatesIsEnabledState() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = command; commandAction.CommandParameter = parameter; Assert.IsTrue(someControl.IsEnabled); command.CanExecuteReturnValue = false; command.RaiseCanExecuteChanged(); Assert.IsNotNull(command.CanExecuteParameter); Assert.AreSame(parameter, command.CanExecuteParameter); Assert.IsFalse(someControl.IsEnabled); }
public void WhenInvokedWithCommandParameter_ThenPassesCommandParaeterToExecute() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = command; commandAction.CommandParameter = parameter; Assert.Null(command.ExecuteParameter); commandAction.InvokeAction(null); Assert.True(command.ExecuteCalled); Assert.NotNull(command.ExecuteParameter); Assert.Same(parameter, command.ExecuteParameter); }
public void WhenDetatched_ThenSetsCommandAndCommandParameterToNull() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = command; commandAction.CommandParameter = parameter; Assert.NotNull(commandAction.Command); Assert.NotNull(commandAction.CommandParameter); commandAction.Detach(); Assert.Null(commandAction.Command); Assert.Null(commandAction.CommandParameter); }
public void WhenAutoEnableIsUpdated_ThenDisabledUIElementIsEnabled() { var someControl = new TextBox(); someControl.IsEnabled = false; var command = new MockCommand(); var commandAction = new InvokeCommandAction(); commandAction.AutoEnable = false; commandAction.Command = command; commandAction.Attach(someControl); Assert.False(someControl.IsEnabled); commandAction.AutoEnable = true; Assert.True(someControl.IsEnabled); }
public void WhenCommandParameterChanged_ThenUpdatesIsEnabledState() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = command; Assert.Null(command.CanExecuteParameter); Assert.True(someControl.IsEnabled); command.CanExecuteReturnValue = false; commandAction.CommandParameter = parameter; Assert.NotNull(command.CanExecuteParameter); Assert.Same(parameter, command.CanExecuteParameter); Assert.False(someControl.IsEnabled); }
public void WhenAttachedAndCanExecuteReturnsTrue_ThenDisabledUIElementIsEnabled() { var someControl = new TextBox(); someControl.IsEnabled = false; var command = new MockCommand(); command.CanExecuteReturnValue = true; var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.Attach(someControl); Assert.IsTrue(someControl.IsEnabled); }
public void WhenCommandParameterNotSetAndEventArgsParameterPathSet_ThenPathedValuePassed() { var eventArgs = new TestEventArgs("testname"); var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.TriggerParameterPath = "Thing1.Thing2.Name"; commandAction.Attach(someControl); commandAction.InvokeAction(eventArgs); Assert.AreEqual("testname", command.ExecuteParameter); }
public void WhenCommandParameterNotSet_ThenEventArgsPassed() { var eventArgs = new TestEventArgs(null); var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.Attach(someControl); commandAction.InvokeAction(eventArgs); Assert.IsInstanceOfType(command.ExecuteParameter, typeof(TestEventArgs)); }
public void WhenCommandIsSetAndThenBehaviorIsAttached_ThenCommandsCanExecuteIsCalledOnce() { var someControl = new TextBox(); var command = new MockCommand(); var commandAction = new InvokeCommandAction(); commandAction.Command = command; commandAction.Attach(someControl); Assert.AreEqual(1, command.CanExecuteTimesCalled); }
public void WhenDetatched_ThenSetsCommandAndCommandParameterToNull() { var someControl = new TextBox(); var command = new MockCommand(); var parameter = new object(); var commandAction = new InvokeCommandAction(); commandAction.Attach(someControl); commandAction.Command = command; commandAction.CommandParameter = parameter; Assert.IsNotNull(commandAction.Command); Assert.IsNotNull(commandAction.CommandParameter); commandAction.Detach(); Assert.IsNull(commandAction.Command); Assert.IsNull(commandAction.CommandParameter); }
public void WhenAutoEnableIsUpdated_ThenEnabledUIElementIsDisabled() { var someControl = new TextBox(); someControl.IsEnabled = true; var command = new MockCommand(); command.CanExecuteReturnValue = false; var commandAction = new InvokeCommandAction(); commandAction.AutoEnable = false; commandAction.Command = command; commandAction.Attach(someControl); Assert.IsTrue(someControl.IsEnabled); commandAction.AutoEnable = true; Assert.IsFalse(someControl.IsEnabled); }