@Test(dataProvider = "suppliers") publicvoid testRandomIntStream(final Random random, finalint count) { final List<Integer> destination = new ArrayList<>(count);
random.ints().limit(count).forEach(destination::add);
assertEquals(destination.size(), count);
}
@Test(dataProvider = "suppliers") publicvoid testRandomLongStream(final Random random, finalint count) { final List<Long> destination = new ArrayList<>(count);
random.longs().limit(count).forEach(destination::add);
assertEquals(destination.size(), count);
}
@Test(dataProvider = "suppliers") publicvoid testRandomDoubleStream(final Random random, finalint count) { final List<Double> destination = new ArrayList<>(count);
random.doubles().limit(count).forEach(destination::add);
random.doubles().limit(count).forEach(d -> assertTrue(d >= 0.0 && d < 1.0));
assertEquals(destination.size(), count);
}
@Test publicvoid testIntStream() { finallong seed = System.currentTimeMillis(); final Random r1 = new Random(seed); finalint[] a = newint[SIZE]; for (int i=0; i < SIZE; i++) {
a[i] = r1.nextInt();
}
final Random r2 = new Random(seed); // same seed finalint[] b = r2.ints().limit(SIZE).toArray();
assertEquals(a, b);
}
@Test publicvoid testLongStream() { finallong seed = System.currentTimeMillis(); final Random r1 = new Random(seed); finallong[] a = newlong[SIZE]; for (int i=0; i < SIZE; i++) {
a[i] = r1.nextLong();
}
final Random r2 = new Random(seed); // same seed finallong[] b = r2.longs().limit(SIZE).toArray();
assertEquals(a, b);
}
@Test publicvoid testDoubleStream() { finallong seed = System.currentTimeMillis(); final Random r1 = new Random(seed); finaldouble[] a = newdouble[SIZE]; for (int i=0; i < SIZE; i++) {
a[i] = r1.nextDouble();
}
final Random r2 = new Random(seed); // same seed finaldouble[] b = r2.doubles().limit(SIZE).toArray();
assertEquals(a, b);
}
// Wait for all tasks to complete // Timeout is beyond reasonable doubt that completion should // have occurred unless there is an issue
CompletableFuture<Void> all = CompletableFuture.allOf(cfs.stream().toArray(CompletableFuture[]::new));
all.get(1, TimeUnit.MINUTES);
// Count the distinct results, which should equal the number of tasks long rc = cfs.stream().map(CompletableFuture::join).distinct().count();
assertEquals(rc, tasks);
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.