Example #1
0
        public void IntArgParser()
        {
            var argSchema = new ArgSchema();

            argSchema.Add <int>('b');
            Assert.AreEqual(typeof(IntArgParser), argSchema.IntArgParser('b').GetType());
        }
        public void Parse()
        {
            var schema = new ArgSchema()
                         .Add <bool>('b')
                         .Add <string>('s')
                         .Add <int>('i');

            Assert.IsEmpty(new ArgParserFactory(schema).Parse(new string[0]));

            CollectionAssert.AreEqual(new List <object> {
                true
            }, new ArgParserFactory(schema).Parse(new[] { "-b" }));
            CollectionAssert.AreEqual(new List <object> {
                "hello"
            }, new ArgParserFactory(schema).Parse(new[] { "-s hello" }));
            CollectionAssert.AreEqual(new List <object> {
                32
            }, new ArgParserFactory(schema).Parse(new[] { "-i 32" }));
            CollectionAssert.AreEquivalent(new List <object> {
                true, "hello", 32
            }, new ArgParserFactory(schema).Parse(new[] { "-b", "-s hello", "-i 32" }));

            Assert.Throws <ArgumentException>(() => new ArgParserFactory(schema).Parse(new[] { "-b boolean_shouldnt_have_a_value" }));
            Assert.Throws <ArgumentException>(() => new ArgParserFactory(schema).Parse(new[] { "-g not_defined_in_schema" }));
        }
Example #3
0
        public void StringArgParser()
        {
            var argSchema = new ArgSchema();

            argSchema.Add <string>('b');
            Assert.AreEqual(typeof(StringArgParser), argSchema.StringArgParser('b').GetType());
        }
Example #4
0
        public void BoolArgParser()
        {
            var argSchema = new ArgSchema();

            argSchema.Add <bool>('b');
            Assert.AreEqual(typeof(BoolArgParser), argSchema.BoolArgParser('b').GetType());
        }
Example #5
0
        public void HasBoolArg()
        {
            var argSchema = new ArgSchema();

            argSchema.Add <bool>('b');
            Assert.True(argSchema.HasBoolArg('b'));
            Assert.False(argSchema.HasBoolArg('g'));
        }
Example #6
0
        public void HasIntArg()
        {
            var argSchema = new ArgSchema();

            argSchema.Add <int>('b');
            Assert.True(argSchema.HasIntArg('b'));
            Assert.False(argSchema.HasIntArg('g'));
        }
Example #7
0
        public void HasStringArg()
        {
            var argSchema = new ArgSchema();

            argSchema.Add <string>('b');
            Assert.True(argSchema.HasStringArg('b'));
            Assert.False(argSchema.HasStringArg('g'));
        }