protected void testDefiniteClauseKBWeaponsQueryCriminalXReturnsWestSucceeds(
InferenceProcedure infp)
{
FOLKnowledgeBase wkb = FOLKnowledgeBaseFactory
.createWeaponsKnowledgeBase(infp);
List<Term> terms = new List<Term>();
terms.Add(new Variable("x"));
Predicate query = new Predicate("Criminal", terms);
InferenceResult answer = wkb.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("West"), answer.getProofs()[0]
.getAnswerBindings()[new Variable("x")]);
}