JAMES-1945 CompletableFutureUtil::allOf should preserve order
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f096bddf Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f096bddf Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f096bddf Branch: refs/heads/master Commit: f096bddfa198bb55c68f362a0a71094cc8db3c7d Parents: 7d0fc2b Author: Benoit Tellier <[email protected]> Authored: Tue Feb 21 13:13:56 2017 +0700 Committer: Antoine Duprat <[email protected]> Committed: Tue Feb 21 14:23:08 2017 +0100 ---------------------------------------------------------------------- .../james/util/CompletableFutureUtilTest.java | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/f096bddf/server/container/util-java8/src/test/java/org/apache/james/util/CompletableFutureUtilTest.java ---------------------------------------------------------------------- diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/CompletableFutureUtilTest.java b/server/container/util-java8/src/test/java/org/apache/james/util/CompletableFutureUtilTest.java index 144cf42..55cef98 100644 --- a/server/container/util-java8/src/test/java/org/apache/james/util/CompletableFutureUtilTest.java +++ b/server/container/util-java8/src/test/java/org/apache/james/util/CompletableFutureUtilTest.java @@ -56,6 +56,37 @@ public class CompletableFutureUtilTest { .containsOnly(value1, value2, value3); } + + @Test + public void allOfShouldPreserveOrder() { + long value1 = 18L; + long value2 = 19L; + long value3 = 20L; + long value4 = 21L; + long value5 = 22L; + long value6 = 23L; + long value7 = 24L; + long value8 = 25L; + long value9 = 26L; + long value10 = 27L; + assertThat( + CompletableFutureUtil.allOf( + Stream.of( + CompletableFuture.completedFuture(value1), + CompletableFuture.completedFuture(value2), + CompletableFuture.completedFuture(value3), + CompletableFuture.completedFuture(value4), + CompletableFuture.completedFuture(value5), + CompletableFuture.completedFuture(value6), + CompletableFuture.completedFuture(value7), + CompletableFuture.completedFuture(value8), + CompletableFuture.completedFuture(value9), + CompletableFuture.completedFuture(value10))) + .join() + .collect(Guavate.toImmutableList())) + .containsExactly(value1, value2, value3, value4, value5, value6, value7, value8, value9, value10); + } + @Test public void allOfShouldWorkOnVeryLargeStream() { CompletableFutureUtil.allOf( --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
