public Predicate<ExecutableSequence> createTestOutputPredicate(Set<Sequence> excludeSet,Set<Class<?>> coveredClasses,Pattern includePattern){
  Predicate<ExecutableSequence> isOutputTest;
  if (GenInputsAbstract.dont_output_tests) {
    isOutputTest=new AlwaysFalse<>();
  }
 else {
    Predicate<ExecutableSequence> baseTest;
    baseTest=new ExcludeTestPredicate(excludeSet);
    if (includePattern != null) {
      baseTest=baseTest.and(new IncludeTestPredicate(includePattern));
    }
    if (!coveredClasses.isEmpty()) {
      baseTest=baseTest.and(new IncludeIfCoversPredicate(coveredClasses));
    }
    Predicate<ExecutableSequence> checkTest=new AlwaysFalse<>();
    if (!GenInputsAbstract.no_error_revealing_tests) {
      checkTest=new ErrorTestPredicate();
    }
    if (!GenInputsAbstract.no_regression_tests) {
      checkTest=checkTest.or(new RegressionTestPredicate());
    }
    isOutputTest=baseTest.and(checkTest);
  }
  return isOutputTest;
}

public Predicate < ExecutableSequence > createTestOutputPredicate ( Set < Sequence > excludeSet , Set < Class < ? > > coveredClasses , Pattern includePattern ) { Predicate < ExecutableSequence > isOutputTest ; if ( GenInputsAbstract . dont_output_tests ) { isOutputTest = new AlwaysFalse < > ( ) ; } else { Predicate < ExecutableSequence > baseTest ; baseTest = new ExcludeTestPredicate ( excludeSet ) ; if ( includePattern != null ) { baseTest = baseTest . and ( new IncludeTestPredicate ( includePattern ) ) ; } if ( ! coveredClasses . isEmpty ( ) ) { baseTest = baseTest . and ( new IncludeIfCoversPredicate ( coveredClasses ) ) ; } Predicate < ExecutableSequence > checkTest = new AlwaysFalse < > ( ) ; if ( ! GenInputsAbstract . no_error_revealing_tests ) { checkTest = new ErrorTestPredicate ( ) ; } if ( ! GenInputsAbstract . no_regression_tests ) { checkTest = checkTest . or ( new RegressionTestPredicate ( ) ) ; } isOutputTest = baseTest . and ( checkTest ) ; } return isOutputTest ; }
builds the test predicate that determines whether a particular sequence will be included in the output based on command - line arguments .
