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.92 by jsr166, Tue Jun 17 20:50:01 2014 UTC vs.
Revision 1.93 by jsr166, Tue Jun 17 21:09:56 2014 UTC

# Line 1600 | Line 1600 | public class CompletableFutureTest exten
1600      {
1601          final CompletableFuture<Integer> f = new CompletableFuture<>();
1602          final CompletableFuture<Integer> g = new CompletableFuture<>();
1603 <        final SubtractFunction r1 = new SubtractFunction(m);
1604 <        final SubtractFunction r2 = new SubtractFunction(m);
1605 <        final SubtractFunction r3 = new SubtractFunction(m);
1603 >        final SubtractFunction[] rs = new SubtractFunction[6];
1604 >        for (int i = 0; i < rs.length; i++) rs[i] = new SubtractFunction(m);
1605  
1606          final CompletableFuture<Integer> fst =  fFirst ? f : g;
1607          final CompletableFuture<Integer> snd = !fFirst ? f : g;
1608          final Integer w1 =  fFirst ? v1 : v2;
1609          final Integer w2 = !fFirst ? v1 : v2;
1610  
1611 <        final CompletableFuture<Integer> h1 = m.thenCombine(f, g, r1);
1611 >        final CompletableFuture<Integer> h0 = m.thenCombine(f, g, rs[0]);
1612 >        final CompletableFuture<Integer> h1 = m.thenCombine(fst, fst, rs[1]);
1613          assertTrue(fst.complete(w1));
1614 <        final CompletableFuture<Integer> h2 = m.thenCombine(f, g, r2);
1615 <        checkIncomplete(h1);
1616 <        checkIncomplete(h2);
1617 <        r1.assertNotInvoked();
1618 <        r2.assertNotInvoked();
1614 >        final CompletableFuture<Integer> h2 = m.thenCombine(f, g, rs[2]);
1615 >        final CompletableFuture<Integer> h3 = m.thenCombine(fst, fst, rs[3]);
1616 >        checkIncomplete(h0); rs[0].assertNotInvoked();
1617 >        checkIncomplete(h2); rs[2].assertNotInvoked();
1618 >        checkCompletedNormally(h1, subtract(w1, w1));
1619 >        checkCompletedNormally(h3, subtract(w1, w1));
1620 >        rs[1].assertValue(subtract(w1, w1));
1621 >        rs[3].assertValue(subtract(w1, w1));
1622          assertTrue(snd.complete(w2));
1623 <        final CompletableFuture<Integer> h3 = m.thenCombine(f, g, r3);
1623 >        final CompletableFuture<Integer> h4 = m.thenCombine(f, g, rs[4]);
1624  
1625 <        checkCompletedNormally(h1, subtract(v1, v2));
1625 >        checkCompletedNormally(h0, subtract(v1, v2));
1626          checkCompletedNormally(h2, subtract(v1, v2));
1627 <        checkCompletedNormally(h3, subtract(v1, v2));
1628 <        r1.assertValue(subtract(v1, v2));
1629 <        r2.assertValue(subtract(v1, v2));
1630 <        r3.assertValue(subtract(v1, v2));
1627 >        checkCompletedNormally(h4, subtract(v1, v2));
1628 >        rs[0].assertValue(subtract(v1, v2));
1629 >        rs[2].assertValue(subtract(v1, v2));
1630 >        rs[4].assertValue(subtract(v1, v2));
1631 >      
1632          checkCompletedNormally(f, v1);
1633          checkCompletedNormally(g, v2);
1634      }}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines