package de.jodamob.android.espresso; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.junit.Before; import org.junit.Test; import com.google.android.apps.common.testing.ui.espresso.IdlingResource.ResourceCallback; import com.path.android.jobqueue.BaseJob; import com.path.android.jobqueue.JobManager; public class PriorityJobQueueIdleMonitorTest { JobManager queue; PriorityJobQueueIdleMonitor tested; @Before public void setup() { queue = mock(JobManager.class); tested = new PriorityJobQueueIdleMonitor(queue); } @Test public void should_be_idle_initially() { assertTrue(tested.isIdleNow()); } @Test public void should_not_be_idle_on_jobs() { when(queue.count()).thenReturn(1); assertFalse(tested.isIdleNow()); } @Test public void register_should_add_job_if_not_idle() { when(queue.count()).thenReturn(1); ResourceCallback callback = mock(ResourceCallback.class); tested.registerIdleTransitionCallback(callback); verify(queue).addJob(anyInt(), any(BaseJob.class)); } }