public void Bind_CommandNotInRegistry_ThrowsException() { // assert var sut = CreateCommandParameterBinder(); var command = new NumberedParameterCommand(); var input = CreateCommandInput("num"); Action sutAction = () => sut.Bind(command, input); // act, assert var ex = Assert.Throws <InvalidOperationException>(sutAction); Assert.Contains("Descriptor for command 'num' could not be resolved", ex.Message); }
public void Bind_NumberedParameter1StringProperty_PropertyIsSet() { // arrange var sut = CreateCommandParameterBinder(typeof(NumberedParameterCommand)); var command = new NumberedParameterCommand(); var input = CreateCommandInput("num", new LiteralCommandParameter("value")); // act var result = sut.Bind(command, input); // assert Assert.True(result.Success); Assert.Equal("value", command.NumberedParameter1); }
public void Bind_OneTooManyNumberedParametersProvided_ErrorIncludedInResult() { // arrange var sut = CreateCommandParameterBinder(typeof(NumberedParameterCommand)); var command = new NumberedParameterCommand(); var input = CreateCommandInput( "num", new LiteralCommandParameter("value1"), new LiteralCommandParameter("value2"), new LiteralCommandParameter("value3") ); // act var result = sut.Bind(command, input); // assert Assert.False(result.Success); Assert.Equal(new[] { "Unexpected numbered parameter 'value3'" }, result.Errors); }