public void MatchOneAtomAndTwoVariablesInTupleWithConcreteTuple()
{
Context context = new Context();
Atom p = new Atom("point");
Variable x = new Variable("X");
Variable y = new Variable("Y");
MatchExpression expr = new MatchExpression(new TupleExpression(new IExpression[] { new AtomExpression(p), new VariableExpression(x), new VariableExpression(y) }), new TupleExpression(new IExpression[] { new AtomExpression(new Atom("point")), new ConstantExpression(1), new ConstantExpression(2) }));
expr.Evaluate(context);
var result1 = context.GetValue("X");
var result2 = context.GetValue("Y");
Assert.IsNotNull(result1);
Assert.AreEqual(1, result1);
Assert.IsNotNull(result2);
Assert.AreEqual(2, result2);
}