public void ValueOutOfBounds2() { BoundedValueArgument<int> argument = new BoundedValueArgument<int>("value", "description", -10, -1); int i = 0; Assert.Throws<InvalidArgumentValueException>(() => argument.Parse(new[] { "0" }, ref i)); }
private CommandLineParser.CommandLineParser InitIgnoreCase() { var commandLineParser = new CommandLineParser.CommandLineParser(); commandLineParser.IgnoreCase = true; commandLineParser.ShowUsageOnEmptyCommandline = true; SwitchArgument showArgument = new SwitchArgument('s', "show", "Set whether show or not", true); SwitchArgument hideArgument = new SwitchArgument('h', "hide", "Set whether hid or not", false); ValueArgument <string> level = new ValueArgument <string>('l', "level", "Set the level"); ValueArgument <decimal> version = new ValueArgument <decimal>('v', "version", "Set desired version"); ValueArgument <Point> point = new ValueArgument <Point>('p', "point", "specify the point"); BoundedValueArgument <int> optimization = new BoundedValueArgument <int>('o', "optimization", 0, 3); EnumeratedValueArgument <string> color = new EnumeratedValueArgument <string>('c', "color", new[] { "red", "green", "blue" }); FileArgument inputFile = new FileArgument('i', "input", "Input file"); inputFile.FileMustExist = false; FileArgument outputFile = new FileArgument('x', "output", "Output file"); outputFile.FileMustExist = false; DirectoryArgument inputDirectory = new DirectoryArgument('d', "directory", "Input directory"); inputDirectory.DirectoryMustExist = false; point.ConvertValueHandler = delegate(string stringValue) { if (stringValue.StartsWith("[") && stringValue.EndsWith("]")) { string[] parts = stringValue.Substring(1, stringValue.Length - 2).Split(';', ','); Point p = new Point(); p.x = int.Parse(parts[0]); p.y = int.Parse(parts[1]); return(p); } throw new CommandLineArgumentException("Bad point format", "point"); }; commandLineParser.Arguments.Add(showArgument); commandLineParser.Arguments.Add(hideArgument); commandLineParser.Arguments.Add(level); commandLineParser.Arguments.Add(version); commandLineParser.Arguments.Add(point); commandLineParser.Arguments.Add(optimization); commandLineParser.Arguments.Add(color); commandLineParser.Arguments.Add(inputFile); commandLineParser.Arguments.Add(outputFile); commandLineParser.Arguments.Add(inputDirectory); return(commandLineParser); }
public void ParseInvalidValue() { BoundedValueArgument<int> argument = new BoundedValueArgument<int>("value", "description", 1, 10); int i = 1; Assert.Throws<InvalidArgumentValueException>(() => argument.Parse(new[] { "/switch1", "3A", "1", "10", "x" }, ref i)); }
public void ParseInvalidValue() { BoundedValueArgument <int> argument = new BoundedValueArgument <int>("value", "description", 1, 10); int i = 1; Assert.Throws <InvalidArgumentValueException>(() => argument.Parse(new[] { "/switch1", "3A", "1", "10", "x" }, ref i)); }
public void ValueOutOfBounds2() { BoundedValueArgument <int> argument = new BoundedValueArgument <int>("value", "description", -10, -1); int i = 0; Assert.Throws <InvalidArgumentValueException>(() => argument.Parse(new[] { "0" }, ref i)); }
public void ParseSingle() { BoundedValueArgument<int> argument = new BoundedValueArgument<int>("value", "description", 1, 10); int i = 1; var result = (ArgumentResult<int>)argument.Parse(new[] { "/switch1", "3", "1", "10", }, ref i); Assert.AreEqual(2, i); Assert.IsNotNull(result.Values); Assert.AreEqual(1, result.Values.Count); Assert.AreEqual(3, result.Values[0]); }
public void ParseSingle() { BoundedValueArgument <int> argument = new BoundedValueArgument <int>("value", "description", 1, 10); int i = 1; var result = (ArgumentResult <int>)argument.Parse(new[] { "/switch1", "3", "1", "10", }, ref i); Assert.AreEqual(2, i); Assert.IsNotNull(result.Values); Assert.AreEqual(1, result.Values.Count); Assert.AreEqual(3, result.Values[0]); }
public void ParseMultiple2() { BoundedValueArgument<long> argument = new BoundedValueArgument<long>("value", "description", -10, -1) { AllowMultiple = true }; int i = 1; var result = (ArgumentResult<long>)argument.Parse(new[] { "/switch1", "-3", "-1", "-10", }, ref i); Assert.AreEqual(4, i); Assert.IsNotNull(result.Values); Assert.AreEqual(3, result.Values.Count); Assert.AreEqual(-3, result.Values[0]); Assert.AreEqual(-1, result.Values[1]); Assert.AreEqual(-10, result.Values[2]); }
public void ParseMultiple1() { BoundedValueArgument<int> argument = new BoundedValueArgument<int>("value", "description", 1, 10) { AllowMultiple = true }; Assert.IsFalse(string.IsNullOrEmpty(argument.GetSyntax())); Assert.IsFalse(string.IsNullOrEmpty(argument.GetHelp())); int i = 1; var result = (ArgumentResult<int>)argument.Parse(new[] { "/switch1", "3", "1", "10", }, ref i); Assert.AreEqual(4, i); Assert.AreEqual(3, result.Values.Count); Assert.AreEqual(3, result.Values[0]); Assert.AreEqual(1, result.Values[1]); Assert.AreEqual(10, result.Values[2]); }
public void ParseMultiple2() { BoundedValueArgument <long> argument = new BoundedValueArgument <long>("value", "description", -10, -1) { AllowMultiple = true }; int i = 1; var result = (ArgumentResult <long>)argument.Parse(new[] { "/switch1", "-3", "-1", "-10", }, ref i); Assert.AreEqual(4, i); Assert.IsNotNull(result.Values); Assert.AreEqual(3, result.Values.Count); Assert.AreEqual(-3, result.Values[0]); Assert.AreEqual(-1, result.Values[1]); Assert.AreEqual(-10, result.Values[2]); }
public void ParseMultiple1() { BoundedValueArgument <int> argument = new BoundedValueArgument <int>("value", "description", 1, 10) { AllowMultiple = true }; Assert.IsFalse(string.IsNullOrEmpty(argument.GetSyntax())); Assert.IsFalse(string.IsNullOrEmpty(argument.GetHelp())); int i = 1; var result = (ArgumentResult <int>)argument.Parse(new[] { "/switch1", "3", "1", "10", }, ref i); Assert.AreEqual(4, i); Assert.AreEqual(3, result.Values.Count); Assert.AreEqual(3, result.Values[0]); Assert.AreEqual(1, result.Values[1]); Assert.AreEqual(10, result.Values[2]); }