Skip to content

Commit 81abe21

Browse files
committed
add helper for easier unique string generation
1 parent 97591c9 commit 81abe21

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

src/main/java/it/aboutbits/springboot/testing/testdata/base/FakerExtended.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package it.aboutbits.springboot.testing.testdata.base;
22

33
import it.aboutbits.springboot.toolbox.type.identity.EntityId;
4+
import lombok.NonNull;
45
import net.datafaker.Faker;
56
import net.datafaker.service.FakeValuesService;
67
import net.datafaker.service.FakerContext;
@@ -36,23 +37,27 @@ public FakerExtended(FakeValuesService fakeValuesService, FakerContext context)
3637
super(fakeValuesService, context);
3738
}
3839

39-
public <T extends Enum<?>> T randomEnumValue(Class<T> enumClass) {
40+
public <T extends Enum<?>> T randomEnumValue(@NonNull Class<T> enumClass) {
4041
var values = enumClass.getEnumConstants();
4142
if (values.length == 0) {
4243
throw new IllegalArgumentException("Enum class must have at least one value");
4344
}
4445
return values[this.random().nextInt(values.length)];
4546
}
4647

47-
public <T extends EntityId<Long>> T randomEntityId(LongFunction<T> constructor) {
48+
public <T extends EntityId<Long>> T randomEntityId(@NonNull LongFunction<T> constructor) {
4849
return constructor.apply(
49-
super.random().nextInt(99999)
50+
super.random().nextInt(9999999)
5051
);
5152
}
5253

53-
public <T extends EntityId<String>> T randomEntityId(Function<String, T> constructor) {
54+
public <T extends EntityId<String>> T randomEntityId(@NonNull Function<String, T> constructor) {
5455
return constructor.apply(
5556
super.internet().uuid()
5657
);
5758
}
59+
60+
public String unique(@NonNull String value) {
61+
return value + "_" + super.random().nextInt(9999999);
62+
}
5863
}

0 commit comments

Comments
 (0)