### Question:
GithubDataManager implements DataManager { @Override public Single<Response<Repo>> getRepo(@NonNull String owner, @NonNull String repo) { return githubService.getRepo(owner, repo); } @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 getRepoCompletesAndEmits() throws Exception { String owner = TestDataFactory.repoDataFactory.createOwner().login; String repoName = TestDataFactory.repoDataFactory.createRepoName(); Repo repo = TestDataFactory.repoDataFactory.createRepo(); Response<Repo> response = Response.success(repo); stubGithubServiceGetRepo(owner, repoName, Single.just(response)); TestObserver<Response<Repo>> testSubscriber = dataManager.getRepo(owner, repoName).test(); testSubscriber.assertComplete(); testSubscriber.assertValue(response); }