### Question:
NeovimWindowRxWrapper implements NeovimWindowRxApi { @Override public Completable setBuffer(Buffer buffer) { return Completable.fromFuture(neovimWindowApi.setBuffer(buffer)); } NeovimWindowRxWrapper(NeovimWindowApi neovimWindowApi); @Override Window get(); @Override Single<NeovimBufferRxApi> getBuffer(); @Override Completable setBuffer(Buffer buffer); @Override Single<VimCoords> getCursor(); @Override Completable setCursor(VimCoords vimCoords); @Override Single<Integer> getHeight(); @Override Completable setHeight(int height); @Override Single<Integer> getWidth(); @Override Completable setWidth(int width); @Override Single<Object> getVar(String name); @Override Completable setVar(String name, Object value); @Override Completable deleteVar(String name); @Override Single<Object> getOption(String name); @Override Completable setOption(String name, Object value); @Override Single<Map<String, Object>> getConfig(); @Override Completable setConfig(Map<String, Object> config); @Override Single<NeovimTabpageRxApi> getTabpage(); @Override Single<Integer> getNumber(); @Override Single<Boolean> isValid(); @Override Completable close(boolean force);  }### Answer:
@Test public void delegatesSetBuffer() { var buffer = new Buffer(1); given(neovimWindowApi.setBuffer(buffer)).willReturn(CompletableFuture.completedFuture(null)); neovimWindowRxWrapper.setBuffer(buffer) .test() .assertComplete() .assertNoErrors(); verify(neovimWindowApi).setBuffer(buffer); }