Examples
End-to-End Examples
Test user fixture
GeneratorConfig cfg = GeneratorConfig.builder()
.locale(Locale.US)
.seed(20260303L)
.build();
FullNameGenerator names = new FullNameGenerator(cfg);
EmailGenerator emails = new EmailGenerator(cfg);
PhoneNumberGenerator phones = new PhoneNumberGenerator(cfg);
StreetAddressGenerator addresses = new StreetAddressGenerator(cfg);
Map<String, Object> user = Map.of(
"id", Generators.ofUuid().generate().toString(),
"name", names.generate(),
"email", emails.generate(),
"phone", phones.generate(),
"address", addresses.generate()
);
Batch order data with schema
Field f = Generators.ofField(Locale.US);
Schema orders = Generators.ofSchema(Locale.US, Map.of(
"orderId", f.bind("code.uuid4"),
"customer", f.bind("person.full_name"),
"email", f.bind("person.email"),
"currency", f.bind("finance.currency_iso_code"),
"amount", f.bind("finance.price"),
"shipTo", f.bind("address.street")
));
List<Map<String, Object>> batch = orders.generateBatch(50);
Mixed random strategy in tests
Generator<Integer> stableIds = Generators.ofInt(1000, 9999, 77L);
Generator<String> uniqueEmails = Generators.unique(Generators.ofEmail());
for (int i = 0; i < 20; i++) {
int id = stableIds.generate();
String email = uniqueEmails.generate();
// assert / save
}