zoukankan      html  css  js  c++  java
  • 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;
            }
    

      

  • 相关阅读:
    Java-01,计算1-10的阶乘之和
    软件工程研究生面试机试考题-2018
    nginx会话保持之sticky模块
    Dubbo原理简介、与Zookeeper整合利用
    Day41 openstack基础
    krb5-libs这个RPM包删掉了导致ssh无法连接
    day40 数据结构-算法(二)
    进程上下文频繁切换导致load average过高
    day39 算法基础
    应用性能管理工具PinPoint介绍
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/14759053.html
Copyright © 2011-2022 走看看