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

testEqualityAndSubstitutionNoAxiomsKBabcdFFASucceeds() protected méthode

protected testEqualityAndSubstitutionNoAxiomsKBabcdFFASucceeds ( InferenceProcedure infp, bool expectedToFail ) : void
infp InferenceProcedure
expectedToFail bool
Résultat void
        protected void testEqualityAndSubstitutionNoAxiomsKBabcdFFASucceeds(
                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);
            TermEquality query = new TermEquality(new Function("F", terms),
                    new Constant("A"));

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