@Test
public void getTasksWithLocalDataSourceUnavailable_tasksAreRetrievedFromRemote() {

    // Given that the local data source has no data available
    setTasksNotAvailable(mTasksLocalDataSource);
    // And the remote data source has data available
    setTasksAvailable(mTasksRemoteDataSource, TASKS);
    // When calling getTasks in the repository
    mTasksRepository.getTasks().subscribe(mTasksTestSubscriber);
    // Verify the tasks from the remote data source are returned
    Mockito.verify(mTasksRemoteDataSource).getTasks();
    mTasksTestSubscriber.assertValue(TASKS);
}