org.databene.benerator.factory
Class EquivalenceGeneratorFactory

java.lang.Object
  extended by org.databene.benerator.factory.GeneratorFactory
      extended by org.databene.benerator.factory.EquivalenceGeneratorFactory
Direct Known Subclasses:
CoverageGeneratorFactory

public class EquivalenceGeneratorFactory
extends GeneratorFactory

GeneratorFactory implementation which creates minimal data sets for Equivalence Partitioning and Boundary-value analysis Tests.

Created: 04.07.2011 09:39:38

Since:
0.7.0
Author:
Volker Bergmann

Field Summary
 
Fields inherited from class org.databene.benerator.factory.GeneratorFactory
defaultsProvider
 
Constructor Summary
EquivalenceGeneratorFactory()
           
 
Method Summary
protected  void addSelection(java.util.Set<java.lang.Character> ofChars, java.util.Set<java.lang.Character> toChars)
           
 Generator<?> applyNullSettings(Generator<?> source, java.lang.Boolean nullable, java.lang.Double nullQuota)
           
<T> Generator<T>
createAlternativeGenerator(java.lang.Class<T> targetType, Generator<T>[] sources, Uniqueness uniqueness)
           
 NonNullGenerator<java.lang.Character> createCharacterGenerator(java.util.Set<java.lang.Character> characters)
          Creates a character generator that creates values from a collection of characters
 Generator<java.lang.Character> createCharacterGenerator(java.lang.String pattern, java.util.Locale locale, boolean unique)
          Creates a Character generator that creates characters of a Locale which match a regular expression.
<T> Generator<T[]>
createCompositeArrayGenerator(java.lang.Class<T> componentType, Generator<T>[] sources, Uniqueness uniqueness)
          Creates a generator that reads products of an array of generators and combines them in an array.
 NonNullGenerator<java.lang.String> createCompositeStringGenerator(GeneratorProvider<?> partGeneratorProvider, int minParts, int maxParts, Uniqueness uniqueness)
           
 Generator<java.util.Date> createDateGenerator(java.util.Date min, java.util.Date max, long granularity, Distribution distribution)
          Creates a Date generator that generates random dates.
<T> Generator<T>
createFromWeightedLiteralList(java.lang.String valueSpec, java.lang.Class<T> targetType, Distribution distribution, boolean unique)
           
<T> Generator<T>
createNullGenerator(java.lang.Class<T> generatedType)
           
<T extends java.lang.Number>
NonNullGenerator<T>
createNumberGenerator(java.lang.Class<T> numberType, T min, java.lang.Boolean minInclusive, T max, java.lang.Boolean maxInclusive, T granularity, Distribution distribution, Uniqueness uniqueness)
          Creates a generator for numbers.
<T> Generator<T>
createSampleGenerator(java.util.Collection<T> values, java.lang.Class<T> generatedType, boolean unique)
           
<T> Generator<T>
createSingleValueGenerator(T value, boolean unique)
          Creates a generator that returns a single value.
 NonNullGenerator<java.lang.String> createStringGenerator(java.util.Set<java.lang.Character> chars, java.lang.Integer minLength, java.lang.Integer maxLength, int lengthGranularity, Distribution lengthDistribution, Uniqueness uniqueness)
           
<T> Generator<T>
createWeightedSampleGenerator(java.util.Collection<org.databene.script.WeightedSample<T>> samples, java.lang.Class<T> targetType)
          Creates a generator that chooses from a set of samples, using an individual weight for each sample.
protected  java.util.Set<java.lang.Integer> defaultCounts(int minParts, int maxParts, int lengthGranularity)
           
 Distribution defaultDistribution(Uniqueness uniqueness)
           
protected  Distribution defaultLengthDistribution(Uniqueness uniqueness, boolean required)
           
 java.util.Set<java.lang.Character> defaultSubSet(java.util.Set<java.lang.Character> characters)
           
protected  double defaultTrueQuota()
           
protected  boolean defaultUnique()
           
 
Methods inherited from class org.databene.benerator.factory.GeneratorFactory
createBooleanGenerator, createRegexStringGenerator, createStringGenerator, getDefaultsProvider, setDefaultsProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EquivalenceGeneratorFactory

public EquivalenceGeneratorFactory()
Method Detail

createAlternativeGenerator

public <T> Generator<T> createAlternativeGenerator(java.lang.Class<T> targetType,
                                                   Generator<T>[] sources,
                                                   Uniqueness uniqueness)
Specified by:
createAlternativeGenerator in class GeneratorFactory

createCompositeArrayGenerator

public <T> Generator<T[]> createCompositeArrayGenerator(java.lang.Class<T> componentType,
                                                        Generator<T>[] sources,
                                                        Uniqueness uniqueness)
Description copied from class: GeneratorFactory
Creates a generator that reads products of an array of generators and combines them in an array.

Specified by:
createCompositeArrayGenerator in class GeneratorFactory
sources - the source generators
Returns:
a generator of the desired characteristics

createSampleGenerator

public <T> Generator<T> createSampleGenerator(java.util.Collection<T> values,
                                              java.lang.Class<T> generatedType,
                                              boolean unique)
Specified by:
createSampleGenerator in class GeneratorFactory

createFromWeightedLiteralList

public <T> Generator<T> createFromWeightedLiteralList(java.lang.String valueSpec,
                                                      java.lang.Class<T> targetType,
                                                      Distribution distribution,
                                                      boolean unique)
