Esempio n. 1
0
        public void Bind_NamedParameterValueStartsWithDash_BindsProperty()
        {
            // arrange
            var sut     = CreateCommandParameterBinder(typeof(NamedParameterCommand));
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput("nam", new ParameterNameCommandParameter("param1"), new LiteralCommandParameter("-value1"));

            // act
            var result = sut.Bind(command, input);

            // assert
            Assert.True(result.Success);
            Assert.Equal("-value1", command.NamedParameter1);
        }
Esempio n. 2
0
        public void Bind_NamedParameterMissingValue_ErrorIncludedInResult()
        {
            // arrange
            var sut     = CreateCommandParameterBinder(typeof(NamedParameterCommand));
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput("nam", new ParameterNameCommandParameter("param1"));

            // act
            var result = sut.Bind(command, input);

            // assert
            Assert.False(result.Success);
            Assert.Equal(new[] { "Missing value for named parameter 'param1'" }, result.Errors);
        }
Esempio n. 3
0
        public void Bind_NamedParameterContainsUnsetVariable_ErrorIncludedInResult()
        {
            // arrange
            var sut     = CreateCommandParameterBinder(typeof(NamedParameterCommand));
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput("nam", new ParameterNameCommandParameter("param1"), 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);
        }
Esempio n. 4
0
        public void Bind_UnknownNamedParameter_ErrorIncludedInResult()
        {
            // arrange
            var sut     = CreateCommandParameterBinder(typeof(NamedParameterCommand));
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput(
                "nam",
                new ParameterNameCommandParameter("invalid"),
                (LiteralCommandParameter)"value"
                );

            // act
            var result = sut.Bind(command, input);

            // assert
            Assert.False(result.Success);
            Assert.Equal(new[] { "Unknown named parameter 'invalid'" }, result.Errors);
        }
Esempio n. 5
0
        public void Bind_NamedParameterDifferentCasing_BindsProperty()
        {
            // arrange
            var sut     = CreateCommandParameterBinder(typeof(NamedParameterCommand));
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput(
                "nam",
                new ParameterNameCommandParameter("PARAM1"),
                new LiteralCommandParameter("value1")
                );

            // act
            var result = sut.Bind(command, input);

            // assert
            Assert.True(result.Success);
            Assert.Equal("value1", command.NamedParameter1);
        }
Esempio n. 6
0
        public void Bind_DuplicateNamedParameterOnCommand_ErrorIncludedInResult()
        {
            // arrange
            var sut     = CreateCommandParameterBinder(typeof(NamedParameterCommand));
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput(
                "nam",
                new ParameterNameCommandParameter("param1"),
                (LiteralCommandParameter)"value1",
                new ParameterNameCommandParameter("param1"),
                (LiteralCommandParameter)"value2"
                );

            // act
            var result = sut.Bind(command, input);

            // assert
            Assert.False(result.Success);
            Assert.Equal(new[] { "Cannot repeat named parameter 'param1'" }, result.Errors);
        }
Esempio n. 7
0
        public void Bind_NamedParameterContainsVariable_VariableIsReplaced()
        {
            // arrange
            var registry  = CreateCommandRegistry(typeof(NamedParameterCommand));
            var variables = new VariableCollection();

            variables.Set(new ValueVariable("foo", "bar"));

            var replacer = new VariableReplacer();

            var sut     = new CommandParameterBinder(registry, replacer, variables);
            var command = new NamedParameterCommand();
            var input   = CreateCommandInput("nam", new ParameterNameCommandParameter("param1"), new VariableCommandParameter("foo"));

            // act
            var result = sut.Bind(command, input);

            // assert
            Assert.True(result.Success);
            Assert.Equal("bar", command.NamedParameter1);
        }