InspectionManager { public InspectionResults inspect(Connection connection) throws SQLException { return inspect(connection, TYPES); } InspectionManager(); InspectionResults inspect(Connection connection); InspectionResults inspect(Connection connection, MetaDataType... objectTypes); InspectionResults inspect(Connection connection, InspectionScope inspectionScope,
            MetaDataType... objectTypes); InspectionResults inspect(Connection connection, MetaData object, MetaDataType... objectTypes); InspectionResults inspect(Connection connection, Collection<MetaData> objects, MetaDataType... objectTypes); void inspect(Connection connection, InspectionResults inspectionResults, InspectionScope inspectionScope,
            MetaDataType... objectTypes); void inspect(Connection connection, InspectionResults inspectionResults, MetaData object,
            MetaDataType... objectTypes); void inspect(Connection connection, InspectionResults inspectionResults, Collection<MetaData> objects,
            MetaDataType... objectTypes); void addInspector(Inspector inspector); Collection<Inspector> getInspectors(); void setInspectors(Collection<Inspector> inspectors); DialectResolver getDialectResolver(); void setDialectResolver(DialectResolver dialectResolver);  }
@Test(dataProvider = "inspect") public void testInspect(MetaDataType objectType) throws Exception { Inspector inspector = mock(Inspector.class); when(inspector.supports(objectType)).thenReturn(true); when(inspector.supportsScope(any(InspectionContext.class), any(InspectionScope.class))).thenReturn(true); inspectionManager.addInspector(inspector); assertNotNull(inspectionManager.inspect(mock(Connection.class), objectType)); verify(inspector).inspectScope(any(InspectionContext.class), any(InspectionScope.class)); }