public void RemoveRule(string key, IXMLTransformRule rule) { if (rules.ContainsKey(key)) { rules[key].Remove(rule); } }
public static void Parse(XmlNode ruleNode, ITestCase TestCase) { XmlNode path = ruleNode.SelectSingleNode("Path"); if (path == null) { Console.Error.WriteLine("Path tag missing. Skipping"); return; } XmlNode type = ruleNode.SelectSingleNode("Type"); if (type == null) { Console.Error.WriteLine($"Xml Rule has no type. Skipping."); return; } TransformRuleTypes t; if (!Enum.TryParse <TransformRuleTypes>(type.InnerText, true, out t)) { Console.Error.WriteLine($"Not a valid type - {type.InnerText}. Skipping."); return; } // TODO: Create a Transform Rule Factory here, based on the type ITransformRuleFactory factory = new TransformRuleFactory(); IXMLTransformRule rule = factory.createRule(t, ruleNode); if (rule != null) { TestCase.AddRule(path.InnerText, rule); } }
private void SelectTreeViewItem(object source, RoutedEventArgs e) { try { ListViewItem item = (ListViewItem)source; IXMLTransformRule rule = item.DataContext as IXMLTransformRule; ViewModel.View.ruleTree.SelectNode(rule.Path); } catch (Exception err) { MessageBox.Show($"Unexpected error occured: {err.Message}\n\n{err.StackTrace}"); } }
private void UpdateRuleProps(object source, RoutedEventArgs e) { try { ListViewItem item = (ListViewItem)source; IXMLTransformRule rule = item.DataContext as IXMLTransformRule; ViewModel.DrawProps(rule); } catch (Exception err) { MessageBox.Show($"Unexpected error occured, sorry: {err.Message}\n\n{err.StackTrace}"); } }
public void AddRule(string key, IXMLTransformRule rule) { if (rules.ContainsKey(key)) { rules[key].Add(rule); } else { rules[key] = new List <IXMLTransformRule>() { rule } }; rule.Parent = this; }
public static void DrawRule(StackPanel panel, IXMLTransformRule rule, RuleViewer View) { switch (rule.RuleType) { case TransformRuleTypes.Fixed: DrawFixedRule(panel, (FixedStringTransformRule)rule, View); break; case TransformRuleTypes.Random: DrawRandomRule(panel, (RandomStringTransformRule)rule, View); break; case TransformRuleTypes.RandomInteger: DrawRandomIntRule(panel, (RandomIntegerTransformRule)rule, View); break; case TransformRuleTypes.RepeatNode: DrawRepeatNodeRule(panel, (RepeatNodeTransformRule)rule, View); break; case TransformRuleTypes.IncrementString: DrawIncrementRule(panel, (IncrementStringTransformRule)rule, View); break; case TransformRuleTypes.SequenceString: DrawSequenceRule(panel, (SequenceTransformRule)rule, View); break; case TransformRuleTypes.RemoveNode: DrawRemoveRule(panel, (RemoveNodeTransformRule)rule, View); break; default: break; } }
public void DrawProps(IXMLTransformRule rule) { RulePropsDrawer.DrawRule(View.ruleProps, rule, View); }
private void Duplicate() { Rule = (IXMLTransformRule)Copy.Clone(); }