Esempio n. 1
0
        public void ParseEnumeration()
        {
            EnumArgument<MyEnum> argument = new EnumArgument<MyEnum>("name", "");

            Assert.AreEqual("name", argument.Name);
            Assert.IsFalse(argument.AllowMultiple);
            Assert.IsFalse(string.IsNullOrEmpty(argument.GetSyntax()));
            Assert.IsFalse(string.IsNullOrEmpty(argument.GetHelp()));

            int i = 1;
            string[] args = { "other", "value2", "other" };
            var result = (ArgumentResult<MyEnum>)argument.Parse(args, ref i);
            Assert.AreEqual(2, i);
            Assert.IsNotNull(result.Values);
            Assert.AreEqual(1, result.Values.Count);
            Assert.AreEqual(MyEnum.Value2, result.Values[0]);
        }
Esempio n. 2
0
        public void ParseFlags1()
        {
            EnumArgument <MyFlags> argument = new EnumArgument <MyFlags>("MyFlags", "");

            Assert.AreEqual("MyFlags", argument.Name);
            Assert.IsTrue(argument.AllowMultiple);

            int i = 1;

            string[] args   = { "other", "Flag1", "flag3", };
            var      result = (ArgumentResult <MyFlags>)argument.Parse(args, ref i);

            Assert.AreEqual(3, i);
            Assert.IsNotNull(result.Values);
            Assert.AreEqual(2, result.Values.Count);
            Assert.AreEqual(MyFlags.Flag1, result.Values[0]);
            Assert.AreEqual(MyFlags.Flag3, result.Values[1]);
        }
Esempio n. 3
0
        public void DuplicateValue()
        {
            EnumArgument <MyEnum> argument = new EnumArgument <MyEnum>("name", "");

            Assert.AreEqual("name", argument.Name);
            Assert.IsFalse(argument.AllowMultiple);
            Assert.IsFalse(string.IsNullOrEmpty(argument.GetSyntax()));
            Assert.IsFalse(string.IsNullOrEmpty(argument.GetHelp()));

            int i = 1;

            string[] args   = { "other", "value2", "value1", "other" };
            var      result = (ArgumentResult <MyEnum>)argument.Parse(args, ref i);

            Assert.AreEqual(2, i);
            Assert.IsNotNull(result.Values);
            Assert.AreEqual(1, result.Values.Count);
            Assert.AreEqual(MyEnum.Value2, result.Values[0]);
        }
Esempio n. 4
0
        public void ParseFlags1()
        {
            EnumArgument<MyFlags> argument = new EnumArgument<MyFlags>("MyFlags", "");
            Assert.AreEqual("MyFlags", argument.Name);
            Assert.IsTrue(argument.AllowMultiple);

            int i = 1;
            string[] args = { "other", "Flag1", "flag3", };
            var result = (ArgumentResult<MyFlags>)argument.Parse(args, ref i);
            Assert.AreEqual(3, i);
            Assert.IsNotNull(result.Values);
            Assert.AreEqual(2, result.Values.Count);
            Assert.AreEqual(MyFlags.Flag1, result.Values[0]);
            Assert.AreEqual(MyFlags.Flag3, result.Values[1]);
        }