MemoryQueryResult implements QueryResult { @Override public boolean next() { if (resultData.hasNext()) { currentRow = resultData.next(); return true; } currentRow = null; return false; } MemoryQueryResult(final ResultSet resultSet, final ShardingRule shardingRule);  MemoryQueryResult(final ResultSet resultSet, final EncryptRule encryptRule);  MemoryQueryResult(final ResultSet resultSet); @Override boolean next(); @Override Object getValue(final int columnIndex, final Class<?> type); @Override Object getValue(final String columnLabel, final Class<?> type); @Override Object getCalendarValue(final int columnIndex, final Class<?> type, final Calendar calendar); @Override Object getCalendarValue(final String columnLabel, final Class<?> type, final Calendar calendar); @Override InputStream getInputStream(final int columnIndex, final String type); @Override InputStream getInputStream(final String columnLabel, final String type); @Override boolean wasNull(); @Override boolean isCaseSensitive(final int columnIndex); @Override int getColumnCount(); @Override String getColumnLabel(final int columnIndex);  }
@Test(expected = SQLException.class) @SneakyThrows public void assertConstructorWithSqlException() { ResultSet resultSet = getResultSet(); when(resultSet.next()).thenThrow(new SQLException()); new MemoryQueryResult(resultSet); }
@Test public void assertNext() throws SQLException { MemoryQueryResult queryResult = new MemoryQueryResult(getResultSet()); assertTrue(queryResult.next()); assertFalse(queryResult.next()); }