}
@Test
public void testNormalizeSymbolNonLiteral() {
EqOperator op = getOp(DataTypes.INTEGER);
Function f1 = new Function(
new FunctionInfo(
new FunctionIdent("dummy_function", Arrays.<DataType>asList(DataTypes.INTEGER)),
DataTypes.INTEGER
),
Arrays.<Symbol>asList(Literal.newLiteral(2))
);
Function f2 = new Function(
new FunctionInfo(
new FunctionIdent("dummy_function", Arrays.<DataType>asList(DataTypes.INTEGER)),
DataTypes.INTEGER
),
Arrays.<Symbol>asList(Literal.newLiteral(2))
);
assertThat(f1.equals(f2), is(true)); // symbols are equal
// EqOperator doesn't know (yet) if the result of the functions will be equal so no normalization
Function function = new Function(op.info(), Arrays.<Symbol>asList(f1, f2));
Symbol result = op.normalizeSymbol(function);
assertThat(result, instanceOf(Function.class));
}