public void testLoadRepos() throws Exception {
//Robolectric.flushForegroundThreadScheduler();
RepoModel model = new RepoModel();
final List<Repo> result = new ArrayList<>();
final CountDownLatch latch = new CountDownLatch(1);
// ShadowLooper.runUiThreadTasks();
// ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// ShadowLooper.pauseMainLooper();
model.loadRepos(new RepoCallback() {
@Override
public void onSuccess(List<Repo> repos) {
result.addAll(repos);
latch.countDown();
}
@Override
public void onFailure(int code, String msg) {
fail();
}
});
// Robolectric.flushForegroundThreadScheduler();
// ShadowLooper.runMainLooperOneTask();
// ShadowLooper.runUiThreadTasks();
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
latch.await();
assertEquals(1, result.size());
latch.await(2, TimeUnit.SECONDS);
}