Esempio n. 1
0
        public void DontMatchDifferentAtoms()
        {
            MatchBody match = new MatchBody(new Atom("a"), new ConstantExpression(1));

            var context = match.MakeContext(new Atom("b"), null);

            Assert.IsNull(context);
        }
Esempio n. 2
0
        public void MatchVariableInteger()
        {
            MatchBody match = new MatchBody(new Variable("X"), new VariableExpression(new Variable("X")));

            var context = match.MakeContext(123, null);

            Assert.IsNotNull(context);

            var result = match.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.AreEqual(123, result);
        }
Esempio n. 3
0
        public void MatchAtoms()
        {
            MatchBody match = new MatchBody(new Atom("a"), new ConstantExpression(1));

            var context = match.MakeContext(new Atom("a"), null);

            Assert.IsNotNull(context);

            var result = match.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result);
        }