Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }