RFR: jsr166 jdk10 integration wave 4
Martin Buchholz
martinrb at google.com
Fri Oct 13 02:35:14 UTC 2017
On Thu, Oct 12, 2017 at 5:32 PM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>
> SplittableRandomTest.java
> —
>
> 592 int n = sr.nextInt(20);
>
> nextInt(1, 20) ? so you get a byte array of 1 or more in length.
>
Yes, I see now there is no testing at all when n == 0. Empty array and
null array are both worth testing, so:
Index: SplittableRandomTest.java
===================================================================
RCS file:
/export/home/jsr166/jsr166/jsr166/src/test/tck/SplittableRandomTest.java,v
retrieving revision 1.22
diff -u -r1.22 SplittableRandomTest.java
--- SplittableRandomTest.java 3 Oct 2017 22:27:04 -0000 1.22
+++ SplittableRandomTest.java 13 Oct 2017 02:31:20 -0000
@@ -562,7 +562,7 @@
*/
public void testNextBytes() {
SplittableRandom sr = new SplittableRandom();
- int n = sr.nextInt(20);
+ int n = sr.nextInt(1, 20);
byte[] bytes = new byte[n];
outer:
for (int i = 0; i < n; i++) {
@@ -577,4 +577,18 @@
}
}
+ /**
+ * Filling an empty array with random bytes succeeds without effect.
+ */
+ public void testNextBytes_emptyArray() {
+ new SplittableRandom().nextBytes(new byte[0]);
+ }
+
+ public void testNextBytes_nullArray() {
+ try {
+ new SplittableRandom().nextBytes(null);
+ shouldThrow();
+ } catch (NullPointerException success) {}
+ }
+
}
More information about the core-libs-dev
mailing list