예제 #1
0
        public void TestMultipleStringArrayWithOneWordPresent()
        {
            String[]  expected;
            Args.Args args = new Args.Args("f*,t[*],s[*],b[*]",
                                           new String[] { "-f", "*****@*****.**", "-t", "*****@*****.**", "-s", "Test Email Subject" });

            Assert.AreEqual(3, args.Cardinality());
            Assert.IsTrue(args.Has("f"));
            Assert.IsTrue(args.Has("t"));
            Assert.IsTrue(args.Has("s"));

            Assert.AreEqual("*****@*****.**", args.GetString("f"));
            expected = args.GetStringArray("t");
            Assert.AreEqual("*****@*****.**", expected[0]);

            expected = args.GetStringArray("s");
            Assert.AreEqual("Test Email Subject", expected[0]);

            expected = args.GetStringArray("b");
            Assert.AreEqual(0, expected.Length);
        }
예제 #2
0
        public void TestSingleStringArrayPresent()
        {
            Args.Args args = new Args.Args("x[*]", new String[] { "-x", "param1", "param2", "param3" });
            Assert.AreEqual(1, args.Cardinality());
            Assert.IsTrue(args.Has("x"));

            String[] expected = new String[] { "param1", "param2", "param3" };
            String[] actual   = args.GetStringArray("x");
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }
        }
예제 #3
0
        public void TestMultipleStringArrayWithMultipleArgsSimilarWordsPresent()
        {
            Args.Args args = new Args.Args("x[*],y[*],l", new String[] { "-x", "param1", "param2", "param3", "-y", "param2", "param3", "-l" });
            Assert.AreEqual(3, args.Cardinality());
            Assert.IsTrue(args.Has("x"));
            Assert.IsTrue(args.Has("y"));
            Assert.IsTrue(args.Has("l"));

            String[] expected = new String[] { "param1", "param2", "param3" };
            String[] actual   = args.GetStringArray("x");
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }

            expected = new String[] { "param2", "param3" };
            actual   = args.GetStringArray("y");
            for (int i = 0; i < 2; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }
            Assert.IsTrue(args.GetBoolean("l"));
        }
예제 #4
0
        public void TestSingleStringArrayWithMultipleArgsPresent()
        {
            Args.Args args = new Args.Args("x[*],l,d#", new String[] { "-x", "param1", "param2", "param3", "-l", "-d", "10" });
            Assert.AreEqual(3, args.Cardinality());
            Assert.IsTrue(args.Has("x"));
            Assert.IsTrue(args.Has("l"));
            Assert.IsTrue(args.Has("d"));

            String[] expected = new String[] { "param1", "param2", "param3" };
            String[] actual   = args.GetStringArray("x");
            for (int i = 0; i < 3; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }
            Assert.IsTrue(args.GetBoolean("l"));
            Assert.AreEqual(10, args.GetInt("d"));
        }
예제 #5
0
파일: Program.cs 프로젝트: homorozeanu/Args
        static void Main(string[] args)
        {
            string schema = "bool,int#,double##,string*,stringArray[*]";

            string[]  vargs  = { "-bool", "-int", "10", "-double", System.Math.PI.ToString(), "-string", "hi", "-stringArray", "Hello", "World" };
            Args.Args parser = new Args.Args(schema, vargs);

            Console.WriteLine("bool: {0}", parser.GetBoolean("bool"));
            Console.WriteLine("int: {0}", parser.GetInt("int"));
            Console.WriteLine("double: {0}", parser.GetDouble("double"));
            Console.WriteLine("string: {0}", parser.GetString("string"));

            string[] stringArray = parser.GetStringArray("stringArray");
            for (int i = 0; i < stringArray.Length; i++)
            {
                Console.WriteLine("stringArray {0}: {1}", i, stringArray[i]);
            }

            Console.ReadLine();
        }