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

Comparing jsr166/src/test/tck/SplittableRandomTest.java (file contents):
Revision 1.1 by dl, Thu Jul 11 19:08:12 2013 UTC vs.
Revision 1.3 by jsr166, Fri Jul 12 01:14:30 2013 UTC

# Line 91 | Line 91 | public class SplittableRandomTest extend
91          for (long seed = 2; seed < MAX_LONG_BOUND; seed += 15485863)  {
92              SplittableRandom sr1 = new SplittableRandom(seed);
93              SplittableRandom sr2 = new SplittableRandom(seed);
94 <            for (int i = 0; i < REPS; ++i)
94 >            for (int i = 0; i < REPS; ++i)
95                  assertEquals(sr1.nextLong(), sr2.nextLong());
96          }
97      }
# Line 368 | Line 368 | public class SplittableRandomTest extend
368          }
369      }
370  
371 +
372      /**
373       * Each of a parallel sized stream of bounded ints is within bounds
374       */
# Line 379 | Line 380 | public class SplittableRandomTest extend
380              for (int bound = least + 2; bound > least && bound < MAX_INT_BOUND; bound += 67867967) {
381                  final int lo = least, hi = bound;
382                  r.ints(size, lo, hi).parallel().
383 <                    forEach(x -> {if (x < lo || x >= hi)
383 >                    forEach(x -> {if (x < lo || x >= hi)
384                                  fails.getAndIncrement(); });
385              }
386          }
# Line 397 | Line 398 | public class SplittableRandomTest extend
398              for (long bound = least + 2; bound > least && bound < MAX_LONG_BOUND; bound += Math.abs(bound * 7919)) {
399                  final long lo = least, hi = bound;
400                  r.longs(size, lo, hi).parallel().
401 <                    forEach(x -> {if (x < lo || x >= hi)
401 >                    forEach(x -> {if (x < lo || x >= hi)
402                                  fails.getAndIncrement(); });
403              }
404          }
# Line 415 | Line 416 | public class SplittableRandomTest extend
416              for (double bound = least * 1.0011; bound < 1.0e20; bound *= 17) {
417                  final double lo = least, hi = bound;
418                  r.doubles(size, lo, hi).parallel().
419 <                    forEach(x -> {if (x < lo || x >= hi)
419 >                    forEach(x -> {if (x < lo || x >= hi)
420                                  fails.getAndIncrement(); });
421              }
422          }
423          assertEquals(fails.get(), 0);
424      }
425  
426 +    /**
427 +     * A parallel unsized stream of ints generates at least 100 values
428 +     */
429 +    public void testUnsizedIntsCount() {
430 +        LongAdder counter = new LongAdder();
431 +        SplittableRandom r = new SplittableRandom();
432 +        long size = 100;
433 +        r.ints().limit(size).parallel().forEach(x -> {counter.increment();});
434 +        assertEquals(counter.sum(), size);
435 +    }
436 +
437 +    /**
438 +     * A parallel unsized stream of longs generates at least 100 values
439 +     */
440 +    public void testUnsizedLongsCount() {
441 +        LongAdder counter = new LongAdder();
442 +        SplittableRandom r = new SplittableRandom();
443 +        long size = 100;
444 +        r.longs().limit(size).parallel().forEach(x -> {counter.increment();});
445 +        assertEquals(counter.sum(), size);
446 +    }
447 +
448 +
449 +    /**
450 +     * A parallel unsized stream of doubles generates at least 100 values
451 +     */
452 +    public void testUnsizedDoublesCount() {
453 +        LongAdder counter = new LongAdder();
454 +        SplittableRandom r = new SplittableRandom();
455 +        long size = 100;
456 +        r.doubles().limit(size).parallel().forEach(x -> {counter.increment();});
457 +        assertEquals(counter.sum(), size);
458 +    }
459 +
460 +    /**
461 +     * A sequential unsized stream of ints generates at least 100 values
462 +     */
463 +    public void testUnsizedIntsCountSeq() {
464 +        LongAdder counter = new LongAdder();
465 +        SplittableRandom r = new SplittableRandom();
466 +        long size = 100;
467 +        r.ints().limit(size).forEach(x -> {counter.increment();});
468 +        assertEquals(counter.sum(), size);
469 +    }
470 +
471 +    /**
472 +     * A sequential unsized stream of longs generates at least 100 values
473 +     */
474 +    public void testUnsizedLongsCountSeq() {
475 +        LongAdder counter = new LongAdder();
476 +        SplittableRandom r = new SplittableRandom();
477 +        long size = 100;
478 +        r.longs().limit(size).forEach(x -> {counter.increment();});
479 +        assertEquals(counter.sum(), size);
480 +    }
481 +
482 +
483 +    /**
484 +     * A sequential unsized stream of doubles generates at least 100 values
485 +     */
486 +    public void testUnsizedDoublesCountSeq() {
487 +        LongAdder counter = new LongAdder();
488 +        SplittableRandom r = new SplittableRandom();
489 +        long size = 100;
490 +        r.doubles().limit(size).forEach(x -> {counter.increment();});
491 +        assertEquals(counter.sum(), size);
492 +    }
493 +
494 +
495   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines