### Question:
DbTable { public List<ColumnMetaData> getStructure() throws SQLException { return dbTableData.getStructure(); } DbTable(DataSource dataSource, String tableName); String getTableName(); void getData(RowProcessor processor); List<ColumnMetaData> getStructure(); Map<String, String> getCommonParameters(); Set<UniqueKey> getPrimaryKeySet(); Set<UniqueKey> getUniqueKeySet(); Set<ForeignKey> getForeignKeySet();  }### Answer:
@Test public void getStructureTest() throws SQLException { List<ColumnMetaData> expectedResult = Lists.newArrayList( ColumnMetaData.getInstance("EXECUTION_TIME", SqlTypes.INT).setNullable(true).setSize(11), ColumnMetaData.getInstance("SCRIPT", SqlTypes.VARCHAR).setSize(200), ColumnMetaData.getInstance("INSTALLED_ON", SqlTypes.TIMESTAMP), ColumnMetaData.getInstance("STATE", SqlTypes.VARCHAR).setSize(15), ColumnMetaData.getInstance("VERSION", SqlTypes.VARCHAR).setSize(20), ColumnMetaData.getInstance("DESCRIPTION", SqlTypes.VARCHAR).setNullable(true).setSize(100), ColumnMetaData.getInstance("CURRENT_VERSION", SqlTypes.TINYINT).setSize(4), ColumnMetaData.getInstance("CHECKSUM", SqlTypes.INT).setNullable(true).setSize(11), ColumnMetaData.getInstance("TYPE", SqlTypes.VARCHAR).setSize(10), ColumnMetaData.getInstance("INSTALLED_BY", SqlTypes.VARCHAR).setSize(30)); DbTable testObject = new DbTable(dataSource, "common_schema_version"); List<ColumnMetaData> actualResult = testObject.getStructure(); assertEquals(actualResult.size(), expectedResult.size()); for (ColumnMetaData actualColumnMetaData : actualResult) { assertTrue(expectedResult.contains(actualColumnMetaData), actualColumnMetaData + " is no found in " + expectedResult); } }