com.pholser.junit.quickcheck.internal.generator
Class CompositeGenerator

java.lang.Object
  extended by com.pholser.junit.quickcheck.generator.Generator<Object>
      extended by com.pholser.junit.quickcheck.internal.generator.CompositeGenerator

public class CompositeGenerator
extends Generator<Object>


Constructor Summary
CompositeGenerator(List<Generator<?>> components)
           
 
Method Summary
 Generator<?> componentGenerator(int index)
           
 void configure(Map<Class<? extends Annotation>,Annotation> configurationsByType)
          Tells this generator to configure itself using annotations from a theory parameter.
 Object generate(SourceOfRandomness random, GenerationStatus status)
          Produces a value for a theory parameter.
 int numberOfComponentGenerators()
           
 
Methods inherited from class com.pholser.junit.quickcheck.generator.Generator
addComponentGenerators, canGenerateForParametersOfTypes, canRegisterAsType, compatibleWithTypeParameter, hasComponents, numberOfNeededComponents, types
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeGenerator

public CompositeGenerator(List<Generator<?>> components)
Method Detail

generate

public Object generate(SourceOfRandomness random,
                       GenerationStatus status)
Description copied from class: Generator

Produces a value for a theory parameter.

A generator may raise an unchecked exception if some condition exists which would lead to a confusing generation -- for example, if a generator honored a range configuration, and the endpoints were transposed.

Specified by:
generate in class Generator<Object>
Parameters:
random - a source of randomness to be used when generating the value
status - an object that the generator can use to influence the value it produces. For example, a generator for lists can use the size method to generate lists with a given number of elements.
Returns:
the generated value

componentGenerator

public Generator<?> componentGenerator(int index)

numberOfComponentGenerators

public int numberOfComponentGenerators()

configure

public void configure(Map<Class<? extends Annotation>,Annotation> configurationsByType)
Description copied from class: Generator

Tells this generator to configure itself using annotations from a theory parameter.

The annotations fed to this method will be those annotations on the theory parameter that are themselves marked with GeneratorConfiguration.

By default, the generator will configure itself by:

Overrides:
configure in class Generator<Object>
Parameters:
configurationsByType - a map of configuration annotations, keyed by annotation type


Copyright © 2013. All Rights Reserved.