UT——case for quiz

 

 

        [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;
        }

  

posted @ 2021-05-12 11:23  PanPan003  阅读(37)  评论(0编辑  收藏  举报