case MSG_SCHEDULE: for (GoroListener listener : taskListeners) { listener.onTaskSchedule(data.task, data.queue);
case MSG_SCHEDULE: for (GoroListener listener : taskListeners) { listener.onTaskSchedule(data.task, data.queue);
@Test public void shouldInvokeScheduleOnListeners() { goro.addTaskListener(listener); Callable task = mock(Callable.class); goro.schedule(task); verify(listener).onTaskSchedule(task, Goro.DEFAULT_QUEUE); }
@Test public void shouldInvokeErrorOnListeners() { goro.addTaskListener(listener); final Exception error = new Exception(); Callable<?> task = new Callable<Object>() { @Override public Object call() throws Exception { throw error; } }; goro.schedule(task); testingQueues.executeAll(); InOrder order = inOrder(listener); order.verify(listener).onTaskSchedule(task, Goro.DEFAULT_QUEUE); order.verify(listener).onTaskStart(task); order.verify(listener).onTaskError(task, error); }