public void TestCustomCommand_Execute() { var fact = Substitute.For <CustomCommandFactory>(); var receiver = Substitute.For <ICustomReceiver>(); var validator = Substitute.For <ICustomValidator>(); validator.IsValidArgument(receiver).Returns <bool>(true); CustomCommand cmd = fact.Create(receiver, validator) as CustomCommand; Assert.IsNotNull(cmd); object arg1 = new Object(); validator.IsValidArgument(receiver).Returns <bool>(true); receiver.ClearReceivedCalls(); cmd.Execute(arg1); var nn1 = receiver.ReceivedCalls().Count(); Assert.IsTrue(receiver.ReceivedCalls().Count() == 1); object arg2 = null; validator.IsValidArgument(receiver).Returns <bool>(true); receiver.ClearReceivedCalls(); cmd.Execute(arg2); var nn2 = receiver.ReceivedCalls().Count(); Assert.IsTrue(receiver.ReceivedCalls().Count() == 0); }
void CommandAction(object o) { if (IsValidatedBefore) { DoValidate(); } if (IsValid) { if (CustomCommand != null) { CustomCommand.Execute(null); } if (IsClosedAfter) { DoClose(); } } if (PostCommand != null) { PostCommand.Execute(null); } }
void CommandAction(object o) { var canValidate = IsValidatedBefore; if (DataContext is ActivityDesignerViewModel activityDesignerViewModel) { canValidate &= !activityDesignerViewModel.IsMerge; } if (canValidate) { DoValidate(); } if (IsValid) { CustomCommand?.Execute(null); if (IsClosedAfter) { DoClose(); } } PostCommand?.Execute(null); }
protected override void OnClick() { var commandParameter = ReturnCommandParameter?.Invoke(); var parameter = new PluginMenuParameter(CallFrom, commandParameter); CustomCommand.Execute(parameter); base.OnClick(); }