Specified by:
createFromWeightedLiteralList in class GeneratorFactory

createWeightedSampleGenerator

public <T> Generator<T> createWeightedSampleGenerator(java.util.Collection<org.databene.script.WeightedSample<T>> samples,
                                                      java.lang.Class<T> targetType)
Description copied from class: GeneratorFactory
Creates a generator that chooses from a set of samples, using an individual weight for each sample.

Overrides:
createWeightedSampleGenerator in class GeneratorFactory
Parameters:
samples - A collection of sample values
Returns:
a generator of the desired characteristics

createDateGenerator

public Generator<java.util.Date> createDateGenerator(java.util.Date min,
                                                     java.util.Date max,
                                                     long granularity,
                                                     Distribution distribution)
Description copied from class: GeneratorFactory
Creates a Date generator that generates random dates.

Overrides:
createDateGenerator in class GeneratorFactory
Parameters:
min - the earliest Date to generate
max - the latest Date to generate
granularity - the time resolution of dates in milliseconds
distribution - the distribution to use
Returns:
a generator of the desired characteristics

createNumberGenerator

public <T extends java.lang.Number> NonNullGenerator<T> createNumberGenerator(java.lang.Class<T> numberType,
                                                                              T min,
                                                                              java.lang.Boolean minInclusive,
                                                                              T max,
                                                                              java.lang.Boolean maxInclusive,
                                                                              T granularity,
                                                                              Distribution distribution,
                                                                              Uniqueness uniqueness)
Description copied from class: GeneratorFactory
Creates a generator for numbers.

Overrides:
createNumberGenerator in class GeneratorFactory
Parameters:
numberType - the number type, e.g. java.lang.Integer
min - the minimum number to generate
max - the maximum number to generate
granularity - the resolution to use in number generation.
distribution - The Sequence of WeightFunction to use for generation
Returns:
a Number generator of the desired characteristics

createStringGenerator

public NonNullGenerator<java.lang.String> createStringGenerator(java.util.Set<java.lang.Character> chars,
                                                                java.lang.Integer minLength,
                                                                java.lang.Integer maxLength,
                                                                int lengthGranularity,
                                                                Distribution lengthDistribution,
                                                                Uniqueness uniqueness)
Specified by:
createStringGenerator in class GeneratorFactory

createCompositeStringGenerator

public NonNullGenerator<java.lang.String> createCompositeStringGenerator(GeneratorProvider<?> partGeneratorProvider,
                                                                         int minParts,
                                                                         int maxParts,
                                                                         Uniqueness uniqueness)
Specified by:
createCompositeStringGenerator in class GeneratorFactory

createCharacterGenerator

public Generator<java.lang.Character> createCharacterGenerator(java.lang.String pattern,
                                                               java.util.Locale locale,
                                                               boolean unique)
Description copied from class: GeneratorFactory
Creates a Character generator that creates characters of a Locale which match a regular expression.

Overrides:
createCharacterGenerator in class GeneratorFactory
Parameters:
pattern - the regular expression that indicates the available range of values. If null, any letters of the specified locale will be used
locale - the locale to use for '\w' evaluation
unique - flag indicating if character generation should be unique
Returns:
a generator of the desired characteristics

createCharacterGenerator

public NonNullGenerator<java.lang.Character> createCharacterGenerator(java.util.Set<java.lang.Character> characters)
Description copied from class: GeneratorFactory
Creates a character generator that creates values from a collection of characters

Overrides:
createCharacterGenerator in class GeneratorFactory
Parameters:
characters - the set of characters to choose from
Returns:
a generator of the desired characteristics

defaultCounts

protected java.util.Set<java.lang.Integer> defaultCounts(int minParts,
                                                         int maxParts,
                                                         int lengthGranularity)

createSingleValueGenerator

public <T> Generator<T> createSingleValueGenerator(T value,
                                                   boolean unique)
Description copied from class: GeneratorFactory
Creates a generator that returns a single value.

Specified by:
createSingleValueGenerator in class GeneratorFactory
Parameters:
value - the value to return
Returns:
a generator that returns a constant value.

createNullGenerator

public <T> Generator<T> createNullGenerator(java.lang.Class<T> generatedType)
Specified by:
createNullGenerator in class GeneratorFactory

defaultSubSet

public java.util.Set<java.lang.Character> defaultSubSet(java.util.Set<java.lang.Character> characters)
Overrides:
defaultSubSet in class GeneratorFactory

addSelection

protected void addSelection(java.util.Set<java.lang.Character> ofChars,
                            java.util.Set<java.lang.Character> toChars)

applyNullSettings

public Generator<?> applyNullSettings(Generator<?> source,
                                      java.lang.Boolean nullable,
                                      java.lang.Double nullQuota)
Specified by:
applyNullSettings in class GeneratorFactory

defaultLengthDistribution

protected Distribution defaultLengthDistribution(Uniqueness uniqueness,
                                                 boolean required)
Specified by:
defaultLengthDistribution in class GeneratorFactory

defaultDistribution

public Distribution defaultDistribution(Uniqueness uniqueness)
Specified by:
defaultDistribution in class GeneratorFactory

defaultTrueQuota

protected double defaultTrueQuota()
Specified by:
defaultTrueQuota in class GeneratorFactory

defaultUnique

protected boolean defaultUnique()
Specified by:
defaultUnique in class GeneratorFactory


Copyright © 2013. All Rights Reserved.