Class 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.
    • 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BranchDataGenerator

        public BranchDataGenerator()
    • Method Detail

      • isSuitable

        public final boolean isSuitable​(ru.ispras.testbase.TestBaseQuery query)
        Specified by:
        isSuitable in interface ru.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 interface ru.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)