### Question:
JdbcNativeExtractor implements IExtractor<T, S> { @Override public boolean hasNext() { try { return jdbcReader.hasNext(); } catch (SQLException e) { throw new DeepGenericException(e); } }  @Override Partition[] getPartitions(S config); @Override boolean hasNext(); @Override T next(); @Override void close(); @Override void initIterator(Partition dp, S config); @Override void saveRDD(T t); @Override List<String> getPreferredLocations(Partition split); @Override void initSave(S config, T first, UpdateQueryBuilder queryBuilder);  }### Answer:
@Test public void testHasNext() throws Exception { JdbcNativeExtractor extractor = createJdbcNativeExtractor(); extractor.hasNext(); verify(jdbcReader, times(1)).hasNext(); }