### Question:
TableUtil { public static String buildFullTableName(String catalogName, String schemaName, String tableName) { StringBuilder buf = new StringBuilder(); if (!StringUtil.isEmpty(catalogName)) { buf.append(catalogName).append("."); } if (!StringUtil.isEmpty(schemaName)) { buf.append(schemaName).append("."); } return buf.append(tableName).toString(); } protected  TableUtil(); static TableSet getTableSet(GenDialect dialect, DataSource dataSource); static String buildCanonicalTableName(GenDialect dialect,
            String catalogName, String schemaName, String tableName); static String buildFullTableName(String catalogName,
            String schemaName, String tableName); static String[] splitCanonicalTableName(String canonicalTableName);  }### Answer:
@Test public void testFullTableName() throws Exception { assertEquals("AAA.BBB.CCC", TableUtil.buildFullTableName("AAA", "BBB", "CCC")); assertEquals("BBB.CCC", TableUtil .buildFullTableName(null, "BBB", "CCC")); assertEquals("AAA.CCC", TableUtil .buildFullTableName("AAA", null, "CCC")); assertEquals("CCC", TableUtil.buildFullTableName(null, null, "CCC")); }