### Question:
GithubDataManager implements DataManager { @Override public Single<Response<List<Repo>>> getRepos(@NonNull String username) { return githubService.getRepos(username); } @Inject  GithubDataManager(@NonNull GithubService githubService, @NonNull SharedPreferencesHelper sharedPreferencesHelper); @Override Single<Response<List<Repo>>> getRepos(@NonNull String username); @Override Single<Response<Repo>> getRepo(@NonNull String owner, @NonNull String repo); @Override void setFirstRun(boolean value); @Override boolean getFirstRun(); @Override void setLastUsername(@NonNull String username); @Override String getLastUsername(); @Override APIError convertToError(@NonNull ResponseBody errorBody);  }### Answer:
@Test public void getReposCompletesAndEmits() throws Exception { String username = TestDataFactory.repoDataFactory.createUsername(); List<Repo> repos = TestDataFactory.repoDataFactory.createRepoList(3); Response<List<Repo>> response = Response.success(repos); stubGithubServiceGetRepos(username, Single.just(response)); TestObserver<Response<List<Repo>>> testSubscriber = dataManager.getRepos(username).test(); testSubscriber.assertComplete(); testSubscriber.assertValue(response); }