### Question:
InputBufferItemSource implements ItemSource<SimpleInputBuffer> { public void release() { releaseCallback.completed(this); } InputBufferItemSource(SimpleInputBuffer source, ReleaseCallback<SimpleInputBuffer> releaseCallback); @Override SimpleInputBuffer getSource(); void release();  }### Answer:
@Test public void releaseDelegatesToReleaseCallback() { SimpleInputBuffer buffer = mock(SimpleInputBuffer.class); ReleaseCallback releaseCallback = mock(ReleaseCallback.class); ItemSource<SimpleInputBuffer> itemSource = new InputBufferItemSource(buffer, releaseCallback); itemSource.release(); verify(releaseCallback, times(1)).completed(eq(itemSource)); }