SchemaMetaData { public boolean containsColumn(final String tableName, final String columnName) { return containsTable(tableName) && get(tableName).getColumns().containsKey(columnName.toLowerCase()); } @SuppressWarnings("CollectionWithoutInitialCapacity")  SchemaMetaData();  SchemaMetaData(final Map<String, TableMetaData> tables); Collection<String> getAllTableNames(); TableMetaData get(final String tableName); void merge(final SchemaMetaData schemaMetaData); void put(final String tableName, final TableMetaData tableMetaData); void remove(final String tableName); boolean containsTable(final String tableName); boolean containsColumn(final String tableName, final String columnName); List<String> getAllColumnNames(final String tableName);  }
@Test public void assertContainsColumn() { TableMetaData tableMetaData = new TableMetaData(Collections.singletonList(new ColumnMetaData("col", 0, "dataType", false, false, false)), Collections.emptyList()); assertTrue(new SchemaMetaData(ImmutableMap.of("tbl", tableMetaData)).containsColumn("tbl", "col")); }