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