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