diff --git a/src/test/java/pl/mperor/lab/java/Java10.java b/src/test/java/pl/mperor/lab/java/Java10.java index 81a488b..28413f4 100644 --- a/src/test/java/pl/mperor/lab/java/Java10.java +++ b/src/test/java/pl/mperor/lab/java/Java10.java @@ -5,6 +5,8 @@ import java.util.List; import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -24,7 +26,7 @@ public void testLocalVariableTypeInferenceKeywordAkaVar() { } @Test - public void testCopyOf() { + public void testUnmodifiableCollectionCopyOf() { var original = List.of("Java", "Python", "JavaScript"); var copy = List.copyOf(original); Assertions.assertEquals(original, copy); @@ -38,4 +40,17 @@ public void testOptionalEnhancements() { Assertions.assertEquals("", optional.stream().collect(Collectors.joining())); } + @Test + public void testCompletableFutureTimeout() { + CompletableFuture future = CompletableFuture.supplyAsync(() -> { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + return "Result"; + }).orTimeout(10, TimeUnit.MILLISECONDS); + + Assertions.assertThrows(Exception.class, future::join); + } }