public void TestCustomFunction() { var engine = new ExpressionEngine((string func) => { if (func == "custom") { return(ExpressionFunctions.Numeric("custom", (args) => args[0] + args[1])); } else { return(ExpressionFunctions.Lookup(func)); } }); var lgFile = LGParser.ParseFile(GetExampleFilePath("CustomFunction.lg"), null, engine); var evaled = lgFile.EvaluateTemplate("template"); Assert.AreEqual(3, evaled); }
public void TestCustomFunction() { var parser = new ExpressionParser((string func) => { if (func == "custom") { return(ExpressionFunctions.Numeric("custom", (args) => args[0] + args[1])); } else { return(Expression.Lookup(func)); } }); var templates = Templates.ParseFile(GetExampleFilePath("CustomFunction.lg"), null, parser); var evaled = templates.Evaluate("template"); Assert.AreEqual(3, evaled); evaled = templates.Evaluate("callRef"); Assert.AreEqual(12, evaled); }