AIMA.Test.Core.Unit.Logic.FOL.CommonFOLInferenceProcedureTests.testEqualityAndSubstitutionAxiomsKBabcdPFFASucceeds C# (CSharp) Méthode

testEqualityAndSubstitutionAxiomsKBabcdPFFASucceeds() protected méthode

protected testEqualityAndSubstitutionAxiomsKBabcdPFFASucceeds ( InferenceProcedure infp, bool expectedToTimeOut ) : void
infp InferenceProcedure
expectedToTimeOut bool
Résultat void
        protected void testEqualityAndSubstitutionAxiomsKBabcdPFFASucceeds(
                InferenceProcedure infp, bool expectedToTimeOut)
        {
            FOLKnowledgeBase akb = FOLKnowledgeBaseFactory
                    .createABCDEqualityAndSubstitutionKnowledgeBase(infp, true);

            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);

            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.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(0 == answer.getProofs()[0]
                        .getAnswerBindings().Count);
            }
        }