protected void testEqualityAndSubstitutionNoAxiomsKBabcdPFFASucceeds(
InferenceProcedure infp, bool expectedToFail)
{
FOLKnowledgeBase akb = FOLKnowledgeBaseFactory
.createABCDEqualityAndSubstitutionKnowledgeBase(infp, false);
List<Term> terms = new List<Term>();
terms.Add(new Constant("A"));
Function fa = new Function("F", terms);
terms = new List<Term>();
terms.Add(fa);
Function ffa = new Function("F", terms);
terms = new List<Term>();
terms.Add(ffa);
Predicate query = new Predicate("P", terms);
InferenceResult answer = akb.ask(query);
Assert.IsTrue(null != answer);
if (expectedToFail)
{
Assert.IsTrue(answer.isPossiblyFalse());
Assert.IsFalse(answer.isTrue());
Assert.IsFalse(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);
}
}
}