### Question:
DatabaseOLAPService implements OLAPService<PhysicalTable, Field> { @Override public List<PhysicalTable> resolveTables(Connector connector) { return extractDatabaseMetaData(connector, (dbmd) -> { try (ResultSet rs = dbmd.getTables(null, null, null, new String[] { Constants.TABLE_TYPE_TABLE, Constants.TABLE_TYPE_VIEW });) { List<PhysicalTable> tables = extractDataSet(rs, PhysicalTable.class); tables.stream().forEach(s -> s.setConnectorId(connector.getId())); return tables; } }); } DatabaseOLAPService(); @Override List<PhysicalTable> resolveTables(Connector connector); @Override List<Field> resolveFields(Connector connector, PhysicalTable table); @Override PhysicalTable resolveTable(Connector connector, PhysicalTable table); @Override DataSet<Field> fetchData(Connector connector, Cube cube);  }### Answer:
@Test public void testResolveTables() { List<PhysicalTable> tables = olapService.resolveTables(ConnectorFactory.newSampleDBConnector()); assertEquals(3, tables.size()); }