示例#1
0
        public void ValidateDoesNotThrowIfStatMatchersContainReferences()
        {
            var statMatchersList = new[]
            {
                MockStatMatchers(new[] { "SMatchers1" }, "({SMatchers2})"),
                MockStatMatchers(new[] { "SMatchers2" }, "({Matchers1})"),
            };

            Assert.DoesNotThrow(() =>
                                ReferenceValidator.Validate(DefaultReferencedMatchersList, statMatchersList));
        }
示例#2
0
        public void ValidateDoesNotThrowIfStatMatchersNamesAreNotUnique()
        {
            var statMatchersList = new[]
            {
                MockStatMatchers(new[] { "SMatchers1" }),
                MockStatMatchers(new[] { "SMatchers1" })
            };

            Assert.DoesNotThrow(() =>
                                ReferenceValidator.Validate(DefaultReferencedMatchersList, statMatchersList));
        }
示例#3
0
        public void ValidateThrowsIfReferencedMatchersNamesAreNotUnique()
        {
            var referencedMatchersList = new[]
            {
                MockReferencedMatchers("Matchers1", "b"),
                MockReferencedMatchers("Matchers1", "a"),
            };

            Assert.Throws <ParseException>(() =>
                                           ReferenceValidator.Validate(referencedMatchersList, DefaultStatMatchersList));
        }
示例#4
0
        public void ValidateThrowsIfReferencedMatchersContainsReferences()
        {
            var referencedMatchersList = new[]
            {
                MockReferencedMatchers("Matchers1", "text ({Matchers2}) stuff"),
                MockReferencedMatchers("Matchers2", "a"),
            };

            Assert.Throws <ParseException>(() =>
                                           ReferenceValidator.Validate(referencedMatchersList, DefaultStatMatchersList));
        }
示例#5
0
        public void ValidateThrowsIfStatMatchersContainCyclicalReferences()
        {
            var statMatchersList = new[]
            {
                MockStatMatchers(new[] { "SMatchers1" }, "({SMatchers2})"),
                MockStatMatchers(new[] { "SMatchers2" }, "({SMatchers1})")
            };

            Assert.Throws <ParseException>(() =>
                                           ReferenceValidator.Validate(DefaultReferencedMatchersList, statMatchersList));
        }
        public Results Conclude()
        {
            var trashValidator = new TrashValidator();
            var trashResult    = trashValidator.Validate(_questions);

            if (trashResult.IsValid)
            {
                return(Results.Trash);
            }

            var referenceValidator = new ReferenceValidator();
            var referenceResult    = referenceValidator.Validate(_questions);

            if (referenceResult.IsValid)
            {
                return(Results.Reference);
            }

            var maybeValidator = new MaybeValidator();
            var maybeResult    = maybeValidator.Validate(_questions);

            if (maybeResult.IsValid)
            {
                return(Results.MaybeLater);
            }

            var projectsValidator = new ProjectsValidator();
            var projectsResult    = projectsValidator.Validate(_questions);

            if (projectsResult.IsValid)
            {
                return(Results.Projects);
            }

            var nowValidator = new NowValidator();
            var nowResult    = nowValidator.Validate(_questions);

            if (nowResult.IsValid)
            {
                return(Results.DoItNow);
            }

            var rightPersonValidator = new RightPersonValidator();
            var rightPersonResult    = rightPersonValidator.Validate(_questions);

            if (rightPersonResult.IsValid)
            {
                return(Results.Delegate);
            }

            var calendarValidator = new CalendarValidator();
            var calendarResult    = calendarValidator.Validate(_questions);

            if (calendarResult.IsValid)
            {
                return(Results.Calendar);
            }

            var nextActionValidator = new NextActionValidator();
            var nextActionResult    = nextActionValidator.Validate(_questions);

            if (nextActionResult.IsValid)
            {
                return(Results.NextAction);
            }

            return(Results.None);
        }