Ejemplo n.º 1
0
        public void ShouldNotDelegateToInnerRuleWhenProjectDoesNotMatchExpectedPattern()
        {
            //GIVEN
            var innerRule      = Substitute.For <IProjectScopedRule>();
            var projectPattern = Any.Pattern();
            var rule           = new ProjectScopedRuleApplicableToMatchingProject(projectPattern, innerRule);
            var target         = Substitute.For <IProjectScopedRuleTarget>();
            var report         = Any.Instance <IAnalysisReportInProgress>();

            target.HasProjectAssemblyNameMatching(projectPattern).Returns(false);

            //WHEN
            rule.Check(target, report);

            //THEN
            innerRule.ReceivedNothing();
        }
Ejemplo n.º 2
0
        public void ShouldDelegateToInnerRuleWhenProjectMatchesExpectedPattern()
        {
            //GIVEN
            var innerRule      = Substitute.For <IProjectScopedRule>();
            var projectPattern = Any.Pattern();
            var rule           = new ProjectScopedRuleApplicableToMatchingProject(projectPattern, innerRule);
            var target         = Substitute.For <IProjectScopedRuleTarget>();
            var report         = Any.Instance <IAnalysisReportInProgress>();

            target.HasProjectAssemblyNameMatching(projectPattern).Returns(true);

            //WHEN
            rule.Check(target, report);

            //THEN
            Received.InOrder(() =>
            {
                target.AddInfoAboutMatchingPatternTo(report);
                innerRule.Check(target, report);
            });
        }