public void CanExecute() { var canExecuteRan = false; var cmd = new DarkCommand(() => { }, () => { canExecuteRan = true; return(true); }); Assert.True(cmd.CanExecute(null)); Assert.True(canExecuteRan); }
public void GenericCanExecute() { string result = null; var cmd = new DarkCommand <string>(s => { }, s => { result = s; return(true); }); Assert.True(cmd.CanExecute("Foo")); Assert.Equal("Foo", result); }
public void CanExecuteIgnoresParameterIfValueTypeAndSetToNull() { var command = new DarkCommand <int>(context => { }, context => true); Assert.Throws <InvalidCommandParameterException>(() => command.CanExecute(null)); }
public void CanExecuteUsesParameterIfNullableAndSetToNull() { var command = new DarkCommand <int?>(context => { }, context => true); Assert.True(command.CanExecute(null), "null is a valid value for a Nullable<int> type"); }
public void CanExecuteUsesParameterIfReferenceTypeAndSetToNull() { var command = new DarkCommand <FakeChildContext>(context => { }, context => true); Assert.True(command.CanExecute(null), "null is a valid value for a reference type"); }
public void CanExecuteReturnsFalseIfParameterIsWrongValueType() { var command = new DarkCommand <int>(context => { }, context => true); Assert.Throws <InvalidCommandParameterException>(() => command.CanExecute(10.5)); }
public void CanExecuteReturnsFalseIfParameterIsWrongReferenceType() { var command = new DarkCommand <FakeChildContext>(context => { }, context => true); Assert.Throws <InvalidCommandParameterException>(() => command.CanExecute(new FakeParentContext())); }
public void Constructor() { var cmd = new DarkCommand(() => { }); Assert.True(cmd.CanExecute(null)); }