### Question:
AutoFunctionQuery extends AutoModuleQuery implements FunctionQuery<RESULT> { @Override public void prepare() { super.prepare(); assertNotNull(moduleName, resultParameter); prepareQualifiedName(); prepareOptions(); prepareSql(); assertNotNull(sql); }  @Override void prepare(); void setFunctionName(String functionName); void setResultParameter(ResultParameter<RESULT> parameter); @Override RESULT getResult();  }### Answer:
@Test public void testPrepare() { AutoFunctionQuery<Integer> query = new AutoFunctionQuery<>(); query.setConfig(runtimeConfig); query.setFunctionName("aaa"); query.setResultParameter(new BasicSingleResultParameter<>(IntegerWrapper::new)); query.setCallerClassName("aaa"); query.setCallerMethodName("bbb"); query.setSqlLogType(SqlLogType.FORMATTED); query.prepare(); assertNotNull(((FunctionQuery<Integer>) query).getSql()); }