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

Comparing jsr166/src/test/tck/CountedCompleterTest.java (file contents):
Revision 1.9 by jsr166, Wed Jun 5 05:48:26 2013 UTC vs.
Revision 1.13 by jsr166, Mon Jul 22 18:11:56 2013 UTC

# Line 212 | Line 212 | public class CountedCompleterTest extend
212          final AtomicInteger onCompletionN = new AtomicInteger(0);
213          final AtomicInteger onExceptionalCompletionN = new AtomicInteger(0);
214          final AtomicInteger setRawResultN = new AtomicInteger(0);
215 <        final AtomicReference<Object> rawResult = new AtomicReference<>(null);
215 >        final AtomicReference<Object> rawResult = new AtomicReference<Object>(null);
216          int computeN() { return computeN.get(); }
217          int onCompletionN() { return onCompletionN.get(); }
218          int onExceptionalCompletionN() { return onExceptionalCompletionN.get(); }
# Line 252 | Line 252 | public class CountedCompleterTest extend
252          }
253          void checkCompletes(Object rawResult) {
254              checkIncomplete();
255 +            int pendingCount = getPendingCount();
256              complete(rawResult);
257 +            assertEquals(pendingCount, getPendingCount());
258              assertEquals(0, computeN());
259              assertEquals(1, onCompletionN());
260              assertEquals(0, onExceptionalCompletionN());
# Line 283 | Line 285 | public class CountedCompleterTest extend
285  
286      /**
287       * A newly constructed CountedCompleter is not completed;
288 <     * complete() causes completion.
288 >     * complete() causes completion. pendingCount is ignored.
289       */
290      public void testComplete() {
291          for (Object x : new Object[] { Boolean.TRUE, null }) {
292 <            new NoopCC()
293 <                .checkCompletes(x);
294 <            new NoopCC(new NoopCC())
295 <                .checkCompletes(x);
292 >            for (int pendingCount : new int[] { 0, 42 }) {
293 >                testComplete(new NoopCC(), x, pendingCount);
294 >                testComplete(new NoopCC(new NoopCC()), x, pendingCount);
295 >            }
296          }
297      }
298 +    void testComplete(NoopCC cc, Object x, int pendingCount) {
299 +        cc.setPendingCount(pendingCount);
300 +        cc.checkCompletes(x);
301 +    }
302  
303      /**
304       * completeExceptionally completes exceptionally
# Line 493 | Line 499 | public class CountedCompleterTest extend
499      // Invocation tests use some interdependent task classes
500      // to better test propagation etc
501  
502 <
503 <    // Version of Fibonacci with different classes for left vs right forks
502 >    /**
503 >     * Version of Fibonacci with different classes for left vs right forks
504 >     */
505      abstract class CCF extends CheckedCC {
506          int number;
507          int rnumber;
# Line 1130 | Line 1137 | public class CountedCompleterTest extend
1137      }
1138  
1139      /**
1140 <     * invokeAll(collection)  throws exception if any task does
1140 >     * invokeAll(collection) throws exception if any task does
1141       */
1142      public void testAbnormalInvokeAllCollection() {
1143          ForkJoinTask a = new CheckedRecursiveAction() {
# Line 1795 | Line 1802 | public class CountedCompleterTest extend
1802      }
1803  
1804      /**
1805 <     * invokeAll(collection)  throws exception if any task does
1805 >     * invokeAll(collection) throws exception if any task does
1806       */
1807      public void testAbnormalInvokeAllCollectionSingleton() {
1808          ForkJoinTask a = new CheckedRecursiveAction() {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines