### Question:
FunctionUtils { public static boolean hasFunctionCallNameIgnoreCase(FunctionInvocationTree tree, String name) { return getFunctionInvocationName(tree).filter(name::equalsIgnoreCase).isPresent(); } private  FunctionUtils(); static boolean isPrivateMethod(FunctionDeclarationTree method); static boolean isOverrideMethod(FunctionDeclarationTree method); static boolean hasModifierMethod(FunctionDeclarationTree method, ModifierTree.Kind kind); static boolean hasFunctionCallNameIgnoreCase(FunctionInvocationTree tree, String name); static boolean hasFunctionCallFullNameIgnoreCase(FunctionInvocationTree tree, String... names);  }### Answer:
@Test public void test_has_function_name_identifier() { FunctionInvocationTree tree = new FunctionInvocationTreeImpl(meta, identifierTree, args); assertThat(hasFunctionCallNameIgnoreCase(tree, "function")).isTrue(); assertThat(hasFunctionCallNameIgnoreCase(tree, "FuNcTiOn")).isTrue(); assertThat(hasFunctionCallNameIgnoreCase(tree, "mySuperFunction")).isFalse(); }
@Test public void test_has_function_name_method_select() { Tree member = new IdentifierTreeImpl(meta, "A"); Tree methodSelect = new MemberSelectTreeImpl(meta, member, identifierTree); FunctionInvocationTree tree = new FunctionInvocationTreeImpl(meta, methodSelect, args); assertThat(hasFunctionCallNameIgnoreCase(tree, "function")).isTrue(); assertThat(hasFunctionCallNameIgnoreCase(tree, "A")).isFalse(); }
@Test public void test_has_function_name_unknown() { Tree nativeNode = new NativeTreeImpl(meta, new TypeNativeKind(), null); FunctionInvocationTree tree = new FunctionInvocationTreeImpl(meta, nativeNode, args); assertThat(hasFunctionCallNameIgnoreCase(tree, "function")).isFalse(); }