/* * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
@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);
}
}
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
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 ist noch experimentell.