Skip to content

Commit 04f7919

Browse files
author
eugenp
committed
java random examples
1 parent 706ec1d commit 04f7919

File tree

1 file changed

+50
-6
lines changed

1 file changed

+50
-6
lines changed

core-java/src/test/java/org/baeldung/java/CoreJavaRandomUnitTest.java

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Random;
44

5+
import org.apache.commons.lang3.RandomStringUtils;
56
import org.apache.commons.math3.random.RandomDataGenerator;
67
import org.junit.Test;
78

@@ -99,17 +100,17 @@ public void givenUsingPlainJava_whenGeneratingRandomDoubleUnbounded_thenCorrect(
99100
}
100101

101102
@Test
102-
public void givenUsingPlainJava_whenGeneratingRandomDoubleBounded_thenCorrect() {
103-
final double leftLimit = 1D;
104-
final double rightLimit = 10D;
105-
final double generatedDouble = leftLimit + new Random().nextDouble() * (rightLimit - leftLimit);
103+
public void givenUsingApache_whenGeneratingRandomDoubleUnbounded_thenCorrect() {
104+
final double generatedDouble = new RandomDataGenerator().getRandomGenerator().nextDouble();
106105

107106
System.out.println(generatedDouble);
108107
}
109108

110109
@Test
111-
public void givenUsingApache_whenGeneratingRandomDoubleUnbounded_thenCorrect() {
112-
final double generatedDouble = new RandomDataGenerator().getRandomGenerator().nextDouble();
110+
public void givenUsingPlainJava_whenGeneratingRandomDoubleBounded_thenCorrect() {
111+
final double leftLimit = 1D;
112+
final double rightLimit = 10D;
113+
final double generatedDouble = leftLimit + new Random().nextDouble() * (rightLimit - leftLimit);
113114

114115
System.out.println(generatedDouble);
115116
}
@@ -123,4 +124,47 @@ public void givenUsingApache_whenGeneratingRandomDoubleBounded_thenCorrect() {
123124
System.out.println(generatedDouble);
124125
}
125126

127+
// tests - random String
128+
129+
@Test
130+
public void givenUsingPlainJava_whenGeneratingRandomStringUnbounded_thenCorrect() {
131+
final byte[] array = new byte[7]; // length is bounded by 7
132+
new Random().nextBytes(array);
133+
final String generatedString = new String(array);
134+
135+
System.out.println(generatedString);
136+
}
137+
138+
@Test
139+
public void givenUsingPlainJava_whenGeneratingRandomStringBounded_thenCorrect() {
140+
final int leftLimit = 97; // letter 'a'
141+
final int rightLimit = 122; // letter 'z'
142+
final int targetStringLength = 10;
143+
final StringBuilder buffer = new StringBuilder(targetStringLength);
144+
for (int i = 0; i < targetStringLength; i++) {
145+
final int randomLimitedInt = leftLimit + (int) (new Random().nextFloat() * (rightLimit - leftLimit));
146+
buffer.append((char) randomLimitedInt);
147+
}
148+
final String generatedString = new String(buffer);
149+
150+
System.out.println(generatedString);
151+
}
152+
153+
@Test
154+
public void givenUsingApache_whenGeneratingRandomStringUnbounded_thenCorrect() {
155+
final String generatedString = RandomStringUtils.random(10);
156+
157+
System.out.println(generatedString);
158+
}
159+
160+
@Test
161+
public void givenUsingApache_whenGeneratingRandomStringBounded_thenCorrect() {
162+
final int length = 10;
163+
final boolean useLetters = true;
164+
final boolean useNumbers = false;
165+
final String generatedString = RandomStringUtils.random(length, useLetters, useNumbers);
166+
167+
System.out.println(generatedString);
168+
}
169+
126170
}

0 commit comments

Comments
 (0)