示例#1
0
        public void Not_Throw_If_Bad_Object_Given_To_Generic_Type()
        {
            // arrange
            var    values     = new List <string>();
            var    sw         = new SingleValueSwitch <StringBuilder>(new Parser("a"), 'l', "log", (o, s) => values.Add(s));
            var    info       = new IterationInfo("-l log.txt -o other".Split(' '), 0);
            Action mightThrow = () => sw.Consume(new object(), new ConsumptionRequest(info, 2));

            // act
            // assert
            mightThrow.Should().NotThrow();
        }
示例#2
0
        public void Provide_A_Generic_Version()
        {
            // arrange
            var values = new List <string>();
            var sw     = new SingleValueSwitch <StringBuilder>(new Parser("a"), 'l', "log", (o, s) => values.Add(s));
            var info   = new IterationInfo("-l log.txt -o other".Split(' '), 0);

            // act
            var result = sw.Consume(new StringBuilder(), new ConsumptionRequest(info, 2));

            // assert
            values.Should().BeEquivalentTo("log.txt".Split(' '));
            result.NumConsumed.Should().Be(2);
        }
示例#3
0
        public void Only_Consume_Two_Strings()
        {
            // arrange
            var values = new List <string>();
            var sw     = new SingleValueSwitch(new Parser("a"), 'l', "log", (o, s) => values.Add(s));
            var info   = new IterationInfo("-l log.txt -o other".Split(' '), 0);

            // act
            var result = sw.Consume(new object(), new ConsumptionRequest(info, 2));

            // assert
            values.Should().BeEquivalentTo("log.txt".Split(' '));
            result.NumConsumed.Should().Be(2);
        }
示例#4
0
        public void Generate_The_Correct_Output_For_A_Single_Value_Switch()
        {
            // arrange
            var mock = new Mock <IInlineSequence>();

            mock.SetupAllProperties();
            var builder   = DefaultBuilder.CreateDefaultBuilder();
            var parameter = new SingleValueSwitch(builder.Context.ParserRepository.Get("util"), 'v', "value",
                                                  (o, s) => { });
            var vm    = new ParameterViewModel(parameter, Theme.Default);
            var usage = new ParameterUsage
            {
                ViewModel = vm
            };

            // act
            usage.GenerateSequence(mock.Object);

            // assert
            usage.StringBuilder.ToString().Should().Be("[-v, --value v]");
        }