Class Generators

java.lang.Object
de.cuioss.test.generator.Generators

public class Generators extends Object
Provides factory methods for creating TypedGenerators for various Java types. All generators are thread-safe and suitable for concurrent use in tests.

The generators are organized into the following categories:

  • Primitive Types and their Wrappers (boolean, int, long, etc.)
  • String Generators (empty, non-empty, letters only)
  • Date and Time Types (Date, LocalDate, ZonedDateTime, etc.)
  • Collection Types (List, Set, SortedSet)
  • Common Java Types (URL, Locale, Class)

Usage examples from tests:

 
 // Basic generators
 TypedGenerator<String> generator = Generators.strings("X", 2, 2);
 String value = generator.next();
 
 // Fixed values
 TypedGenerator<String> generator = Generators.fixedValues("A", "B", "C");
 String value = generator.next();
 
 // Enum values
 Optional<TypedGenerator<TimeUnit>> generator = Generators.enumValuesIfAvailable(TimeUnit.class);
 TypedGenerator<TimeUnit> generator = Generators.enumValues(TimeUnit.class);
 
 // Unique values
 TypedGenerator<Integer> baseGen = Generators.integers(1, 10);
 TypedGenerator<Integer> uniqueGen = Generators.uniqueValues(baseGen);
 Set<Integer> seen = new HashSet<>();
 for (int i = 0; i < 10; i++) {
     seen.add(uniqueGen.next());
 }
 
 
Since:
1.0
Author:
Oliver Wolff