ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/CompletableFutureTest.java
(Generate patch)

Comparing jsr166/src/test/tck/CompletableFutureTest.java (file contents):
Revision 1.175 by jsr166, Wed Sep 21 18:07:37 2016 UTC vs.
Revision 1.178 by jsr166, Wed Sep 21 19:02:50 2016 UTC

# Line 4028 | Line 4028 | public class CompletableFutureTest exten
4028      }
4029  
4030      /**
4031 +     * minimalStage.toCompletableFuture() returns a CompletableFuture that
4032 +     * is completed normally, with the same value, when source is.
4033 +     */
4034 +    public void testMinimalCompletionStage_toCompletableFuture_normalCompletion() {
4035 +        for (boolean createIncomplete : new boolean[] { true, false })
4036 +        for (Integer v1 : new Integer[] { 1, null })
4037 +    {
4038 +        CompletableFuture<Integer> f = new CompletableFuture<>();
4039 +        CompletionStage<Integer> minimal = f.minimalCompletionStage();
4040 +        if (!createIncomplete) assertTrue(f.complete(v1));
4041 +        CompletableFuture<Integer> g = minimal.toCompletableFuture();
4042 +        if (createIncomplete) {
4043 +            checkIncomplete(f);
4044 +            checkIncomplete(g);
4045 +            assertTrue(f.complete(v1));
4046 +        }
4047 +        checkCompletedNormally(f, v1);
4048 +        checkCompletedNormally(g, v1);
4049 +    }}
4050 +
4051 +    /**
4052 +     * minimalStage.toCompletableFuture() returns a CompletableFuture that
4053 +     * is completed exceptionally when source is.
4054 +     */
4055 +    public void testMinimalCompletionStage_toCompletableFuture_exceptionalCompletion() {
4056 +        for (boolean createIncomplete : new boolean[] { true, false })
4057 +    {
4058 +        CFException ex = new CFException();
4059 +        CompletableFuture<Integer> f = new CompletableFuture<>();
4060 +        CompletionStage<Integer> minimal = f.minimalCompletionStage();
4061 +        if (!createIncomplete) f.completeExceptionally(ex);
4062 +        CompletableFuture<Integer> g = minimal.toCompletableFuture();
4063 +        if (createIncomplete) {
4064 +            checkIncomplete(f);
4065 +            checkIncomplete(g);
4066 +            f.completeExceptionally(ex);
4067 +        }
4068 +        checkCompletedExceptionally(f, ex);
4069 +        checkCompletedWithWrappedException(g, ex);
4070 +    }}
4071 +
4072 +    /**
4073       * minimalStage.toCompletableFuture() gives mutable CompletableFuture
4074       */
4075      public void testMinimalCompletionStage_toCompletableFuture_mutable() {
# Line 4036 | Line 4078 | public class CompletableFutureTest exten
4078          CompletableFuture<Integer> f = new CompletableFuture<>();
4079          CompletionStage minimal = f.minimalCompletionStage();
4080          CompletableFuture<Integer> g = minimal.toCompletableFuture();
4081 <        g.complete(v1);
4081 >        assertTrue(g.complete(v1));
4082          checkCompletedNormally(g, v1);
4083          checkIncomplete(f);
4084          checkIncomplete(minimal.toCompletableFuture());

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines