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.20 by jsr166, Tue Oct 6 00:36:55 2015 UTC vs.
Revision 1.27 by jsr166, Sun Oct 18 19:33:21 2015 UTC

# Line 278 | Line 278 | public class CountedCompleterTest extend
278      final class NoopCC extends CheckedCC {
279          NoopCC() { super(); }
280          NoopCC(CountedCompleter p) { super(p); }
281 +        NoopCC(CountedCompleter p, int initialPendingCount) {
282 +            super(p, initialPendingCount);
283 +        }
284          protected void realCompute() {}
285      }
286  
# Line 296 | Line 299 | public class CountedCompleterTest extend
299      void testComplete(NoopCC cc, Object x, int pendingCount) {
300          cc.setPendingCount(pendingCount);
301          cc.checkCompletes(x);
302 +        assertEquals(pendingCount, cc.getPendingCount());
303      }
304  
305      /**
# Line 309 | Line 313 | public class CountedCompleterTest extend
313      }
314  
315      /**
316 <     * completeExceptionally(null) throws NullPointerException
316 >     * completeExceptionally(null) surprisingly has the same effect as
317 >     * completeExceptionally(new RuntimeException())
318       */
319      public void testCompleteExceptionally_null() {
320 +        NoopCC a = new NoopCC();
321 +        a.completeExceptionally(null);
322          try {
323 <            new NoopCC()
317 <                .checkCompletesExceptionally(null);
323 >            a.invoke();
324              shouldThrow();
325 <        } catch (NullPointerException success) {}
325 >        } catch (RuntimeException success) {
326 >            assertSame(success.getClass(), RuntimeException.class);
327 >            assertNull(success.getCause());
328 >            a.checkCompletedExceptionally(success);
329 >        }
330      }
331  
332      /**
# Line 325 | Line 335 | public class CountedCompleterTest extend
335      public void testSetPendingCount() {
336          NoopCC a = new NoopCC();
337          assertEquals(0, a.getPendingCount());
338 <        a.setPendingCount(1);
339 <        assertEquals(1, a.getPendingCount());
340 <        a.setPendingCount(27);
341 <        assertEquals(27, a.getPendingCount());
338 >        int[] vals = {
339 >             -1, 0, 1,
340 >             Integer.MIN_VALUE,
341 >             Integer.MAX_VALUE,
342 >        };
343 >        for (int val : vals) {
344 >            a.setPendingCount(val);
345 >            assertEquals(val, a.getPendingCount());
346 >        }
347      }
348  
349      /**
# Line 341 | Line 356 | public class CountedCompleterTest extend
356          assertEquals(1, a.getPendingCount());
357          a.addToPendingCount(27);
358          assertEquals(28, a.getPendingCount());
359 +        a.addToPendingCount(-28);
360 +        assertEquals(0, a.getPendingCount());
361      }
362  
363      /**
364       * decrementPendingCountUnlessZero decrements reported pending
365       * count unless zero
366       */
367 <    public void testDecrementPendingCount() {
368 <        NoopCC a = new NoopCC();
369 <        assertEquals(0, a.getPendingCount());
370 <        a.addToPendingCount(1);
367 >    public void testDecrementPendingCountUnlessZero() {
368 >        NoopCC a = new NoopCC(null, 2);
369 >        assertEquals(2, a.getPendingCount());
370 >        assertEquals(2, a.decrementPendingCountUnlessZero());
371          assertEquals(1, a.getPendingCount());
372 <        a.decrementPendingCountUnlessZero();
372 >        assertEquals(1, a.decrementPendingCountUnlessZero());
373          assertEquals(0, a.getPendingCount());
374 <        a.decrementPendingCountUnlessZero();
374 >        assertEquals(0, a.decrementPendingCountUnlessZero());
375          assertEquals(0, a.getPendingCount());
376 +        a.setPendingCount(-1);
377 +        assertEquals(-1, a.decrementPendingCountUnlessZero());
378 +        assertEquals(-2, a.getPendingCount());
379      }
380  
381      /**
# Line 479 | Line 499 | public class CountedCompleterTest extend
499      }
500  
501      /**
502 <     * quietlyCompleteRoot completes root task
502 >     * quietlyCompleteRoot completes root task and only root task
503       */
504      public void testQuietlyCompleteRoot() {
505          NoopCC a = new NoopCC();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines