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() {