Какие могут быть способы проверки следующего интерфейса:
interface CloseableIterator<T> extends Iterator<T>, AutoCloseable {
}
Спасибо.
EDIT
Интересно, будет ли полезен следующий тест:
@Test
void anonymousImplementation() {
new CloseableIterator<String>() {
@Override
public void close() throws Exception {
throw new Exception();
}
@Override
public boolean hasNext() {
return false;
}
@Override
public String next() {
return null;
}
};
}
Тогда, если по какой-либо причине AutoCloseable
будет удален из CloseableIterator
, или универсальный тип изменится, скажем, на T extends Number
, это даст мне ошибку компиляции. На самом деле не «тест», но гарантирует, что существует хотя бы одна реализация, обеспечивающая правильность методов и допустимость универсального типа.