public void RuleWithGoodAndBadAndUnknownLink()
        {
            var linkVerifierService = new RuleRunner(new List <ILinkRule> {
                bassicRule
            });
            var result = linkVerifierService.VerifyLinks(links);

            AssertLinkIsBad(result, badLink);
            AssertLinkIsGood(result, goodLink);
            AssertLinkIsUnknown(result, unknownLink);
        }
        public void RuleDisapprovesLink_LinkReturnedBad()
        {
            var linkVerifierService = new RuleRunner(new List <ILinkRule> {
                bassicRule
            });
            var result = linkVerifierService.VerifyLinks(new List <LinkDto> {
                badLink
            });

            AssertLinkIsBad(result, badLink);
        }
        public void RuleIgnoresLink_LinkReturnedUnknown()
        {
            var linkVerifierService = new RuleRunner(new List <ILinkRule> {
                bassicRule
            });
            var result = linkVerifierService.VerifyLinks(new List <LinkDto> {
                unknownLink
            });

            AssertLinkIsUnknown(result, unknownLink);
        }
Exemple #4
0
        public void AnylizeThousandsOfLinks_AllLinksInResult()
        {
            var rule1               = A.Fake <ILinkRule>();
            var rule2               = A.Fake <ILinkRule>();
            var allLinks            = CreateAllLinks(rule1, rule2);
            var linkVerifierService = new RuleRunner(new [] { rule1, rule2 });

            var results = linkVerifierService.VerifyLinks(allLinks);

            AssertLinkWereClassifiedCorrectly(results);
            Assert.AreEqual(LinkLoop * 2, results.GoodLinks.Count(), "Didn't get enough good links");
            Assert.AreEqual(LinkLoop, results.BadLinks.Count(), "Didn't get enough bad links");
            Assert.AreEqual(LinkLoop * 3, results.UnknownLinks.Count(), "Didn't get enough unknown links");
        }
        public void RuleSetsLinkToUnknownTest_NextRulesIgnoreLinks()
        {
            var firstRule  = A.Fake <ILinkRule>();
            var secondRule = A.Fake <ILinkRule>();

            firstRule.SetLinkTo(true, LinkStatus.Unknown, unknownLink);
            secondRule.SetLinkTo(true, LinkStatus.Good, unknownLink);

            var linkVerifierService = new RuleRunner(new List <ILinkRule> {
                firstRule, secondRule
            });
            var result = linkVerifierService.VerifyLinks(links);

            AssertLinkIsUnknown(result, unknownLink);
        }
        public void TwoRulesTest()
        {
            var firstRule  = A.Fake <ILinkRule>();
            var secondRule = A.Fake <ILinkRule>();

            firstRule.SetLinkTo(true, LinkStatus.Bad, badLink);
            secondRule.SetLinkTo(true, LinkStatus.Good, goodLink);

            var linkVerifierService = new RuleRunner(new List <ILinkRule> {
                firstRule, secondRule
            });
            var result = linkVerifierService.VerifyLinks(links);

            AssertLinkIsBad(result, badLink);
            AssertLinkIsGood(result, goodLink);
            AssertLinkIsUnknown(result, unknownLink);
        }