com.github.dakusui.jcunit8.factorspace.regex.RegexDecomposer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jcunit Show documentation
Show all versions of jcunit Show documentation
Automated combinatorial testing framework on top of JUnit
The newest version!
package com.github.dakusui.jcunit8.factorspace.regex;
import com.github.dakusui.jcunit.core.tuples.Tuple;
import com.github.dakusui.jcunit.regex.Expr;
import com.github.dakusui.jcunit.regex.Reference;
import com.github.dakusui.jcunit.regex.RegexTranslator;
import com.github.dakusui.jcunit.regex.Value;
import com.github.dakusui.jcunit8.factorspace.Constraint;
import com.github.dakusui.jcunit8.factorspace.Factor;
import com.github.dakusui.jcunit8.factorspace.FactorSpace;
import com.github.dakusui.jcunit8.pipeline.stages.Generator;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
import static com.github.dakusui.jcunit.core.utils.Utils.concatenate;
import static java.util.Objects.requireNonNull;
public class RegexDecomposer extends RegexTranslator {
public RegexDecomposer(String name, Expr topLevel) {
super(topLevel, name);
}
public FactorSpace decompose() {
List extends Factor> factors = buildFactors();
return FactorSpace.create(factors, buildConstraints(factors));
}
private List extends Factor> buildFactors() {
this.topLevelExpression.accept(this);
final List builder = new LinkedList<>();
for (String eachKey : this.terms.keySet()) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy