public void RaiseIfNoFunctionExported()
{
Context context = new Context();
Module module = new Module(null);
context.SetValue("mod", module);
Function function = new Function(context, new object[] { new Variable("X"), new Variable("Y") }, new AddExpression(new VariableExpression(new Variable("X")), new VariableExpression(new Variable("Y"))));
module.Context.SetValue("add/2", function);
QualifiedCallExpression expr = new QualifiedCallExpression(new AtomExpression(new Atom("mod")), new AtomExpression(new Atom("add")), new IExpression[] { new ConstantExpression(1), new ConstantExpression(2) });
try
{
expr.Evaluate(context);
Assert.Fail();
}
catch (Exception ex)
{
Assert.AreEqual("undefined function mod:add/2", ex.Message);
}
}