Example #1
0
 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}");
     }
 }
Example #5
0
 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;
 }
Example #6
0
        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;
            }
        }
Example #7
0
 public void DrawProps(IXMLTransformRule rule)
 {
     RulePropsDrawer.DrawRule(View.ruleProps, rule, View);
 }
Example #8
0
 private void Duplicate()
 {
     Rule = (IXMLTransformRule)Copy.Clone();
 }