### Question:
DownloadServiceImpl implements DownloadService { @Override public Response<byte[]> download(String downloadUrl, RequestHeaders requestHeaders) { return adapterServiceLoader.getDownloadService(requestHeaders) .download(downloadUrl, requestHeaders); } DownloadServiceImpl(AdapterServiceLoader adapterServiceLoader); @Override Response<byte[]> download(String downloadUrl, RequestHeaders requestHeaders);  }### Answer:
@Test void download() { when(adapterServiceLoader.getDownloadService(REQUEST_HEADERS)) .thenReturn(downloadService); when(downloadService.download(DOWNLOAD_URL, REQUEST_HEADERS)) .thenReturn(RESPONSE); Response<byte[]> actualResponse = service.download(DOWNLOAD_URL, REQUEST_HEADERS); assertThat(actualResponse).isEqualTo(RESPONSE); }