List<AbstractColumn> columns =
Lists.newArrayList((AbstractColumn) new SimpleColumn("dateCol"));
ScalarFunctionColumn sfc =
new ScalarFunctionColumn(columns, scalarFunction);
DataTableColumnLookup lookup = new DataTableColumnLookup(table);
Value value = sfc.getValue(lookup, row);
Value expectedValueFromDate = new NumberValue(2008);
assertEquals(expectedValueFromDate, value);
// Check datetime value.
List<AbstractColumn> columns1 =
Lists.newArrayList((AbstractColumn) new SimpleColumn("dateTimeCol"));
sfc = new ScalarFunctionColumn(columns1, scalarFunction);
lookup = new DataTableColumnLookup(table);
value = sfc.getValue(lookup, row);
Value expectedValueFromDateTime = new NumberValue(2007);
assertEquals(value, expectedValueFromDateTime);
// Check bad input (timeofday value).
List<AbstractColumn> columns2 =
Lists.newArrayList((AbstractColumn) new SimpleColumn("timeOfDayCol"));