### Question:
DefaultConversationSPI implements ConversationSPI { @Override public JobHandle scheduleRecurringJob( Group group, long interval, Runnable job ) { return jobScheduler.scheduleRecurring( group, job, interval, TimeUnit.MILLISECONDS); } DefaultConversationSPI( Locks locks, JobScheduler jobScheduler ); @Override Locks.Client acquireClient(); @Override JobHandle scheduleRecurringJob( Group group, long interval, Runnable job );  }### Answer:
@Test public void testScheduleRecurringJob() { Runnable job = mock( Runnable.class ); conversationSpi.scheduleRecurringJob( Group.SLAVE_LOCKS_TIMEOUT, 0, job ); verify( jobScheduler ).scheduleRecurring( Group.SLAVE_LOCKS_TIMEOUT, job, 0, TimeUnit.MILLISECONDS ); }