TableMetaData implements TableMetaDataView { @Override public Set<String> getColumnNames() { return columnMetaDataMap.keySet(); } TableMetaData(String catalogName, String schemaName, String tableName,
      List<String> keyColumnNames, String quoteString,
      Map<String, ColumnMetaData> columnMetaDataMap); @Override String getQuotedTablePath(); @Override List<String> getKeyColumnNames(); @Override JDBCType getColumnDataType(String columnName); @Override boolean isColumnNullable(String columnName); @Override Set<String> getColumnNames(); @Override String getIdentifierQuoteString();  }
@Test public void verifyColumnNames() { Map<String, ColumnMetaData> map = new HashMap<>(); map.put("k1", new ColumnMetaData(JDBCType.valueOf(1), false)); map.put("k2", new ColumnMetaData(JDBCType.valueOf(2), false)); dataTypes = map; createTableMetaData(); assertThat(tableMetaData.getColumnNames()).isEqualTo(dataTypes.keySet()); }