public void MyTestInitialize() { KB.Clear(); KB.Assert( KB.Store + "Newt" + "loves" + "Newt", KB.Store + "John" + "loves" + "Mary", KB.Store + "John" + "loves" + "Kelly", KB.Store + "John" + "loves" + "Mary", KB.Store + "Kelly" + "loves" + "Mary" ); }
public void StoreExclusiveTest() { Assert.IsFalse(KB.Query + "John" + "loves" - "Mary"); KB.Assert(KB.Store + "John" + "loves" - "Mary"); Assert.IsTrue(KB.Query + "John" + "loves" - "Mary"); Assert.IsFalse(KB.Query + "John" + "loves" - "Kelly"); KB.Assert(KB.Store + "John" + "loves" - "Kelly"); Assert.IsFalse(KB.Query + "John" + "loves" - "Mary"); Assert.IsTrue(KB.Query + "John" + "loves" - "Kelly"); Assert.IsTrue(KB.Query + "John" + "loves"); Assert.IsTrue(KB.Query + "John"); }
public void SimpleRuleTest() { // Update: Mary loves everyone who loves her. var v = new Variable("v"); new RuleSet("test ruleset", new Rule( "Mary loves those who love her", KB.Query + v + "loves" + "Mary", () => KB.Assert(KB.Store + "Mary" + "loves" + v))).Run(); var v2 = new Variable("v2"); CollectionAssert.AreEqual(new object[] { "John", "Kelly" }, (KB.Query + "Mary" + "loves" + v2).FindAll(v2)); }
public void StoreVariableTest() { KB.Assert(KB.Store + "John" + "loves" + "Mary"); KB.Assert(KB.Store + "John" + "loves" + "Kelly"); KB.Assert(KB.Store + "John" + "loves" + "Mary"); KB.Assert(KB.Store + "Kelly" + "loves" + "Mary"); // Update: Mary loves everyone who loves her. var v = new Variable("v"); (KB.Query + v + "loves" + "Mary").DoAll( () => KB.Assert(KB.Store + "Mary" + "loves" + v) ); var v2 = new Variable("v2"); CollectionAssert.AreEqual(new object[] { "John", "Kelly" }, (KB.Query + "Mary" + "loves" + v2).FindAll(v2)); }
public void StoreNonExclusiveToExclusiveTest() { KB.Assert(KB.Store + "John" + "loves" + "Mary"); KB.Assert(KB.Store + "John" + "loves" - "Kelly"); }