public void RaiseWhenUnboundVariable()
{
Context context = new Context();
var expr = new ListExpression(new IExpression[] { new ConstantExpression(1), new VariableExpression(new Variable("X")), new AtomExpression(new Atom("y")) });
Assert.IsTrue(expr.HasVariable());
try
{
expr.Evaluate(context, false);
Assert.Fail();
}
catch (Exception ex)
{
Assert.AreEqual("variable 'X' is unbound", ex.Message);
}
}