@Test
public void testDelayedStart() throws Exception {
BasicScheduler sched = new BasicScheduler(1, TimeUnit.HOURS, 1);
TestMonkeyContext context = new TestMonkeyContext(Enums.MONKEY);
Monkey mockMonkey = mock(Monkey.class);
when(mockMonkey.context()).thenReturn(context).thenReturn(context);
when(mockMonkey.type()).thenReturn(Enums.MONKEY).thenReturn(Enums.MONKEY);
// first monkey has no previous events, so it runs practically immediately
FutureTask<Void> task = new FutureTask<Void>(Callables.<Void>returning(null));
sched.start(mockMonkey, task);
// make sure that the task gets completed within 100ms