Пример #1
0
 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"
         );
 }
Пример #2
0
 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");
 }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
 public void StoreNonExclusiveToExclusiveTest()
 {
     KB.Assert(KB.Store + "John" + "loves" + "Mary");
     KB.Assert(KB.Store + "John" + "loves" - "Kelly");
 }