Exemplo n.º 1
0
 public void TestUnifyVA()
 {
     var a = Var.NewVar();
     var v = new BasicVal { Value = rng.Next() };
     var g = Goal.Unify(v, a);
     var s = Goal.Eval(g).First();
     Assert.AreEqual(v.Value, s[a].Value);
 }
Exemplo n.º 2
0
 public void TestUnifyVVb()
 {
     var a = Var.NewVar();
     var b = Var.NewVar();
     var v = new BasicVal { Value = rng.Next() };
     var g = Goal.Conj(Goal.Unify<BasicVal>(a, b), Goal.Unify(b, v));
     var s = Goal.Eval(g).First();
     Assert.AreEqual(v.Value, s[a].Value);
 }
Exemplo n.º 3
0
 public void TestDisjunction()
 {
     var a = Var.NewVar();
     var v1 = new BasicVal { Value = rng.Next() };
     var v2 = new BasicVal { Value = rng.Next() };
     var g = Goal.Disj(Goal.Unify(a, v1), Goal.Unify(a, v2));
     var s = Goal.Eval(g).ToArray();
     Assert.AreEqual(v1.Value, s[0][a].Value);
     Assert.AreEqual(v2.Value, s[1][a].Value);
 }