package kodkod.test.sys; import java.util.ArrayList; import java.util.Collection; import kodkod.ast.Formula; import kodkod.engine.Solution; import kodkod.engine.Solver; import kodkod.engine.satlab.SATFactory; import kodkod.instance.Bounds; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import kodkod.test.util.Solvers; @RunWith(Parameterized.class) public class ExamplesTestWithRegularSolver extends ExamplesTest { private final Solver solver; public ExamplesTestWithRegularSolver(SATFactory solverOpt) { this.solver = new Solver(); this.solver.options().setSolver(solverOpt); } @Parameters public static Collection<Object[]> solversToTestWith() { final Collection<Object[]> ret = new ArrayList<Object[]>(); for(SATFactory factory : Solvers.allAvailableSolvers()) { ret.add(new Object[]{factory}); //System.out.println(factory); } return ret; } protected Solution solve(Formula formula, Bounds bounds) { return solver.solve(formula, bounds); } }