@Test
void resolve_function_not_match() {

  when(functionSignature.match(notMatchFS)).thenReturn(WideningTypeRule.IMPOSSIBLE_WIDENING);
  when(notMatchFS.formatTypes()).thenReturn("[INTEGER,INTEGER]");
  when(functionSignature.formatTypes()).thenReturn("[BOOLEAN,BOOLEAN]");
  FunctionResolver resolver = new FunctionResolver(functionName,
      ImmutableMap.of(notMatchFS, notMatchBuilder));
  ExpressionEvaluationException exception = assertThrows(ExpressionEvaluationException.class,
      () -> resolver.resolve(functionSignature));
  assertEquals("add function expected {[INTEGER,INTEGER]}, but get [BOOLEAN,BOOLEAN]",
      exception.getMessage());
}