Exemple #1
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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));
        }
Exemple #9
0
        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));
        }
Exemple #10
0
        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));
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        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);
        }
Exemple #16
0
        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);
        }
Exemple #17
0
        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);
        }
Exemple #18
0
        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);
        }
Exemple #19
0
        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);
        }