package org.geotools.filter.function; import static org.junit.Assert.*; import static org.geotools.filter.capability.FunctionNameImpl.parameter; import org.geotools.filter.FunctionExpressionImpl; import org.geotools.filter.capability.FunctionNameImpl; import org.junit.Test; import org.opengis.filter.capability.FunctionName; import org.opengis.filter.expression.Function; public class FunctionExpressionImplTest { @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()); } }