@@ -0,0 +1,968 @@
+package core.framework.test.async;%0A%0Aimport org.junit.jupiter.api.BeforeEach;%0Aimport org.junit.jupiter.api.Test;%0A%0Aimport java.util.concurrent.ExecutionException;%0Aimport java.util.concurrent.Future;%0Aimport java.util.concurrent.TimeUnit;%0Aimport java.util.concurrent.TimeoutException;%0A%0Aimport static org.junit.jupiter.api.Assertions.assertEquals;%0Aimport static org.junit.jupiter.api.Assertions.assertFalse;%0Aimport static org.junit.jupiter.api.Assertions.assertTrue;%0A%0A/**%0A * @author neo%0A */%0Aclass MockExecutorTest %7B%0A    private MockExecutor executor;%0A%0A    @BeforeEach%0A    void createMockExecutor() %7B%0A        executor = new MockExecutor();%0A    %7D%0A%0A    @Test%0A    void get() throws ExecutionException, InterruptedException, TimeoutException %7B%0A        Future%3CInteger%3E future = executor.submit(%22action%22, () -%3E 12);%0A%0A        assertTrue(future.isDone());%0A        assertFalse(future.isCancelled());%0A        assertEquals(12, future.get(0, TimeUnit.MILLISECONDS).intValue());%0A    %7D%0A%7D%0A

add unit test