Exemple #1
0
        public void ChooseRendering_RuleApplies_RenderingMatchFound_FollowingWord()
        {
            var selectRenderingEndingInBAfterWith = new RenderingSelectionRule(@"{0} for\b", @"b$");

            Assert.AreEqual("Renderingb", selectRenderingEndingInBAfterWith.ChooseRendering(
                                "Was Mark for or against discipleship?", new Word[] { "Mark" }, new[] { "bob Renderinga", "Renderingb" }));
        }
Exemple #2
0
        public void ChooseRendering_RuleApplies_RenderingMatchFound_Prefix()
        {
            var selectRenderingEndingInBAfterWith = new RenderingSelectionRule(@"\bpre\w*{0}", @"^pre");

            Assert.AreEqual("preRendering", selectRenderingEndingInBAfterWith.ChooseRendering(
                                "What is a prebaptism ceremony?", new Word[] { "bapt" }, new[] { "unRendering preacher", "preRendering", "antiRendering" }));
        }
Exemple #3
0
        public void ChooseRendering_RuleDoesNotApply_TermNotInQuestion()
        {
            var selectRenderingEndingInAAfterXyz = new RenderingSelectionRule(@"\bwith {0}", @"a$");

            Assert.IsNull(selectRenderingEndingInAAfterXyz.ChooseRendering(
                              "Why even bother with a dude named Mark?", new Word[] { "Mark" }, new[] { "Renderinga", "Renderingb" }));
        }
Exemple #4
0
        public void ChooseRendering_RuleApplies_RenderingMatchFound_PrecedingWord()
        {
            var selectRenderingEndingInBAfterWith = new RenderingSelectionRule(@"\bwith {0}", @"b$");

            Assert.AreEqual("Renderingb", selectRenderingEndingInBAfterWith.ChooseRendering(
                                "Why even bother with Mark?", new Word[] { "Mark" }, new[] { "Renderinga", "Renderingb" }));
        }
Exemple #5
0
        public void ChooseRendering_InvalidRenderingMatchExpr_BadRegex()
        {
            var bogusRule = new RenderingSelectionRule(@"about\b {0}", @"a)");

            Assert.IsNull(bogusRule.ChooseRendering(
                              "Is this a question about Mark?", new Word[] { "Mark" }, new[] { "Renderinga", "Renderingb" }));
        }
Exemple #6
0
        public void ChooseRendering_InvalidQuestionMatchExpr_NoKeyTermPlaceholder()
        {
            var bogusRule = new RenderingSelectionRule(@"\bxyz\b", "a$");

            Assert.IsNull(bogusRule.ChooseRendering(
                              "Is this a question about xyz?", new Word[] { "Mark" }, new[] { "Renderinga", "Renderingb" }));
        }
Exemple #7
0
        public void ChooseRendering_RuleApplies_RenderingMatchNotFound()
        {
            var selectRenderingEndingInCAfterWith = new RenderingSelectionRule(@"\bwith\b {0}", @"c$");

            Assert.IsNull(selectRenderingEndingInCAfterWith.ChooseRendering(
                              "Why even bother with Mark?", new Word[] { "Mark" }, new[] { "Renderinga", "Renderingb" }));
        }
Exemple #8
0
        public void ChooseRendering_RuleApplies_MultiWordTermMatch()
        {
            var selectRenderingEndingInBAfterWith = new RenderingSelectionRule(@"Why {0}", @"b$");

            Assert.AreEqual("Renderingb", selectRenderingEndingInBAfterWith.ChooseRendering(
                                "Why even - bother - with Mark?", new Word[] { "even", "bother", "with" }, new[] { "Renderinga", "Renderingb" }));
        }
Exemple #9
0
        public void ChooseRendering_RuleApplies_RenderingMatchFound_Suffix()
        {
            var selectRenderingEndingInBAfterWith = new RenderingSelectionRule(@"{0}\w*ed\b", "o\u0301$");

            Assert.AreEqual("sano\u0301", selectRenderingEndingInBAfterWith.ChooseRendering(
                                "Was the woman healed?", new Word[] { "heal" }, new[] { "sanaba", "sano\u0301", "curaba", "curo\u0301" }));
        }