private void GenerateButton_Click(object sender, EventArgs e) // <--- { TestGenerator tg = new TestGenerator(); int numTests = 0; int numInput = dataGridView1.Rows.Count; int rows = 0; string rangeStr = ""; string[] range = new string[2]; char cSplitInterval = '_'; char cSplitIntervals = ';'; if (dataGridView1.Rows.Count == 0) // error handling { return; } // error handling if (XMLChoice.Checked) { rows = dataGridView1.Rows.Count - 1; } else { rows = dataGridView1.Rows.Count; } numInput = rows; // <--- varList = new Variable[numInput]; for (int row = 0; row < rows; row++) // read information from GUI <--- { varList[row].name = dataGridView1.Rows[row].Cells[0].Value.ToString(); // name is in first column varList[row].datatype = dataGridView1.Rows[row].Cells[1].Value.ToString(); // datatype in second rangeStr = dataGridView1.Rows[row].Cells[2].Value.ToString(); // interval string[] i_vals = rangeStr.Split(cSplitIntervals); int numIntervals = i_vals.Length; //MessageBox.Show("Number of intervals: " + i_vals.Length); varList[row].intervals = new Interval[numIntervals]; for (int i = 0; i < numIntervals; i++) // set all the intervals to the Variable { range = i_vals[i].Split(cSplitInterval); varList[row].intervals[i].interval_a = range[0]; // start of interval varList[row].intervals[i].interval_b = range[1]; // end of interval //MessageBox.Show("Interval start: " + varList[row].intervals[i].interval_a + ""); } } if (comboBox1.SelectedIndex == 0) // Base choice { varListBC = new VariableBC[numInput]; for (int row = 0; row < rows; row++) // <--- { varListBC[row].variable = varList[row]; // add Variable to VariableBC list varListBC[row].baseChoice = dataGridView1.Rows[row].Cells[3].Value.ToString(); // add base value to VariableBC list } tableTests = tg.GetBaseChoiceTests(varListBC); // generate base choice test cases numTests = tg.GetNumTestCases(); // get number of tests, which i calculated in GetBaseChoiceTests } else if (comboBox1.SelectedIndex == 1) // Random { numTests = Decimal.ToInt32(numericUpDown1.Value); // get number of tests from GUI tableTests = tg.GetRandomTests(numTests, varList); // generate random test cases } dataGridView2.Columns.Clear(); // empty dataGridView dataGridView2.Rows.Clear(); for (int i = 0; i < numInput; i++) // add a column for each input { dataGridView2.Columns.Add("Column", varList[i].name + "(" + varList[i].datatype + ")"); } for (int row = 0; row < numTests; row++) // set test to each cell in the dataGridView (one test case per row) { dataGridView2.Rows.Add(); for (int col = 0; col < numInput; col++) { dataGridView2.Rows[row].Cells[col].Value = tableTests[row, col]; } } }
// <--- private void GenerateButton_Click(object sender, EventArgs e) { TestGenerator tg = new TestGenerator(); int numTests = 0; int numInput = dataGridView1.Rows.Count; int rows = 0; string rangeStr = ""; string[] range = new string[2]; char cSplitInterval = '_'; char cSplitIntervals = ';'; if (dataGridView1.Rows.Count == 0) // error handling return; // error handling if (XMLChoice.Checked) rows = dataGridView1.Rows.Count - 1; else rows = dataGridView1.Rows.Count; numInput = rows; // <--- varList = new Variable[numInput]; for (int row = 0; row < rows; row++) // read information from GUI <--- { varList[row].name = dataGridView1.Rows[row].Cells[0].Value.ToString(); // name is in first column varList[row].datatype = dataGridView1.Rows[row].Cells[1].Value.ToString(); // datatype in second rangeStr = dataGridView1.Rows[row].Cells[2].Value.ToString(); // interval string[] i_vals = rangeStr.Split(cSplitIntervals); int numIntervals = i_vals.Length; //MessageBox.Show("Number of intervals: " + i_vals.Length); varList[row].intervals = new Interval[numIntervals]; for (int i = 0; i < numIntervals; i++) // set all the intervals to the Variable { range = i_vals[i].Split(cSplitInterval); varList[row].intervals[i].interval_a = range[0]; // start of interval varList[row].intervals[i].interval_b = range[1]; // end of interval //MessageBox.Show("Interval start: " + varList[row].intervals[i].interval_a + ""); } } if (comboBox1.SelectedIndex == 0) // Base choice { varListBC = new VariableBC[numInput]; for (int row = 0; row < rows; row++) // <--- { varListBC[row].variable = varList[row]; // add Variable to VariableBC list varListBC[row].baseChoice = dataGridView1.Rows[row].Cells[3].Value.ToString(); // add base value to VariableBC list } tableTests = tg.GetBaseChoiceTests(varListBC); // generate base choice test cases numTests = tg.GetNumTestCases(); // get number of tests, which i calculated in GetBaseChoiceTests } else if (comboBox1.SelectedIndex == 1) // Random { numTests = Decimal.ToInt32(numericUpDown1.Value); // get number of tests from GUI tableTests = tg.GetRandomTests(numTests, varList); // generate random test cases } dataGridView2.Columns.Clear(); // empty dataGridView dataGridView2.Rows.Clear(); for (int i = 0; i < numInput; i++) // add a column for each input { dataGridView2.Columns.Add("Column", varList[i].name + "(" + varList[i].datatype + ")"); } for (int row = 0; row < numTests; row++) // set test to each cell in the dataGridView (one test case per row) { dataGridView2.Rows.Add(); for (int col = 0; col < numInput; col++) { dataGridView2.Rows[row].Cells[col].Value = tableTests[row, col]; } } }