Ejemplo n.º 1
0
        public void Test_Fail_Change_Perspective_To_Invalid_Perspective(string perspective)
        {
            var kb = new KB(Name.BuildName("Mark"));

            kb.Tell(Name.BuildName("IsPerson(Self)"), Name.BuildName(true), Name.BuildName("John(Self)"));

            Assert.Throws <ArgumentException>(() => kb.SetPerspective(Name.BuildName(perspective)));
        }
Ejemplo n.º 2
0
        public void Test_Self_Property()
        {
            var me = (Name)"Ana";
            var kb = new KB(me);

            kb.Tell((Name)"A(B)", Name.SELF_SYMBOL);
            Assert.AreEqual(kb.AskProperty((Name)"A(B)").Value, me);

            me = (Name)"John";
            kb.SetPerspective(me);
            Assert.AreEqual(kb.AskProperty((Name)"A(B)").Value, me);

            kb.Tell((Name)"A(B)", Name.SELF_SYMBOL, (Name)"Ana");
            Assert.AreEqual(kb.AskProperty((Name)"A(B)", (Name)"Ana").Value, (Name)"Ana");
        }
Ejemplo n.º 3
0
        public void Test_Tell_Pass_Add_Self_Belief_and_Change_Perspective_02()
        {
            var kb = new KB(Name.BuildName("Mark"));

            kb.Tell(Name.BuildName("IsPerson(Self)"), Name.BuildName(true), Name.BuildName("John(Self)"));

            kb.SetPerspective(Name.BuildName("Mary"));

            Assert.AreEqual(Name.NIL_STRING, kb.AskProperty(Name.BuildName("IsPerson(Mark)"), Name.BuildName("John(Self)")).Value.ToString());

            var  n = kb.AskProperty(Name.BuildName("IsPerson(Mary)"), Name.BuildName("John(Self)"));
            bool b;

            if (!n.Value.TryConvertToValue(out b))
            {
                Assert.Fail();
            }
            Assert.True(b);
        }