public void Bind_NumberedParameterContainsUnsetVariable_ErrorIncludedInResult() { // arrange var sut = CreateCommandParameterBinder(typeof(NumericNumberedParameterCommand)); var command = new NumericNumberedParameterCommand(); var input = CreateCommandInput("command", new VariableCommandParameter("foo")); // act var result = sut.Bind(command, input); // assert Assert.False(result.Success); Assert.Equal(new[] { "Variable $foo$ is not set" }, result.Errors); }
public void Bind_NumberedParameterInvalidValue_ErrorIncludedInResult() { // arrange var sut = CreateCommandParameterBinder(typeof(NumericNumberedParameterCommand)); var command = new NumericNumberedParameterCommand(); var input = CreateCommandInput("command", new LiteralCommandParameter("3000000000")); // act var result = sut.Bind(command, input); // assert Assert.False(result.Success); Assert.Contains("Invalid parameter value '3000000000' for numbered parameter 'num'.", result.Errors); }
public void Bind_NumberedParameterContainsVariable_VariableIsReplaced() { // arrange var registry = CreateCommandRegistry(typeof(NumericNumberedParameterCommand)); var variables = new VariableCollection(); variables.Set(new ValueVariable("foo", "10")); var replacer = new VariableReplacer(); var sut = new CommandParameterBinder(registry, replacer, variables); var command = new NumericNumberedParameterCommand(); var input = CreateCommandInput("command", new VariableCommandParameter("foo")); // act var result = sut.Bind(command, input); // assert Assert.True(result.Success); Assert.Equal(10, command.NumberedParameter); }