Class BranchDataGenerator
- java.lang.Object
-
- ru.ispras.microtesk.test.engine.branch.BranchDataGenerator
-
- All Implemented Interfaces:
ru.ispras.testbase.generator.DataGenerator
public abstract class BranchDataGenerator extends java.lang.Object implements ru.ispras.testbase.generator.DataGenerator
BranchDataGenerator
is a base class for test data generators for conditional branch instructions.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PARAM_CONDITION
static java.lang.String
PARAM_CONDITION_ELSE
static java.lang.String
PARAM_CONDITION_THEN
static java.lang.String
PARAM_STREAM
-
Constructor Summary
Constructors Constructor Description BranchDataGenerator()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected static java.util.Map<java.lang.String,ru.ispras.fortress.expression.Node>
extractUnknown(ru.ispras.testbase.TestBaseQuery query)
ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData>
generate(ru.ispras.testbase.TestBaseQuery query)
protected static ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData>
generate(ru.ispras.testbase.TestBaseQuery query, java.util.Map<java.lang.String,java.lang.Long> values)
abstract ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData>
generateElse(ru.ispras.testbase.TestBaseQuery query)
Generates test data that violates the branch condition.abstract ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData>
generateThen(ru.ispras.testbase.TestBaseQuery query)
Generates test data that satisfy the branch condition.boolean
isSuitable(ru.ispras.testbase.TestBaseQuery query)
-
-
-
Field Detail
-
PARAM_CONDITION
public static final java.lang.String PARAM_CONDITION
- See Also:
- Constant Field Values
-
PARAM_CONDITION_THEN
public static final java.lang.String PARAM_CONDITION_THEN
- See Also:
- Constant Field Values
-
PARAM_CONDITION_ELSE
public static final java.lang.String PARAM_CONDITION_ELSE
- See Also:
- Constant Field Values
-
PARAM_STREAM
public static final java.lang.String PARAM_STREAM
- See Also:
- Constant Field Values
-
-
Method Detail
-
isSuitable
public final boolean isSuitable(ru.ispras.testbase.TestBaseQuery query)
- Specified by:
isSuitable
in interfaceru.ispras.testbase.generator.DataGenerator
-
generateThen
public abstract ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData> generateThen(ru.ispras.testbase.TestBaseQuery query)
Generates test data that satisfy the branch condition.- Parameters:
query
- the test data generation query.- Returns:
- the test data provider.
-
generateElse
public abstract ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData> generateElse(ru.ispras.testbase.TestBaseQuery query)
Generates test data that violates the branch condition.- Parameters:
query
- the test data generation query.- Returns:
- the test data provider.
-
generate
public final ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData> generate(ru.ispras.testbase.TestBaseQuery query)
- Specified by:
generate
in interfaceru.ispras.testbase.generator.DataGenerator
-
generate
protected static ru.ispras.testbase.knowledge.iterator.Iterator<ru.ispras.testbase.TestData> generate(ru.ispras.testbase.TestBaseQuery query, java.util.Map<java.lang.String,java.lang.Long> values)
-
extractUnknown
protected static java.util.Map<java.lang.String,ru.ispras.fortress.expression.Node> extractUnknown(ru.ispras.testbase.TestBaseQuery query)
-
-