Class IpogAlgorithm
- java.lang.Object
-
- de.rwth.swc.coffee4j.engine.generator.ipog.IpogAlgorithm
-
public class IpogAlgorithm extends java.lang.ObjectAn implementation of the popular IPOG algorithm. For given configuration it generates a test suite so that for each t-value-combination there is a test input containing it. This means IPOG create a t-way-testing suite. Some improvements from "An Efficient Design and Implementation of the In-Parameter-Order Algorithm" were used.The algorithm was extended to offer support for constraints, dynamic parameter orders, and variable strength testing. To introduce parameter orders, the strategy pattern is used with
ParameterOrder, and the same is done for variable strength testing viaParameterCombinationFactory.
-
-
Constructor Summary
Constructors Constructor Description IpogAlgorithm(IpogConfiguration configuration)Creates a new algorithm for the given configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<int[]>buildInitialTestSuite(it.unimi.dsi.fastutil.ints.Int2IntMap allParameters, int[] initialParameters)protected CoverageMapconstructCoverageMap(int nextParameter, it.unimi.dsi.fastutil.ints.Int2IntMap allParameters, java.util.List<it.unimi.dsi.fastutil.ints.IntSet> parameterCombinations)java.util.List<int[]>generate()
-
-
-
Constructor Detail
-
IpogAlgorithm
public IpogAlgorithm(IpogConfiguration configuration)
Creates a new algorithm for the given configuration. After this, thegenerate()method can be used to generate the test suite satisfying the configuration.- Parameters:
configuration- information about what test suite should be generated by IPOG. Must not benull- Throws:
java.lang.NullPointerException- if configuration isnull
-
-
Method Detail
-
generate
public java.util.List<int[]> generate()
-
buildInitialTestSuite
protected java.util.List<int[]> buildInitialTestSuite(it.unimi.dsi.fastutil.ints.Int2IntMap allParameters, int[] initialParameters)
-
constructCoverageMap
protected CoverageMap constructCoverageMap(int nextParameter, it.unimi.dsi.fastutil.ints.Int2IntMap allParameters, java.util.List<it.unimi.dsi.fastutil.ints.IntSet> parameterCombinations)
-
-