View Javadoc

1   package org.sat4j;
2   
3   import static org.junit.Assert.assertEquals;
4   
5   import org.junit.Before;
6   import org.junit.Test;
7   import org.sat4j.minisat.SolverFactory;
8   import org.sat4j.specs.ISolver;
9   import org.sat4j.tools.DimacsOutputSolver;
10  import org.sat4j.tools.GateTranslator;
11  import org.sat4j.tools.ManyCore;
12  import org.sat4j.tools.ModelIterator;
13  
14  public class TestSolverEngine {
15  
16      private ISolver solver;
17  
18      @Before
19      public void startUp() {
20          solver = SolverFactory.newDefault();
21      }
22  
23      @Test
24      public void testThatASolverReturnsItself() {
25          assertEquals(solver, solver.getSolvingEngine());
26      }
27  
28      @Test
29      public void testThatItWorksWithOneDecorator() {
30          GateTranslator gator = new GateTranslator(solver);
31          assertEquals(solver, gator.getSolvingEngine());
32      }
33  
34      @Test
35      public void testThatItWorksWithTwoDecorators() {
36          ModelIterator it = new ModelIterator(new GateTranslator(solver));
37          assertEquals(solver, it.getSolvingEngine());
38      }
39  
40      @Test(expected = UnsupportedOperationException.class)
41      public void testThatItDoesNotWorkForManyCore() {
42          ManyCore<ISolver> mc = new ManyCore<ISolver>(solver);
43          mc.getSolvingEngine();
44      }
45  
46      @Test(expected = UnsupportedOperationException.class)
47      public void testThatItDoesNotWorkForOutputSolvers() {
48          DimacsOutputSolver output = new DimacsOutputSolver();
49          output.getSolvingEngine();
50      }
51  }