Class ConstraintGeneratingSequentialCombinatorialTestManager
- java.lang.Object
-
- de.rwth.swc.coffee4j.algorithmic.sequential.manager.ConstraintGeneratingSequentialCombinatorialTestManager
-
- All Implemented Interfaces:
GeneratingSequentialCombinatorialTestManager
,SequentialCombinatorialTestManager
public class ConstraintGeneratingSequentialCombinatorialTestManager extends Object implements GeneratingSequentialCombinatorialTestManager
Default implementation of the interfaceGeneratingSequentialCombinatorialTestManager
.
-
-
Constructor Summary
Constructors Constructor Description ConstraintGeneratingSequentialCombinatorialTestManager(SequentialCombinatorialTestConfiguration configuration, CompleteTestModel testModel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<int[]>
generateAdditionalTestInputsWithResult(int[] testInput, TestResult testResult)
Generates additional test inputs based on results of previous test inputs normally generated by eitherSequentialCombinatorialTestManager.generateInitialTests()
or this method in a previous iteration.List<int[]>
generateInitialTests()
Generates all initial test inputs for execution.Optional<int[]>
generateNextTestInputForClassification(int[] testInput, TestResult testResult)
Set<it.unimi.dsi.fastutil.ints.IntList>
getMinimalExceptionInducingTuples()
Optional<int[]>
initializeClassification(Map<int[],TestResult> errorConstraintExceptionCausingTestInputs)
-
-
-
Constructor Detail
-
ConstraintGeneratingSequentialCombinatorialTestManager
public ConstraintGeneratingSequentialCombinatorialTestManager(SequentialCombinatorialTestConfiguration configuration, CompleteTestModel testModel)
- Parameters:
configuration
-SequentialCombinatorialTestConfiguration
used for the initialization of FCAs etc.testModel
- model to process.
-
-
Method Detail
-
generateInitialTests
public List<int[]> generateInitialTests()
Description copied from interface:SequentialCombinatorialTestManager
Generates all initial test inputs for execution. This should generate at least one test input if dynamic generation viaSequentialCombinatorialTestManager.generateAdditionalTestInputsWithResult(int[], TestResult)
should be used, as most front-ends won't callSequentialCombinatorialTestManager.generateAdditionalTestInputsWithResult(int[], TestResult)
if this returned no test input.- Specified by:
generateInitialTests
in interfaceSequentialCombinatorialTestManager
- Returns:
- a list of all initial test inputs. It is not guaranteed that these test inputs don't contain duplicates
-
generateAdditionalTestInputsWithResult
public List<int[]> generateAdditionalTestInputsWithResult(int[] testInput, TestResult testResult)
Description copied from interface:SequentialCombinatorialTestManager
Generates additional test inputs based on results of previous test inputs normally generated by eitherSequentialCombinatorialTestManager.generateInitialTests()
or this method in a previous iteration. For example, this functionality can be used to implement dynamic test input generation or fault characterization (or a combination of both).- Specified by:
generateAdditionalTestInputsWithResult
in interfaceSequentialCombinatorialTestManager
- Parameters:
testInput
- the test input for which's result further test inputs should be generatedtestResult
- the result of the test input- Returns:
- a list of additional test inputs generated based on the result of the given test inputs. This does not necessarily have to return any test inputs for each call
-
initializeClassification
public Optional<int[]> initializeClassification(Map<int[],TestResult> errorConstraintExceptionCausingTestInputs)
- Specified by:
initializeClassification
in interfaceGeneratingSequentialCombinatorialTestManager
- Parameters:
errorConstraintExceptionCausingTestInputs
- all test inputs that triggered anErrorConstraintException
during testing.- Returns:
- next test input to execute or an empty Optional if no further tests are needed for classification.
-
generateNextTestInputForClassification
public Optional<int[]> generateNextTestInputForClassification(int[] testInput, TestResult testResult)
- Specified by:
generateNextTestInputForClassification
in interfaceGeneratingSequentialCombinatorialTestManager
- Parameters:
testInput
- previously executed test input.testResult
- result of previously executed test input.- Returns:
- next test input to execute or an empty Optional if no further tests are needed for classification.
-
getMinimalExceptionInducingTuples
public Set<it.unimi.dsi.fastutil.ints.IntList> getMinimalExceptionInducingTuples()
- Returns:
- set of minimal exception-inducing combinations.
-
-