@Test public void awaitShouldReturnFailedWhenExceptionThrown() { TaskId taskId = memoryTaskManager.submit(() -> { throw new RuntimeException(); }); TaskExecutionDetails executionDetails = memoryTaskManager.await(taskId); assertThat(executionDetails.getStatus()) .isEqualTo(TaskManager.Status.FAILED); }
@Test public void awaitShouldReturnFailedWhenExceptionThrown() { TaskId taskId = memoryTaskManager.submit(() -> { throw new RuntimeException(); }); TaskExecutionDetails executionDetails = memoryTaskManager.await(taskId); assertThat(executionDetails.getStatus()) .isEqualTo(TaskManager.Status.FAILED); }
@Test public void getStatusShouldReturnFailedWhenExceptionThrown() { TaskId taskId = memoryTaskManager.submit(() -> { throw new RuntimeException(); }); memoryTaskManager.await(taskId); assertThat(memoryTaskManager.getExecutionDetails(taskId).getStatus()) .isEqualTo(TaskManager.Status.FAILED); }
@Test public void getStatusShouldReturnFailedWhenExceptionThrown() { TaskId taskId = memoryTaskManager.submit(() -> { throw new RuntimeException(); }); memoryTaskManager.await(taskId); assertThat(memoryTaskManager.getExecutionDetails(taskId).getStatus()) .isEqualTo(TaskManager.Status.FAILED); }
@Test public void submittedTaskShouldExecuteSequentially() { ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<>(); TaskId id1 = memoryTaskManager.submit(() -> { queue.add(1); sleep(500); queue.add(2); return Task.Result.COMPLETED; }); TaskId id2 = memoryTaskManager.submit(() -> { queue.add(3); sleep(500); queue.add(4); return Task.Result.COMPLETED; }); memoryTaskManager.await(id1); memoryTaskManager.await(id2); assertThat(queue) .containsExactly(1, 2, 3, 4); }
@Test public void submittedTaskShouldExecuteSequentially() { ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<>(); TaskId id1 = memoryTaskManager.submit(() -> { queue.add(1); sleep(500); queue.add(2); return Task.Result.COMPLETED; }); TaskId id2 = memoryTaskManager.submit(() -> { queue.add(3); sleep(500); queue.add(4); return Task.Result.COMPLETED; }); memoryTaskManager.await(id1); memoryTaskManager.await(id2); assertThat(queue) .containsExactly(1, 2, 3, 4); }