public void Bind_UnknownFlagParameter_ErrorIncludedInResult() { // arrange var sut = CreateCommandParameterBinder(typeof(FlagParameterCommand)); var command = new FlagParameterCommand(); var input = CreateCommandInput( "command", new ParameterNameCommandParameter("unknown1"), new ParameterNameCommandParameter("unknown2") ); // act var result = sut.Bind(command, input); // assert Assert.False(result.Success); Assert.Equal(new[] { "Unknown flag parameter 'unknown2'", "Unknown flag parameter 'unknown1'" }, result.Errors); }
public void Bind_DuplicateFlagParameterOnCommand_ErrorIncludedInResult() { // arrange var sut = CreateCommandParameterBinder(typeof(FlagParameterCommand)); var command = new FlagParameterCommand(); var input = CreateCommandInput( "command", new ParameterNameCommandParameter("p1"), new ParameterNameCommandParameter("p1") ); // act var result = sut.Bind(command, input); // assert Assert.False(result.Success); Assert.Equal(new[] { "Cannot repeat flag parameter 'p1'" }, result.Errors); }
public void Bind_FlagParameter_BindsProperty() { // arrange var sut = CreateCommandParameterBinder(typeof(FlagParameterCommand)); var command = new FlagParameterCommand(); var input = CreateCommandInput( "command", new ParameterNameCommandParameter("p1"), new ParameterNameCommandParameter("p2") ); // act var result = sut.Bind(command, input); // assert Assert.True(result.Success); Assert.True(command.Param1); Assert.True(command.Param2); }