Class AbstractDFALearnerIT

java.lang.Object
de.learnlib.testsupport.it.AbstractDFALearnerIT

public abstract class AbstractDFALearnerIT extends Object
Abstract integration test for DFA learning algorithms.

If run, this integration test tests the functionality of all variants of a DFA learning algorithm against all the examples contained in LearningExamples.createDFAExamples().

  • Constructor Details

    • AbstractDFALearnerIT

      public AbstractDFALearnerIT()
  • Method Details

    • createExampleITCases

      @Factory public Object[] createExampleITCases()
    • requiresQueriesDuringHypothesisTraversal

      protected boolean requiresQueriesDuringHypothesisTraversal()
      Returns whether the hypotheses require access to the membership oracle during traversal. This typically should not be the case as it disables the check for stable hypothesis constructions but certain approaches (e.g., automated alphabet abstraction refinement) require this by design.
      Returns:
      true if the hypotheses require access to the membership oracle during traversal, false otherwise
    • addLearnerVariants

      protected abstract <I> void addLearnerVariants(Alphabet<I> alphabet, int targetSize, MembershipOracle.DFAMembershipOracle<I> mqOracle, LearnerVariantList.DFALearnerVariantList<I> variants)
      Adds, for a given setup, all the variants of the DFA learner to be tested to the specified variant list.
      Type Parameters:
      I - input symbol type
      Parameters:
      alphabet - the input alphabet
      targetSize - the size of the target automaton
      mqOracle - the membership oracle
      variants - list to add the learner variants to