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]); }
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]); }
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]); }
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]); }