public RuleEvaluationResult EvaluateRule(ArticleDefinition articleDefinition)
        {
            var diagramSection = articleDefinition.GetSections().FirstOrDefault(sect => sect.Name == "Diagrams");

            if (diagramSection == null)
            {
                return(new RuleEvaluationResult()
                {
                    FailureMessage = "Diagram Section Not Found",
                    Success = false,
                    RuleName = _name
                });
            }

            if (diagramSection.ContentElements.All(ce => ce.ContentType == ContentType.Resource))
            {
                return new RuleEvaluationResult()
                       {
                           Success  = true,
                           RuleName = _name
                       }
            }
            ;

            return(new RuleEvaluationResult()
            {
                FailureMessage = "Diagram Section may only contain Resource Elements",
                Success = false
            });
        }
    }
Ejemplo n.º 2
0
        public void ValidSectionWithExistingOrderCorrectlyReordersSections()
        {
            var ad = new ArticleDefinition();

            ad.AddSection(new Section("section 1", 1));
            ad.AddSection(new Section("section 2", 2));
            ad.AddSection(new Section("section 3", 3));

            var testSection = new Section("section 4", 2);

            var sectionAddedResult = ad.AddSection(testSection);

            Assert.IsInstanceOfType(sectionAddedResult, typeof(SectionAddedEvent));
            Assert.AreEqual(1, ad.GetSections().Where(sect => sect.Order == 2).Count());
            Assert.AreEqual("section 4", ad.GetSections().First(sect => sect.Order == 2).Name);
            Assert.AreEqual("section 2", ad.GetSections().First(sect => sect.Order == 3).Name);
        }
Ejemplo n.º 3
0
 public RuleEvaluationResult EvaluateRule(ArticleDefinition articleDefinition)
 {
     _articleName  = articleDefinition.Name;
     _articleCount = articleDefinition.GetSections().Count;
     return(_articleCount == _sectionCount
         ? new RuleEvaluationResult()
     {
         Success = true,
         RuleName = _name
     }
         : new RuleEvaluationResult()
     {
         FailureMessage =
             $"Article {_articleName} must have {_sectionCount} sections - it only has {_articleCount}",
         Success = false,
         RuleName = _name
     });
 }
Ejemplo n.º 4
0
        public RuleEvaluationResult EvaluateRule(ArticleDefinition articleDefinition)
        {
            var diagramSection = articleDefinition.GetSections().FirstOrDefault(sect => sect.Name == "Diagrams");

            if (diagramSection != null)
            {
                return new RuleEvaluationResult()
                       {
                           Success = true
                       }
            }
            ;

            return(new RuleEvaluationResult()
            {
                FailureMessage = "Article does not contain a Diagram section",
                Success = false,
                RuleName = _name
            });
        }
    }