public void CreateMissingTestCases(TestCasesRoot root) { TestCasesRoot = root; CreatedTestCases = new List <TestCase>(); CreateAllTestCases(TestCasesRoot.Conditions); }
/// <summary> /// used for unit tests /// </summary> /// <returns></returns> public static TestCasesRoot CreateSimpleTable2(int conditionCount, int actionCount, int testCasesCount) { TestCasesRoot testCasesRoot = new TestCasesRoot(); testCasesRoot.CreateSimpleTableInternal2(conditionCount, actionCount); testCasesRoot.AddAndSelectTestCases2(testCasesCount); testCasesRoot.FinishTableCreation(); return(testCasesRoot); }
/// <summary> /// used for unit tests /// </summary> /// <returns></returns> public static TestCasesRoot CreateSimpleTable() { TestCasesRoot testCasesRoot = new TestCasesRoot(); testCasesRoot.CreateSimpleTableInternal(); testCasesRoot.AddAndSelectTestCases(); testCasesRoot.FinishTableCreation(); return(testCasesRoot); }
public void Load(TestCasesRoot testCasesRoot) { ConditionActionIdDictionary = new Dictionary <int, ConditionActionBase>(); XmlDocument doc = new XmlDocument(); doc.Load(FilePath); XmlElement root = doc.DocumentElement; if (root.Name.Equals(XmlNames.DecisionTableRootName)) { if (root.Attributes[XmlNames.DescriptonName] != null) { testCasesRoot.Description = root.Attributes[XmlNames.DescriptonName].Value; } else { testCasesRoot.Description = ""; } var xmlConditions = root.GetElementsByTagName(XmlNames.ConditionsName); var element = xmlConditions[0] as XmlElement; foreach (XmlElement item in element.GetElementsByTagName(XmlNames.ConditionName)) { ConditionObject condition; Load(item, out condition); testCasesRoot.Conditions.Add(condition); ConditionActionIdDictionary.Add(condition.LoadSaveId, condition); } var xmlActions = root.GetElementsByTagName(XmlNames.ActionsName); element = xmlActions[0] as XmlElement; foreach (XmlElement item in element.GetElementsByTagName(XmlNames.ActionName)) { ActionObject action; Load(item, out action); testCasesRoot.Actions.Add(action); ConditionActionIdDictionary.Add(action.LoadSaveId, action); } var xmlTestCases = root.GetElementsByTagName(XmlNames.TestCasesName); element = xmlTestCases[0] as XmlElement; int displayIndex = 1; foreach (XmlElement item in element.GetElementsByTagName(XmlNames.TestCaseName)) { TestCase testCase; Load(item, out testCase); testCase.DisplayIndex = displayIndex++; testCasesRoot.TestCases.Add(testCase); } } else { throw new XmlElementNotFoundException(XmlNames.DecisionTableRootName); } }
/// <summary> /// for unit tests only /// </summary> /// <param name="root"></param> /// <param name="conditionValues"></param> /// <param name="actionValues"></param> public void SetValues(TestCasesRoot root, List <ValueObject> conditionValues, List <ValueObject> actionValues) { if (conditionValues.Count != root.Conditions.Count) { throw new Exception("internal error"); } for (int idx = 0; idx < root.Conditions.Count; idx++) { Conditions[idx].SelectedItemIndex = conditionValues[idx].SelectedItemIndex; } for (int idx = 0; idx < root.Actions.Count; idx++) { Actions[idx].SelectedItemIndex = actionValues[idx].SelectedItemIndex; } }
private void BuildIdDictionary(TestCasesRoot testCasesRoot) { int id = 1; foreach (ConditionObject condition in testCasesRoot.Conditions) { condition.LoadSaveId = id; ConditionActionIdDictionary.Add(id++, condition); } if (id < 1000) { id = 1000; } foreach (ActionObject action in testCasesRoot.Actions) { action.LoadSaveId = id; ConditionActionIdDictionary.Add(id++, action); } }
public void Save(TestCasesRoot testCasesRoot) { ConditionActionIdDictionary = new Dictionary <int, ConditionActionBase>(); BuildIdDictionary(testCasesRoot); XmlDocument doc = new XmlDocument(); doc.AppendChild(doc.CreateXmlDeclaration("1.0", "UTF-8", null)); var root = doc.CreateElement(XmlNames.DecisionTableRootName); doc.AppendChild(root); if (!string.IsNullOrEmpty(testCasesRoot.Description)) { root.AddAttribute(XmlNames.DescriptonName, testCasesRoot.Description); } var xmlConditions = root.AddElement(XmlNames.ConditionsName); foreach (ConditionObject condition in testCasesRoot.Conditions) { Save(xmlConditions, condition); } var xmlActions = root.AddElement(XmlNames.ActionsName); foreach (ActionObject action in testCasesRoot.Actions) { Save(xmlActions, action); } var xmlTestCases = root.AddElement(XmlNames.TestCasesName); foreach (TestCase testCase in testCasesRoot.TestCases.OrderBy(tc => tc.DisplayIndex)) { Save(xmlTestCases, testCase); } doc.Save(FilePath); }
public List <TestCase> Expand(TestCasesRoot root) { return(Expand(root.Conditions, root.TestCases)); }