From 8530388c5cc91cffbbdbfcb4527cced0ebc31d56 Mon Sep 17 00:00:00 2001
From: aitorcuesta <56877414+aitorcuesta@users.noreply.github.com>
Date: Mon, 13 Jan 2020 18:26:57 +0100
Subject: [PATCH] BAEL-3678 - Moving from java-numbers-2 to java-numbers-3
(#8521)
---
java-numbers-2/pom.xml | 5 ----
java-numbers-3/pom.xml | 8 +++++++
.../randomnumbers/RandomNumbersGenerator.java | 12 ++++++++++
.../RandomNumbersGeneratorUnitTest.java | 23 ++++++++++++++++---
4 files changed, 40 insertions(+), 8 deletions(-)
rename {java-numbers-2 => java-numbers-3}/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java (83%)
rename {java-numbers-2 => java-numbers-3}/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java (84%)
diff --git a/java-numbers-2/pom.xml b/java-numbers-2/pom.xml
index f5f10d9364..ba40ef0a38 100644
--- a/java-numbers-2/pom.xml
+++ b/java-numbers-2/pom.xml
@@ -21,11 +21,6 @@
jmh-generator-annprocess
${jmh-generator.version}
-
- it.unimi.dsi
- dsiutils
- 2.6.0
-
diff --git a/java-numbers-3/pom.xml b/java-numbers-3/pom.xml
index 3dd8e16bc7..e3c64064c7 100644
--- a/java-numbers-3/pom.xml
+++ b/java-numbers-3/pom.xml
@@ -12,6 +12,14 @@
0.0.1-SNAPSHOT
../parent-java
+
+
+
+ it.unimi.dsi
+ dsiutils
+ 2.6.0
+
+
java-numbers-3
diff --git a/java-numbers-2/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java b/java-numbers-3/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java
similarity index 83%
rename from java-numbers-2/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java
rename to java-numbers-3/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java
index 84cd3eecb6..50a072371e 100644
--- a/java-numbers-2/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java
+++ b/java-numbers-3/src/main/java/com/baeldung/randomnumbers/RandomNumbersGenerator.java
@@ -70,12 +70,24 @@ public class RandomNumbersGenerator {
return randomWithSplittableRandom;
}
+ public IntStream generateRandomWithSplittableRandomLimitedIntStreamWithinARange(int min, int max, long streamSize) {
+ SplittableRandom splittableRandom = new SplittableRandom();
+ IntStream limitedIntStreamWithinARangeWithSplittableRandom = splittableRandom.ints(streamSize, min, max);
+ return limitedIntStreamWithinARangeWithSplittableRandom;
+ }
+
public Integer generateRandomWithSecureRandom() {
SecureRandom secureRandom = new SecureRandom();
int randomWithSecureRandom = secureRandom.nextInt();
return randomWithSecureRandom;
}
+ public Integer generateRandomWithSecureRandomWithinARange(int min, int max) {
+ SecureRandom secureRandom = new SecureRandom();
+ int randomWithSecureRandomWithinARange = secureRandom.nextInt(max - min) + min;
+ return randomWithSecureRandomWithinARange;
+ }
+
public Integer generateRandomWithRandomDataGenerator(int min, int max) {
RandomDataGenerator randomDataGenerator = new RandomDataGenerator();
int randomWithRandomDataGenerator = randomDataGenerator.nextInt(min, max);
diff --git a/java-numbers-2/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java b/java-numbers-3/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java
similarity index 84%
rename from java-numbers-2/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java
rename to java-numbers-3/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java
index 31d334f8b8..bdd955a4ee 100644
--- a/java-numbers-2/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java
+++ b/java-numbers-3/src/test/java/com/baeldung/randomnumbers/RandomNumbersGeneratorUnitTest.java
@@ -11,6 +11,7 @@ public class RandomNumbersGeneratorUnitTest {
private static final int MIN_RANGE = 1;
private static final int MAX_RANGE = 10;
+ private static final int MIN_RANGE_NEGATIVE = -10;
private static final int ITERATIONS = 50;
private static final long STREAM_SIZE = 50;
@@ -19,7 +20,7 @@ public class RandomNumbersGeneratorUnitTest {
RandomNumbersGenerator generator = new RandomNumbersGenerator();
for (int i = 0; i < ITERATIONS; i++) {
int randomNumer = generator.generateRandomWithMathRandom(MIN_RANGE, MAX_RANGE);
- assertTrue(isInRange(randomNumer, Integer.MIN_VALUE, Integer.MAX_VALUE));
+ assertTrue(isInRange(randomNumer, MIN_RANGE, MAX_RANGE));
}
}
@@ -97,10 +98,17 @@ public class RandomNumbersGeneratorUnitTest {
public void whenGenerateRandomWithSplittableRandom_returnsSuccessfully() {
RandomNumbersGenerator generator = new RandomNumbersGenerator();
for (int i = 0; i < ITERATIONS; i++) {
- int randomNumber = generator.generateRandomWithSplittableRandom(MIN_RANGE, MAX_RANGE);
- assertTrue(isInRange(randomNumber, MIN_RANGE, MAX_RANGE));
+ int randomNumber = generator.generateRandomWithSplittableRandom(MIN_RANGE_NEGATIVE, MAX_RANGE);
+ assertTrue(isInRange(randomNumber, MIN_RANGE_NEGATIVE, MAX_RANGE));
}
}
+
+ @Test
+ public void whenGenerateRandomWithSplittableRandomLimitedIntStreamWithinARange_returnsSuccessfully() {
+ RandomNumbersGenerator generator = new RandomNumbersGenerator();
+ generator.generateRandomWithSplittableRandomLimitedIntStreamWithinARange(MIN_RANGE, MAX_RANGE, STREAM_SIZE)
+ .forEach(randomNumber -> assertTrue(isInRange(randomNumber, MIN_RANGE, MAX_RANGE)));
+ }
@Test
public void whenGenerateRandomWithSecureRandom_returnsSuccessfully() {
@@ -110,6 +118,15 @@ public class RandomNumbersGeneratorUnitTest {
assertTrue(isInRange(randomNumber, Integer.MIN_VALUE, Integer.MAX_VALUE));
}
}
+
+ @Test
+ public void whenGenerateRandomWithSecureRandomWithinARange_returnsSuccessfully() {
+ RandomNumbersGenerator generator = new RandomNumbersGenerator();
+ for (int i = 0; i < ITERATIONS; i++) {
+ int randomNumber = generator.generateRandomWithSecureRandomWithinARange(MIN_RANGE, MAX_RANGE);
+ assertTrue(isInRange(randomNumber, MIN_RANGE, MAX_RANGE));
+ }
+ }
@Test
public void whenGenerateRandomWithRandomDataGenerator_returnsSuccessfully() {