Package guru.mikelue.foxglove.annotation
Class LayeredDataGenContext<T extends TableFacet>
java.lang.Object
guru.mikelue.foxglove.annotation.LayeredDataGenContext<T>
- Type Parameters:
T- The type of table facet
- All Implemented Interfaces:
DataGenContext<T>
public class LayeredDataGenContext<T extends TableFacet>
extends Object
implements DataGenContext<T>
Context class for layered data generations.
This class is intended to support layered testing structure like Nested Tests in JUnit.
The methods accepting the testing instance as parameter are ignored in this class.
-
Constructor Summary
ConstructorsConstructorDescriptionLayeredDataGenContext(List<Object> testingInstances, List<DataGenContext<T>> layeredContexts) Creates an instance with multipleDataGenContexts. -
Method Summary
Modifier and TypeMethodDescriptiongetDefaultDataGenerator(Object testingInstance) Gets default data generator from given test instance.getDefaultTableFacets(Object testingInstance) Gets default table facets from given test instance.getNamedDataGenerator(String name, Object testingInstance) Gets named data generator from given test instance.getNamedTableFacets(String name, Object testingInstance) Gets named table facets from given test instance.getTypedDataGenerator(Class<? extends DataGeneratorProvider<T>> clazz, Object testingInstance) GetsDataGenerators by provider class.getTypedTableFacets(Class<? extends TableFacetsProvider<T>> clazz, Object testingInstance) GetsTableFacets by provider class.
-
Constructor Details
-
LayeredDataGenContext
public LayeredDataGenContext(List<Object> testingInstances, List<DataGenContext<T>> layeredContexts) Creates an instance with multipleDataGenContexts.The first item in the list has the highest priority when searching for.
- Parameters:
testingInstances- The list of testing instances for each contextlayeredContexts- The list of layered data generation contexts
-
-
Method Details
-
getTypedTableFacets
public List<T> getTypedTableFacets(Class<? extends TableFacetsProvider<T>> clazz, Object testingInstance) Description copied from interface:DataGenContextGetsTableFacets by provider class.- Specified by:
getTypedTableFacetsin interfaceDataGenContext<T extends TableFacet>- Parameters:
clazz- The type of table facets providertestingInstance- The test instance to enclosing the provider class- Returns:
- The initialized table facets
-
getNamedTableFacets
Gets named table facets from given test instance.- Specified by:
getNamedTableFacetsin interfaceDataGenContext<T extends TableFacet>- Parameters:
name- The name of table facetstestingInstance- The test instance to grab from- Returns:
- The grabbed table facets
-
getTypedDataGenerator
public DataGenerator<T> getTypedDataGenerator(Class<? extends DataGeneratorProvider<T>> clazz, Object testingInstance) Description copied from interface:DataGenContextGetsDataGenerators by provider class.- Specified by:
getTypedDataGeneratorin interfaceDataGenContext<T extends TableFacet>- Parameters:
clazz- The type of provider of data generatortestingInstance- The test instance to enclosing the provider class- Returns:
- The initialized data generator
-
getNamedDataGenerator
Gets named data generator from given test instance.- Specified by:
getNamedDataGeneratorin interfaceDataGenContext<T extends TableFacet>- Parameters:
name- The name of data generatortestingInstance- The test instance to grab from- Returns:
- The grabbed data generator
-
getDefaultTableFacets
Gets default table facets from given test instance.The tested instance must define only one
TableFacetsSource, otherwise exception is thrown.- Specified by:
getDefaultTableFacetsin interfaceDataGenContext<T extends TableFacet>- Parameters:
testingInstance- The test instance to grab from- Returns:
- The grabbed table facets
-
getDefaultDataGenerator
Gets default data generator from given test instance.The tested instance must define only one
DataGeneratorSource, otherwise exception is thrown.- Specified by:
getDefaultDataGeneratorin interfaceDataGenContext<T extends TableFacet>- Parameters:
testingInstance- The test instance to grab from- Returns:
- The grabbed data generator
-