@Test
public void evaluateAggregateFunctions(){

	List<Integer> values = Arrays.asList(1, 2, 3);
	Object min = evaluate("min", values);
	assertEquals(1, min);
	assertEquals(DataType.INTEGER, TypeUtil.getDataType(min));
	Object max = evaluate("max", values);
	assertEquals(3, max);
	assertEquals(DataType.INTEGER, TypeUtil.getDataType(max));
	Object average = evaluate("avg", values);
	assertEquals(2d, average);
	assertEquals(DataType.DOUBLE, TypeUtil.getDataType(average));
	Object sum = evaluate("sum", values);
	assertEquals(6, sum);
	assertEquals(DataType.INTEGER, TypeUtil.getDataType(sum));
	Object product = evaluate("product", values);
	assertEquals(6, product);
	assertEquals(DataType.INTEGER, TypeUtil.getDataType(product));
}