ModelImpl implements Model { @Override public Observable<List<BranchDTO>> getRepoBranches(String owner, String name) { return apiInterface .getBranches(owner, name) .compose(applySchedulers()); } ModelImpl(); @Override Observable<List<RepositoryDTO>> getRepoList(String name); @Override Observable<List<BranchDTO>> getRepoBranches(String owner, String name); @Override Observable<List<ContributorDTO>> getRepoContributors(String owner, String name);  }
@Test public void testGetRepoBranches() { BranchDTO[] branchDTOs = testUtils.getGson().fromJson(testUtils.readString("json/branches.json"), BranchDTO[].class); when(apiInterface.getBranches(TestConst.TEST_OWNER, TestConst.TEST_REPO)).thenReturn(Observable.just(Arrays.asList(branchDTOs))); TestSubscriber<List<BranchDTO>> testSubscriber = new TestSubscriber<>(); model.getRepoBranches(TestConst.TEST_OWNER, TestConst.TEST_REPO).subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertValueCount(1); List<BranchDTO> actual = testSubscriber.getOnNextEvents().get(0); assertEquals(3, actual.size()); assertEquals("QuickStart", actual.get(0).getName()); assertEquals("94870e23f1cfafe7201bf82985b61188f650b245", actual.get(0).getCommit().getSha()); }