AIMA.Test.Core.Unit.Logic.FOL.CommonFOLInferenceProcedureTests.testFullFOLKBLovesAnimalQueryNotKillsJackTunaSucceeds C# (CSharp) Method

testFullFOLKBLovesAnimalQueryNotKillsJackTunaSucceeds() protected method

protected testFullFOLKBLovesAnimalQueryNotKillsJackTunaSucceeds ( InferenceProcedure infp, bool expectedToTimeOut ) : void
infp InferenceProcedure
expectedToTimeOut bool
return void
        protected void testFullFOLKBLovesAnimalQueryNotKillsJackTunaSucceeds(
                InferenceProcedure infp, bool expectedToTimeOut)
        {
            FOLKnowledgeBase akb = FOLKnowledgeBaseFactory
                    .createLovesAnimalKnowledgeBase(infp);
            List<Term> terms = new List<Term>();
            terms.Add(new Constant("Jack"));
            terms.Add(new Constant("Tuna"));
            NotSentence query = new NotSentence(new Predicate("Kills", terms));

            InferenceResult answer = akb.ask(query);

            Assert.IsTrue(null != answer);
            if (expectedToTimeOut)
            {
                Assert.IsFalse(answer.isPossiblyFalse());
                Assert.IsFalse(answer.isTrue());
                Assert.IsTrue(answer.isUnknownDueToTimeout());
                Assert.IsFalse(answer.isPartialResultDueToTimeout());
                Assert.IsTrue(0 == answer.getProofs().Count);
            }
            else
            {
                Assert.IsFalse(answer.isPossiblyFalse());
                Assert.IsTrue(answer.isTrue());
                Assert.IsFalse(answer.isUnknownDueToTimeout());
                Assert.IsFalse(answer.isPartialResultDueToTimeout());
                Assert.IsTrue(1 == answer.getProofs().Count);
                Assert.IsTrue(0 == answer.getProofs()[0]
                        .getAnswerBindings().Count);
            }
        }