Skip to content

Commit b1fd1f9

Browse files
committed
use an extended faker to provide custom utilities
1 parent d250123 commit b1fd1f9

3 files changed

Lines changed: 42 additions & 4 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package it.aboutbits.springboot.testing.testdata.base;
2+
3+
import net.datafaker.Faker;
4+
import net.datafaker.service.FakeValuesService;
5+
import net.datafaker.service.FakerContext;
6+
import net.datafaker.service.RandomService;
7+
8+
import java.util.Locale;
9+
import java.util.Random;
10+
11+
public class FakerExtended extends Faker {
12+
public FakerExtended() {
13+
super();
14+
}
15+
16+
public FakerExtended(Locale locale) {
17+
super(locale);
18+
}
19+
20+
public FakerExtended(Random random) {
21+
super(random);
22+
}
23+
24+
public FakerExtended(Locale locale, Random random) {
25+
super(locale, random);
26+
}
27+
28+
public FakerExtended(Locale locale, RandomService randomService) {
29+
super(locale, randomService);
30+
}
31+
32+
public FakerExtended(FakeValuesService fakeValuesService, FakerContext context) {
33+
super(fakeValuesService, context);
34+
}
35+
36+
public <T extends Enum<?>> T randomEnumValue(Class<T> enumClass) {
37+
var values = enumClass.getEnumConstants();
38+
return values[this.random().nextInt(values.length)];
39+
}
40+
}

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

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

33
import lombok.NonNull;
44
import lombok.extern.slf4j.Slf4j;
5-
import net.datafaker.Faker;
65

76
import java.util.ArrayList;
87
import java.util.List;
@@ -14,7 +13,7 @@
1413
@SuppressWarnings("unchecked")
1514
@Slf4j
1615
public abstract class ModifyableTestDataCreator<CREATOR extends ModifyableTestDataCreator<CREATOR, ITEM, PARAMETER>, ITEM, PARAMETER> extends TestDataCreator<ITEM> {
17-
protected static final Faker FAKER = new Faker();
16+
protected static final FakerExtended FAKER = new FakerExtended();
1817

1918
private boolean mutatorSet = false;
2019
private boolean mutatorCalled = false;

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

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

33
import lombok.NonNull;
4-
import net.datafaker.Faker;
54

65
import java.util.ArrayList;
76
import java.util.Comparator;
@@ -11,7 +10,7 @@
1110
import java.util.function.Function;
1211

1312
public abstract class TestDataCreator<ITEM> {
14-
protected static final Faker FAKER = new Faker();
13+
protected static final FakerExtended FAKER = new FakerExtended();
1514

1615
protected final int numberOfItems;
1716

0 commit comments

Comments
 (0)