@Test
public void monitoredPoolExecutorSchedulesMetricPrinterThread() {

    // given
    final ScheduledExecutorService spiedExecutor = spy(ScheduledExecutorService.class);
    GenericItemSourcePool pool = createDefaultTestGenericItemSourcePool(true, spiedExecutor);
    // when
    pool.start();
    // then
    ArgumentCaptor<GenericItemSourcePool.Recycler> runnableCaptor = ArgumentCaptor.forClass(GenericItemSourcePool.Recycler.class);
    verify(spiedExecutor).scheduleAtFixedRate(runnableCaptor.capture(), anyLong(), eq(DEFAULT_TEST_MONITOR_TASK_INTERVAL), any(TimeUnit.class));
}