Class ComponentizedGenerator<T>
- Type Parameters:
T- type of property parameter to apply this generator's values to
- Direct Known Subclasses:
BiFunctionGenerator,BinaryOperatorGenerator,BiPredicateGenerator,CallableGenerator,CollectionGenerator,DoubleFunctionGenerator,FunctionGenerator,FunctionGenerator,IntFunctionGenerator,LongFunctionGenerator,MapGenerator,OptionalGenerator,OptionalGenerator,PredicateGenerator,PredicateGenerator,SupplierGenerator,SupplierGenerator,ToDoubleBiFunctionGenerator,ToDoubleFunctionGenerator,ToIntBiFunctionGenerator,ToIntFunctionGenerator,ToLongBiFunctionGenerator,ToLongFunctionGenerator,UnaryOperatorGenerator
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddComponentGenerators(List<Generator<?>> newComponents) Adds component generators to this generator.booleancanGenerateForParametersOfTypes(List<io.arxila.javaruntype.type.TypeParameter<?>> typeParameters) booleancanRegisterAsType(Class<?> type) Tells whether this generator is allowed to be used for property parameters of the given type.voidconfigure(AnnotatedType annotatedType) Configures this generator using annotations from a given annotated type.final booleanThis is intended for use only by junit-quickcheck itself, and not by creators of custom generators.voidprovide(Generators provided) Supplies the available generators to this one.Methods inherited from class com.pholser.junit.quickcheck.generator.Generator
canShrink, compatibleWithTypeParameter, configurationAnnotationsOn, configure, copy, doShrink, gen, gen, magnitude, narrow, numberOfNeededComponents, shrink, types
-
Field Details
-
components
-
-
Constructor Details
-
ComponentizedGenerator
- Parameters:
type- class token for type of property parameter this generator is applicable to
-
-
Method Details
-
canRegisterAsType
Tells whether this generator is allowed to be used for property parameters of the given type.Generators of this type do not get called upon to generate values for parameters of type
Object.- Overrides:
canRegisterAsTypein classGenerator<T>- Parameters:
type- type against which to test this generator- Returns:
trueif the generator is allowed to participate in generating values for property parameters oftype
-
hasComponents
public final boolean hasComponents()Description copied from class:GeneratorThis is intended for use only by junit-quickcheck itself, and not by creators of custom generators.
- Overrides:
hasComponentsin classGenerator<T>- Returns:
- whether this generator has component generators, such as for those generators that produce lists or maps
- See Also:
-
addComponentGenerators
Description copied from class:GeneratorAdds component generators to this generator.
Some generators need component generators to create proper values. For example, list generators require a single component generator in order to generate elements that have the type of the list parameter's type argument.
This is intended for use only by junit-quickcheck itself, and not by creators of custom generators.
- Overrides:
addComponentGeneratorsin classGenerator<T>- Parameters:
newComponents- component generators to add
-
canGenerateForParametersOfTypes
public boolean canGenerateForParametersOfTypes(List<io.arxila.javaruntype.type.TypeParameter<?>> typeParameters) - Overrides:
canGenerateForParametersOfTypesin classGenerator<T>- Parameters:
typeParameters- a list of generic type parameters- Returns:
- whether this generator can be considered for generating values for property parameters that have the given type parameters in their signatures
-
provide
Description copied from class:GeneratorSupplies the available generators to this one.
This is intended for use only by junit-quickcheck itself, and not by creators of custom generators.
-
configure
Description copied from class:GeneratorConfigures this generator using annotations from a given annotated type.
This method considers only annotations that are themselves marked with
GeneratorConfiguration.By default, the generator will configure itself using this procedure:
- For each of the given annotations:
- Find a
publicmethod on the generator namedconfigure, that accepts a single parameter of the annotation type - Invoke the
configuremethod reflectively, passing the annotation as the argument
- Find a
- For each of the given annotations:
-
componentGenerators
- Returns:
- this generator's component generators
-