public void testGetArgCount() { final List expected = Collections.singletonList(new LiteralExpressionImpl(10d)); function.setParameters(expected); assertEquals(1, function.getFunctionName().getArgumentCount()); }
@Test public void testVariableArgCount() { FunctionName name = new FunctionNameImpl( "test", parameter("result", Double.class), parameter("double", Double.class, 2, Integer.MAX_VALUE)); FunctionExpressionImpl f = new FunctionExpressionImpl(name) {}; assertEquals(-2, f.getFunctionName().getArgumentCount()); }
@Test public void testHigherCardinality() { FunctionName name = new FunctionNameImpl( "test", parameter("result", Double.class), parameter("double", Double.class, 2, 2)); FunctionExpressionImpl f = new FunctionExpressionImpl(name) {}; assertEquals(2, f.getFunctionName().getArgumentCount()); }
@Test public void testSimpleArguments() { FunctionName name = new FunctionNameImpl( "test", parameter("result", Double.class), parameter("one", Double.class), parameter("two", Double.class)); FunctionExpressionImpl f = new FunctionExpressionImpl(name) {}; assertEquals(2, f.getFunctionName().getArgumentCount()); } }
if (expression instanceof FunctionExpressionImpl) { FunctionExpressionImpl functionExpression = (FunctionExpressionImpl) expression; FunctionName function = functionExpression.getFunctionName();