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

testDefiniteClauseKBKingsQueryEvilXReturnsJohnSucceeds() protected method

protected testDefiniteClauseKBKingsQueryEvilXReturnsJohnSucceeds ( InferenceProcedure infp ) : void
infp InferenceProcedure
return void
        protected void testDefiniteClauseKBKingsQueryEvilXReturnsJohnSucceeds(
                InferenceProcedure infp)
        {
            FOLKnowledgeBase kkb = FOLKnowledgeBaseFactory
                    .createKingsKnowledgeBase(infp);
            List<Term> terms = new List<Term>();
            terms.Add(new Variable("x"));
            Predicate query = new Predicate("Evil", terms);
            InferenceResult answer = kkb.ask(query);

            Assert.IsTrue(null != answer);
            Assert.IsFalse(answer.isPossiblyFalse());
            Assert.IsTrue(answer.isTrue());
            Assert.IsFalse(answer.isUnknownDueToTimeout());
            Assert.IsFalse(answer.isPartialResultDueToTimeout());
            Assert.IsTrue(1 == answer.getProofs().Count);
            Assert.IsTrue(1 == answer.getProofs()[0].getAnswerBindings()
                    .Count);
            Assert.AreEqual(new Constant("John"), answer.getProofs()[0]
                    .getAnswerBindings()[new Variable("x")]);
        }