summaryrefslogtreecommitdiff
path: root/jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2016-03-16 13:29:15 +0000
committerPrzemyslaw Szczepaniak <pszczepaniak@google.com>2016-03-18 12:45:22 +0000
commitff18b5f136f92154f2e05217e3953d10f459e561 (patch)
tree498a25b4362ab9b966a7e4f1021c5eae3e60db71 /jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java
parent96086fd89b7abf2267055badfc3b65ddba6376f5 (diff)
Add openJdk8 java.util.stream package
Based on openJdk 8u60 source & iam@ stream prototype in ag/872080 Uncommented all code that was waiting for java.util.stream to show up Differences from original sources: - Removed unsignedDivision usage from LongStream, it's not currently supported and we don't expect that large workloads on mobile devices. - Removed java.nio.file references. - Removed (yet) not implemented stream-related methods from other packages listed in package-info.java. Bug: 27692239 Change-Id: Ie24e60e8248367b576ef91046837ccde152de373 (cherry picked from commit d0a2645e29a9b84d7e5ec822eb9904e93bd6c013)
Diffstat (limited to 'jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java')
-rw-r--r--jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java369
1 files changed, 184 insertions, 185 deletions
diff --git a/jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java b/jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java
index 614af8372c..b98dc312db 100644
--- a/jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java
+++ b/jsr166-tests/src/test/java/jsr166/ThreadLocalRandom8Test.java
@@ -39,203 +39,202 @@ public class ThreadLocalRandom8Test extends JSR166TestCase {
* Invoking sized ints, long, doubles, with negative sizes throws
* IllegalArgumentException
*/
- // TODO(streams):
- // public void testBadStreamSize() {
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // Runnable[] throwingActions = {
- // () -> r.ints(-1L),
- // () -> r.ints(-1L, 2, 3),
- // () -> r.longs(-1L),
- // () -> r.longs(-1L, -1L, 1L),
- // () -> r.doubles(-1L),
- // () -> r.doubles(-1L, .5, .6),
- // };
- // assertThrows(IllegalArgumentException.class, throwingActions);
- // }
+ public void testBadStreamSize() {
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ Runnable[] throwingActions = {
+ () -> r.ints(-1L),
+ () -> r.ints(-1L, 2, 3),
+ () -> r.longs(-1L),
+ () -> r.longs(-1L, -1L, 1L),
+ () -> r.doubles(-1L),
+ () -> r.doubles(-1L, .5, .6),
+ };
+ assertThrows(IllegalArgumentException.class, throwingActions);
+ }
- // /**
- // * Invoking bounded ints, long, doubles, with illegal bounds throws
- // * IllegalArgumentException
- // */
- // public void testBadStreamBounds() {
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // Runnable[] throwingActions = {
- // () -> r.ints(2, 1),
- // () -> r.ints(10, 42, 42),
- // () -> r.longs(-1L, -1L),
- // () -> r.longs(10, 1L, -2L),
- // () -> r.doubles(0.0, 0.0),
- // () -> r.doubles(10, .5, .4),
- // };
- // assertThrows(IllegalArgumentException.class, throwingActions);
- // }
+ /**
+ * Invoking bounded ints, long, doubles, with illegal bounds throws
+ * IllegalArgumentException
+ */
+ public void testBadStreamBounds() {
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ Runnable[] throwingActions = {
+ () -> r.ints(2, 1),
+ () -> r.ints(10, 42, 42),
+ () -> r.longs(-1L, -1L),
+ () -> r.longs(10, 1L, -2L),
+ () -> r.doubles(0.0, 0.0),
+ () -> r.doubles(10, .5, .4),
+ };
+ assertThrows(IllegalArgumentException.class, throwingActions);
+ }
- // /**
- // * A parallel sized stream of ints generates the given number of values
- // */
- // public void testIntsCount() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 0;
- // for (int reps = 0; reps < REPS; ++reps) {
- // counter.reset();
- // r.ints(size).parallel().forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // size += 524959;
- // }
- // }
+ /**
+ * A parallel sized stream of ints generates the given number of values
+ */
+ public void testIntsCount() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 0;
+ for (int reps = 0; reps < REPS; ++reps) {
+ counter.reset();
+ r.ints(size).parallel().forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ size += 524959;
+ }
+ }
- // /**
- // * A parallel sized stream of longs generates the given number of values
- // */
- // public void testLongsCount() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 0;
- // for (int reps = 0; reps < REPS; ++reps) {
- // counter.reset();
- // r.longs(size).parallel().forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // size += 524959;
- // }
- // }
+ /**
+ * A parallel sized stream of longs generates the given number of values
+ */
+ public void testLongsCount() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 0;
+ for (int reps = 0; reps < REPS; ++reps) {
+ counter.reset();
+ r.longs(size).parallel().forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ size += 524959;
+ }
+ }
- // /**
- // * A parallel sized stream of doubles generates the given number of values
- // */
- // public void testDoublesCount() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 0;
- // for (int reps = 0; reps < REPS; ++reps) {
- // counter.reset();
- // r.doubles(size).parallel().forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // size += 524959;
- // }
- // }
+ /**
+ * A parallel sized stream of doubles generates the given number of values
+ */
+ public void testDoublesCount() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 0;
+ for (int reps = 0; reps < REPS; ++reps) {
+ counter.reset();
+ r.doubles(size).parallel().forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ size += 524959;
+ }
+ }
- // /**
- // * Each of a parallel sized stream of bounded ints is within bounds
- // */
- // public void testBoundedInts() {
- // AtomicInteger fails = new AtomicInteger(0);
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 12345L;
- // for (int least = -15485867; least < MAX_INT_BOUND; least += 524959) {
- // for (int bound = least + 2; bound > least && bound < MAX_INT_BOUND; bound += 67867967) {
- // final int lo = least, hi = bound;
- // r.ints(size, lo, hi).parallel().forEach(
- // x -> {
- // if (x < lo || x >= hi)
- // fails.getAndIncrement(); });
- // }
- // }
- // assertEquals(0, fails.get());
- // }
+ /**
+ * Each of a parallel sized stream of bounded ints is within bounds
+ */
+ public void testBoundedInts() {
+ AtomicInteger fails = new AtomicInteger(0);
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 12345L;
+ for (int least = -15485867; least < MAX_INT_BOUND; least += 524959) {
+ for (int bound = least + 2; bound > least && bound < MAX_INT_BOUND; bound += 67867967) {
+ final int lo = least, hi = bound;
+ r.ints(size, lo, hi).parallel().forEach(
+ x -> {
+ if (x < lo || x >= hi)
+ fails.getAndIncrement(); });
+ }
+ }
+ assertEquals(0, fails.get());
+ }
- // /**
- // * Each of a parallel sized stream of bounded longs is within bounds
- // */
- // public void testBoundedLongs() {
- // AtomicInteger fails = new AtomicInteger(0);
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 123L;
- // for (long least = -86028121; least < MAX_LONG_BOUND; least += 1982451653L) {
- // for (long bound = least + 2; bound > least && bound < MAX_LONG_BOUND; bound += Math.abs(bound * 7919)) {
- // final long lo = least, hi = bound;
- // r.longs(size, lo, hi).parallel().forEach(
- // x -> {
- // if (x < lo || x >= hi)
- // fails.getAndIncrement(); });
- // }
- // }
- // assertEquals(0, fails.get());
- // }
+ /**
+ * Each of a parallel sized stream of bounded longs is within bounds
+ */
+ public void testBoundedLongs() {
+ AtomicInteger fails = new AtomicInteger(0);
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 123L;
+ for (long least = -86028121; least < MAX_LONG_BOUND; least += 1982451653L) {
+ for (long bound = least + 2; bound > least && bound < MAX_LONG_BOUND; bound += Math.abs(bound * 7919)) {
+ final long lo = least, hi = bound;
+ r.longs(size, lo, hi).parallel().forEach(
+ x -> {
+ if (x < lo || x >= hi)
+ fails.getAndIncrement(); });
+ }
+ }
+ assertEquals(0, fails.get());
+ }
- // /**
- // * Each of a parallel sized stream of bounded doubles is within bounds
- // */
- // public void testBoundedDoubles() {
- // AtomicInteger fails = new AtomicInteger(0);
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 456;
- // for (double least = 0.00011; least < 1.0e20; least *= 9) {
- // for (double bound = least * 1.0011; bound < 1.0e20; bound *= 17) {
- // final double lo = least, hi = bound;
- // r.doubles(size, lo, hi).parallel().forEach(
- // x -> {
- // if (x < lo || x >= hi)
- // fails.getAndIncrement(); });
- // }
- // }
- // assertEquals(0, fails.get());
- // }
+ /**
+ * Each of a parallel sized stream of bounded doubles is within bounds
+ */
+ public void testBoundedDoubles() {
+ AtomicInteger fails = new AtomicInteger(0);
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 456;
+ for (double least = 0.00011; least < 1.0e20; least *= 9) {
+ for (double bound = least * 1.0011; bound < 1.0e20; bound *= 17) {
+ final double lo = least, hi = bound;
+ r.doubles(size, lo, hi).parallel().forEach(
+ x -> {
+ if (x < lo || x >= hi)
+ fails.getAndIncrement(); });
+ }
+ }
+ assertEquals(0, fails.get());
+ }
- // /**
- // * A parallel unsized stream of ints generates at least 100 values
- // */
- // public void testUnsizedIntsCount() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 100;
- // r.ints().limit(size).parallel().forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // }
+ /**
+ * A parallel unsized stream of ints generates at least 100 values
+ */
+ public void testUnsizedIntsCount() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 100;
+ r.ints().limit(size).parallel().forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ }
- // /**
- // * A parallel unsized stream of longs generates at least 100 values
- // */
- // public void testUnsizedLongsCount() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 100;
- // r.longs().limit(size).parallel().forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // }
+ /**
+ * A parallel unsized stream of longs generates at least 100 values
+ */
+ public void testUnsizedLongsCount() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 100;
+ r.longs().limit(size).parallel().forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ }
- // /**
- // * A parallel unsized stream of doubles generates at least 100 values
- // */
- // public void testUnsizedDoublesCount() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 100;
- // r.doubles().limit(size).parallel().forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // }
+ /**
+ * A parallel unsized stream of doubles generates at least 100 values
+ */
+ public void testUnsizedDoublesCount() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 100;
+ r.doubles().limit(size).parallel().forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ }
- // /**
- // * A sequential unsized stream of ints generates at least 100 values
- // */
- // public void testUnsizedIntsCountSeq() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 100;
- // r.ints().limit(size).forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // }
+ /**
+ * A sequential unsized stream of ints generates at least 100 values
+ */
+ public void testUnsizedIntsCountSeq() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 100;
+ r.ints().limit(size).forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ }
- // /**
- // * A sequential unsized stream of longs generates at least 100 values
- // */
- // public void testUnsizedLongsCountSeq() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 100;
- // r.longs().limit(size).forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // }
+ /**
+ * A sequential unsized stream of longs generates at least 100 values
+ */
+ public void testUnsizedLongsCountSeq() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 100;
+ r.longs().limit(size).forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ }
- // /**
- // * A sequential unsized stream of doubles generates at least 100 values
- // */
- // public void testUnsizedDoublesCountSeq() {
- // LongAdder counter = new LongAdder();
- // ThreadLocalRandom r = ThreadLocalRandom.current();
- // long size = 100;
- // r.doubles().limit(size).forEach(x -> counter.increment());
- // assertEquals(size, counter.sum());
- // }
+ /**
+ * A sequential unsized stream of doubles generates at least 100 values
+ */
+ public void testUnsizedDoublesCountSeq() {
+ LongAdder counter = new LongAdder();
+ ThreadLocalRandom r = ThreadLocalRandom.current();
+ long size = 100;
+ r.doubles().limit(size).forEach(x -> counter.increment());
+ assertEquals(size, counter.sum());
+ }
}