### Question:
DatabaseObjectUtil { public static String getQualifiedName( Function<String, String> quoteFunction, String catalogName, String schemaName, String simpleName) { assertNotNull(quoteFunction, simpleName); StringBuilder buf = new StringBuilder(); if (catalogName != null && !catalogName.isEmpty()) { buf.append(quoteFunction.apply(catalogName)).append("."); } if (schemaName != null && !schemaName.isEmpty()) { buf.append(quoteFunction.apply(schemaName)).append("."); } return buf.append(quoteFunction.apply(simpleName)).toString(); }  static String getQualifiedName(
      Function<String, String> quoteFunction,
      String catalogName,
      String schemaName,
      String simpleName);  }### Answer:
@Test public void testGetQualifiedName() { String name = DatabaseObjectUtil.getQualifiedName(s -> "[" + s + "]", "aaa", "bbb", "ccc"); assertEquals("[aaa].[bbb].[ccc]", name); }
@Test public void testGetQualifiedName_catalogIsNull() { String name = DatabaseObjectUtil.getQualifiedName(s -> "[" + s + "]", null, "bbb", "ccc"); assertEquals("[bbb].[ccc]", name); }
@Test public void testGetQualifiedName_schemaIsNull() { String name = DatabaseObjectUtil.getQualifiedName(s -> "[" + s + "]", "aaa", null, "ccc"); assertEquals("[aaa].[ccc]", name); }
@Test public void testGetQualifiedName_catalogAndSchemaIsNull() { String name = DatabaseObjectUtil.getQualifiedName(s -> "[" + s + "]", null, null, "ccc"); assertEquals("[ccc]", name); }