@Test
public void Should_javaTimerTaskImplementationHandleInterruptedException()
        throws Exception {

    doThrow(InterruptedException.class).when(taskQueueMock).put(same(taskMock));
    ITimer timer = new TimerImpl(timerMock);
    timer.schedule(taskMock, 0);
    ArgumentCaptor<TimerTask> timerTaskArgumentCaptor = ArgumentCaptor.forClass(TimerTask.class);
    verify(timerMock).schedule(timerTaskArgumentCaptor.capture(), anyLong());
    assertFalse(Thread.interrupted());
    timerTaskArgumentCaptor.getValue().run();
    assertTrue(Thread.interrupted());
}