[Fact] //[Theory] //[InlineData(new string[] { "--count","10" })] public int ValidateTest() { // Console.WriteLine("Sample debug output"); string[] args = new string[] { "--name", "10" }; if (args == null || !args.Any()) { return -1; } var nameValueIndex = -1; var countValueIndex = -1; int index = 0; bool ifHelp = false; foreach (var i in args) { Console.WriteLine(index + ":" + i); if (i.ToLower() == "--name") { nameValueIndex = index + 1; } if (i.ToLower() == "--count") { countValueIndex = index + 1; } if (i.ToLower() == "--help") { ifHelp = true; } index++; } if (nameValueIndex >= 0) { Console.WriteLine("nameValueIndex:" + nameValueIndex); if (nameValueIndex > args.Length - 1) { return -1; } var nameV = args.ElementAt(nameValueIndex); int nameConvertV; if (!int.TryParse(nameV, out nameConvertV)) { if (nameV.Length < 3 || nameV.Length > 10) { return -1; } } } if (countValueIndex >= 0 ) { Console.WriteLine("countValueIndex:" + countValueIndex); if (countValueIndex > args.Length - 1) { return -1; } var countV = args.ElementAt(countValueIndex); int countConvertV ; if (!int.TryParse(countV,out countConvertV)) { return -1; } if(countConvertV<10 || countConvertV > 100) { return -1; } } if(!ifHelp && countValueIndex<0 && nameValueIndex < 0) { return -1; } if (ifHelp) { if (args.Length > 1) { if(countValueIndex < 0 && nameValueIndex < 0) { return -1; } } Console.WriteLine("ifHelp:" + ifHelp); return 1; } return 0; }