package org.deri.tarql.functions; import static org.junit.Assert.assertEquals; import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; import org.apache.jena.shared.PrefixMapping; import org.apache.jena.shared.impl.PrefixMappingImpl; import org.apache.jena.sparql.engine.binding.BindingFactory; import org.apache.jena.sparql.expr.Expr; import org.apache.jena.sparql.function.FunctionEnv; import org.apache.jena.sparql.function.FunctionEnvBase; import org.apache.jena.sparql.util.ExprUtils; import org.deri.tarql.tarql; import org.junit.Before; public abstract class FunctionTest { protected PrefixMapping prefixes; protected FunctionEnv env; @Before public void setUp() { prefixes = new PrefixMappingImpl(); prefixes.setNsPrefix("tarql", tarql.NS); env = new FunctionEnvBase(); env.getContext().set(ExpandPrefixFunction.PREFIX_MAPPING, prefixes); } protected void assertEval(Node expected, String expression) { assertEquals(expected, eval(expression)); } protected Node eval(String expression) { Expr expr = ExprUtils.parse(expression, prefixes); return expr.eval(BindingFactory.root(), env).asNode(); } protected Node stringNode(String s) { return NodeFactory.createLiteral(s); } }