@Test
public void testCancelFutureWithoutInterruption() throws InterruptedException, ExecutionException, TimeoutException {

	// given
	InterruptibleCommand cmd = new InterruptibleCommand(new TestCircuitBreaker(), true, true, 1000);
    // when
    Future<Boolean> f = cmd.queue();
    Thread.sleep(500);
    f.cancel(false);
    Thread.sleep(500);
    // then
    try {
    	f.get();
    	fail("Should have thrown a CancellationException");
    } catch (CancellationException e) {
    	assertFalse(cmd.hasBeenInterrupted());
    }
}