Runnable Snippets

The snippets below are copy/paste-ready and target high-usage generator areas.

Object generation

import org.github.krandom.generator.Generators;
import org.github.krandom.generator.object.ObjectGenerator;
import org.github.krandom.generator.object.ObjectGeneratorConfig;

record Address(String city, String country) {}
record User(String name, Address address) {}

ObjectGeneratorConfig config = ObjectGeneratorConfig.builder()
        .maxDepth(3)
        .build();

ObjectGenerator<User> generator = Generators.ofObject(User.class, config);
User user = generator.generate();
System.out.println(user);

User data

import org.github.krandom.generator.GeneratorConfig;
import org.github.krandom.generator.user.EmailGenerator;
import org.github.krandom.generator.user.FullNameGenerator;

GeneratorConfig config = GeneratorConfig.builder()
        .seed(42L)
        .build();

String name = new FullNameGenerator(config).generate();
String email = new EmailGenerator(config).generate();
System.out.println(name + " <" + email + ">");

Location data

import org.github.krandom.generator.GeneratorConfig;
import org.github.krandom.generator.location.CityGenerator;
import org.github.krandom.generator.location.CountryGenerator;

GeneratorConfig config = GeneratorConfig.builder()
        .locale(java.util.Locale.of("de", "DE"))
        .seed(42L)
        .build();

System.out.println(new CityGenerator(config).generate());
System.out.println(new CountryGenerator(config).generate());

Finance data

import org.github.krandom.generator.finance.CreditCardGenerator;
import org.github.krandom.generator.finance.MoneyGenerator;

String amount = new MoneyGenerator().generate();
String card = new CreditCardGenerator().generate();

System.out.println(amount);
System.out.println(card);