public void ExtractorSerAndDeser()
        {
            MemberExtractorNode sut     = new MemberExtractorNode();
            String              ser     = XmlHelper.ToXml(sut);
            XElement            element = XElement.Parse(ser);
            MemberExtractorNode deser   = (MemberExtractorNode)XmlHelper.GetExtractorNode(element);

            Assert.That(deser.RuleNodes, Has.Count.EqualTo(0));
        }
        public void DeserializationOfExtractorEmpty()
        {
            XElement      element = XElement.Parse("<member name='field'></member>");
            IExtratorNode rule    = XmlHelper.GetExtractorNode(element);

            Assert.That(rule, Is.TypeOf <MemberExtractorNode>());
            MemberExtractorNode extractor = (MemberExtractorNode)rule;

            Assert.That(extractor.RuleNodes, Has.Count.EqualTo(0));
        }
        public void DeserializationOfExtractorDoubledRule()
        {
            XElement      element = XElement.Parse("<member name='field'><required /><range><min>100</min><max>200</max></range></member>");
            IExtratorNode rule    = XmlHelper.GetExtractorNode(element);

            Assert.That(rule, Is.TypeOf <MemberExtractorNode>());
            MemberExtractorNode extractor = (MemberExtractorNode)rule;

            Assert.That(extractor.RuleNodes, Has.Count.EqualTo(2));
            Assert.That(extractor.RuleNodes[0], Is.InstanceOf <RequiredRuleNode>());
            Assert.That(extractor.RuleNodes[1], Is.InstanceOf <RangeRuleNode>());
        }
        public void DeserializationOfExtractorWeird()
        {
            XmlHelper.AddType(typeof(WeirdRuleNode));
            XElement      element = XElement.Parse("<member name='field'><required /><weird /></member>");
            IExtratorNode rule    = XmlHelper.GetExtractorNode(element);

            Assert.That(rule, Is.TypeOf <MemberExtractorNode>());
            MemberExtractorNode extractor = (MemberExtractorNode)rule;

            Assert.That(extractor.RuleNodes, Has.Count.EqualTo(2));
            Assert.That(extractor.RuleNodes[0], Is.InstanceOf <RequiredRuleNode>());
            Assert.That(extractor.RuleNodes[1], Is.InstanceOf <WeirdRuleNode>());
        }