MathematicalFunction { private static FunctionResolver pi() { return FunctionDSL.define(BuiltinFunctionName.PI.getName(), FunctionDSL.impl(() -> new ExprDoubleValue(Math.PI), DOUBLE) ); }  static void register(BuiltinFunctionRepository repository);  }
@Test public void test_pi() { FunctionExpression pi = dsl.pi(); assertThat(pi.valueOf(valueEnv()), allOf(hasType(DOUBLE), hasValue(Math.PI))); }