예제 #1
0
        public void UnexpectedOptionExceptionTests(params string[] args)
        {
            GetOptBase <Opt2> getOpt = new GetOptBase <Opt2>();

            getOpt.AddOpt(o => o.a)
            .HasShortName("a");
            getOpt.AddOpt(o => o.b)
            .HasShortName("b");
            getOpt.AddOpt(o => o.c)
            .HasShortName("c");

            Xunit.Assert.Throws <UnexpectedOptionException>(() => getOpt.GetOpts(args));
        }
예제 #2
0
        public void BasicArgOptTests(OptDefinitionArgumentFormat format, params string[] args)
        {
            GetOptBase <Opt2> getOpt = new GetOptBase <Opt2>();

            getOpt.AddOpt(o => o.b)
            .HasShortName("b")
            .HasLongName("big-file")
            .WithRequiredArgument(o => o.b_file)
            .FormattedAs(format);

            var res = getOpt.GetOpts(args);

            res.b.Should().Be(true);
            res.b_file.Should().Be("argument");
        }
예제 #3
0
        public void LongOptTests(string[] args, bool aExp, bool bExp, bool cExp)
        {
            GetOptBase <Opt2> getOpt = new GetOptBase <Opt2>();

            getOpt.AddOpt(o => o.a)
            .HasLongName("A");
            getOpt.AddOpt(o => o.b)
            .HasLongName("B");
            getOpt.AddOpt(o => o.c)
            .HasLongName("C");


            Opt2 opts = getOpt.GetOpts(args);

            opts.a.Should().Be(aExp);
            opts.b.Should().Be(bExp);
            opts.c.Should().Be(cExp);
        }
예제 #4
0
        public void BasicOptTests(string[] args, bool aExp, bool bExp, bool cExp)
        {
            GetOptBase <Opt2> getOpt = new GetOptBase <Opt2>();

            getOpt.AddOpt(o => o.a)
            .HasShortName("a");
            getOpt.AddOpt(o => o.b)
            .HasShortName("b");
            getOpt.AddOpt(o => o.c)
            .HasShortName("c");


            Opt2 opts = getOpt.GetOpts(args);

            opts.a.Should().Be(aExp);
            opts.b.Should().Be(bExp);
            opts.c.Should().Be(cExp);
        }