DistinctQueryResult implements QueryResult { @Override public String getColumnLabel(final int columnIndex) throws SQLException { String columnLabel = queryResultMetaData.getColumnLabel(columnIndex); if (null != columnLabel) { return columnLabel; } throw new SQLException("Column index out of range", "9999"); } DistinctQueryResult(final Collection<QueryResult> queryResults, final List<String> distinctColumnLabels); List<DistinctQueryResult> divide(); @Override final 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 public void assertGetColumnLabel() throws SQLException { assertThat(distinctQueryResult.getColumnLabel(1), is("order_id")); }
@Test(expected = SQLException.class) public void assertGetColumnLabelWithException() throws SQLException { assertThat(distinctQueryResult.getColumnLabel(2), is("order_id")); }