private void GetTestValues(List <ValueObject> result, TestCase.CollectionType collectionType) { int index = CalculateIndexOfConditionOrAction(collectionType); foreach (TestCase testCase in TestCasesRoot.TestCases) { result.Add(testCase.GetValueObject(collectionType, index)); } }
int CalculateIndexOfConditionOrAction(TestCase.CollectionType collectionType) { IList <ValueObject> values; if (collectionType == TestCase.CollectionType.Conditions) { values = TestCasesRoot.TestCases[0].Conditions; } else { values = TestCasesRoot.TestCases[0].Actions; } ValueObject value = values.FirstOrDefault(vo => vo.ConditionOrActionParent.Equals(this)); if (value != null) { int index = values.IndexOf(value); return(index); } return(-1); }
void PopulateRows <TType>(DataTable dataTable, IList <TType> list, IList <TestCase> testCases, TestCase.CollectionType colType) { switch (colType) { case TestCase.CollectionType.Conditions: ConditionsBeginChange?.Invoke(); break; case TestCase.CollectionType.Actions: ActionsBeginChange?.Invoke(); break; default: throw new ArgumentOutOfRangeException(nameof(colType), colType, null); } dataTable.Rows.Clear(); int rowIndex = 0; foreach (TType conditionActionBase in list) { List <object> values = new List <object>(); values.Add(conditionActionBase); int columnIndex = 1; foreach (TestCase testCase in testCases) { var value = testCase.GetValueObject(colType, rowIndex); values.Add(value); columnIndex++; } rowIndex++; dataTable.Rows.Add(values.ToArray()); } }
public static void AddValueObjects <TType>(TestCase tc, ObservableCollection <TType> list, TestCase.CollectionType colType) where TType : IConditionAction { foreach (IConditionAction condition in list) { ValueObject vo = ValueObject.Create(condition); vo.TestProperty = tc.Name + " " + condition.Name; tc.AddValueObject(colType, vo); } }