Пример #1
0
 protected override bool Run()
 {
     //Initialize testcases using in TDataset
     int n = listTDataset.Count;
     List<string> TcasesIn = new List<string>();
     for (int i = 0; i < n; i++)
     {
         string TCaseName = listTDataset[i].TestCase;
         bool isExist = false;
         foreach (var item in TcasesIn)
         {
             if (item.Equals(TCaseName))
             {
                 isExist = true;
                 break;
             }
         }
         if (!isExist)
         {
             TcasesIn.Add(TCaseName);
         }
     }
     //Generate TestDatas for each testcase using
     foreach (string item in TcasesIn)
     {
         List<TestDataset> currentList = new List<TestDataset>();
         List<string> listvalues = new List<string>();
         TestCase inTCase = getTestCase(item);
         List<string> listParams = util.getListValueFromString(inTCase.Parameters);
         List<string> lines = new List<string>();
         for (int i = 0; i < n; i++)
         {
             if (listTDataset[i].TestCase.Equals(item))
                 currentList.Add(listTDataset[i]);
         }
         if (currentList.Count != listParams.Count)
         {
             Error.Write("The number of arguments input for TCase="+item+" isnot valid. Do you want to continue? (y/n)");
             string ans = In.ReadLine();
             if (ans.Equals("n") || ans.Equals("N"))
             {
                 return false;
             }
             else {
                 continue;
             }
         }
         else
         {
             foreach (string str in listParams)
             {
                 bool isValidParam = false;
                 for (int i = 0; i < currentList.Count; i++)
                 {
                     if (currentList[i].Parameter.Equals(str))
                     {
                         string line = str + ":" + currentList[i].Values;
                         lines.Add(line);
                         isValidParam = true;
                     }
                 }
                 if (!isValidParam)
                 {
                     Error.Write("The parameter " + str + " isnot exist in TCase =" + inTCase.Name+ " isnot valid. Do you want to continue? (y/n)");
                     string ans = In.ReadLine();
                     if (ans.Equals("n") || ans.Equals("N"))
                     {
                         return false;
                     }
                 }
             }
             if (lines.Count == currentList.Count)
             {
                 pict Pict = new pict();
                 listvalues = Pict.Generate(lines);
                 GenerateTestDatas(listvalues, inTCase);
             }
         }
     }
     return true;
 }
Пример #2
0
        protected override bool Run()
        {
            string input;
            do
            {
                do
                {
                    Out.WriteLine("///////////////////////////////////////////////////////////////////////////////////////////////");
                    Out.WriteLine("/////////////////////////////////////TESTCASE//////////////////////////////////////////////////");
                    Out.WriteLine("///////////////////////////////////////////////////////////////////////////////////////////////");
                    Out.WriteLine("Name         :Parameters                   ");
                    foreach (TestCase item in listTCase)
                    {
                        Out.WriteLine(item.Name + ":" + item.Parameters);
                        Out.WriteLine();
                    }
                    Out.WriteLine("///////////////////////////////////////////////////////////////////////////////////////////////");
                    Out.WriteLine("/////////////////////////////////////TESTCASE//////////////////////////////////////////////////");
                    Out.WriteLine("///////////////////////////////////////////////////////////////////////////////////////////////");
                    Out.WriteLine("Please type the testcase's name that you want to generate testdata.");
                    Out.WriteLine("/e: for exit to menu.");
                    Out.Write("TestCase: ");
                    input = In.ReadLine();
                    if (input.Equals("/e"))
                        break;
                } while (!TCaseExist(input));
                if (input.Equals("/e"))
                    break;
                TestCase inTCase = getTestCase(input);
                List<string> listParams = util.getListValueFromString(inTCase.Parameters);
                int nArguments = listParams.Count;
                List<string> lines = new List<string>(nArguments);
                List<string> listvalues = new List<string>();
                do
                {
                    bool flag = true;
                    Out.WriteLine("Please type the input param with syntax: [value1],[value2],..[valuen]");
                    Out.WriteLine("/b: for choose another testcase.");
                    Out.WriteLine("/e: for exit to menu.");
                    for (int i = 0; i < nArguments; i++)
                    {
                        Out.Write("Input for param " + listParams[i] + " :");
                        input = In.ReadLine();

                        if (input.Equals("/b") || input.Equals("/e"))
                            flag = false;
                        string temp = listParams[i] + ":" + input;
                        lines.Add(temp);
                    }
                    if (!flag)
                        break;
                    pict Pict = new pict();
                    listvalues = Pict.Generate(lines);
                } while (!GenerateTestDatas(listvalues, inTCase));
            } while (!input.Equals("/e"));
            return true;
        }