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.116 by jsr166, Fri Sep 4 20:57:10 2015 UTC vs.
Revision 1.120 by jsr166, Sun Sep 6 16:47:24 2015 UTC

# Line 3372 | Line 3372 | public class CompletableFutureTest exten
3372       * newIncompleteFuture returns an incomplete CompletableFuture
3373       */
3374      public void testNewIncompleteFuture() {
3375 +        for (Integer v1 : new Integer[] { 1, null })
3376 +    {
3377          CompletableFuture<Integer> f = new CompletableFuture<>();
3378          CompletableFuture<Integer> g = f.newIncompleteFuture();
3379          checkIncomplete(f);
3380          checkIncomplete(g);
3381 <    }
3381 >        f.complete(v1);
3382 >        checkCompletedNormally(f, v1);
3383 >        checkIncomplete(g);
3384 >        g.complete(v1);
3385 >        checkCompletedNormally(g, v1);
3386 >        assertSame(g.getClass(), CompletableFuture.class);
3387 >    }}
3388  
3389      /**
3390       * completedStage returns a completed CompletionStage
3391       */
3392      public void testCompletedStage() {
3393 <        AtomicInteger x = new AtomicInteger();
3393 >        AtomicInteger x = new AtomicInteger(0);
3394          AtomicReference<Throwable> r = new AtomicReference<Throwable>();
3395          CompletionStage<Integer> f = CompletableFuture.completedStage(1);
3396          f.whenComplete((v, e) -> {if (e != null) r.set(e); else x.set(v);});
# Line 3411 | Line 3419 | public class CompletableFutureTest exten
3419      public void testFailedFuture() {
3420          CFException ex = new CFException();
3421          CompletableFuture<Integer> f = CompletableFuture.failedFuture(ex);
3422 <        checkCompletedExceptionallyWithRootCause(f, ex);
3422 >        checkCompletedExceptionally(f, ex);
3423      }
3424  
3425      /**
3426       * failedFuture(null) throws NPE
3427       */
3428 <    public void testFailedFuture2() {
3428 >    public void testFailedFuture_null() {
3429          try {
3430              CompletableFuture<Integer> f = CompletableFuture.failedFuture(null);
3431              shouldThrow();
# Line 3460 | Line 3468 | public class CompletableFutureTest exten
3468      public void testMinimalCompletionStage() {
3469          CompletableFuture<Integer> f = new CompletableFuture<>();
3470          CompletionStage<Integer> g = f.minimalCompletionStage();
3471 <        AtomicInteger x = new AtomicInteger();
3471 >        AtomicInteger x = new AtomicInteger(0);
3472          AtomicReference<Throwable> r = new AtomicReference<Throwable>();
3473          checkIncomplete(f);
3474          g.whenComplete((v, e) -> {if (e != null) r.set(e); else x.set(v);});
# Line 3477 | Line 3485 | public class CompletableFutureTest exten
3485      public void testMinimalCompletionStage2() {
3486          CompletableFuture<Integer> f = new CompletableFuture<>();
3487          CompletionStage<Integer> g = f.minimalCompletionStage();
3488 <        AtomicInteger x = new AtomicInteger();
3488 >        AtomicInteger x = new AtomicInteger(0);
3489          AtomicReference<Throwable> r = new AtomicReference<Throwable>();
3490          g.whenComplete((v, e) -> {if (e != null) r.set(e); else x.set(v);});
3491          checkIncomplete(f);
# Line 3495 | Line 3503 | public class CompletableFutureTest exten
3503      public void testFailedStage() {
3504          CFException ex = new CFException();
3505          CompletionStage<Integer> f = CompletableFuture.failedStage(ex);
3506 <        AtomicInteger x = new AtomicInteger();
3506 >        AtomicInteger x = new AtomicInteger(0);
3507          AtomicReference<Throwable> r = new AtomicReference<Throwable>();
3508          f.whenComplete((v, e) -> {if (e != null) r.set(e); else x.set(v);});
3509          assertEquals(x.get(), 0);
3510 <        assertEquals(r.get().getCause(), ex);
3510 >        assertEquals(r.get(), ex);
3511      }
3512  
3513      /**

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines