1 package org.sat4j.pb; 2 3 import static org.junit.Assert.assertFalse; 4 5 import org.junit.Before; 6 import org.junit.Test; 7 import org.sat4j.core.VecInt; 8 import org.sat4j.pb.SolverFactory; 9 import org.sat4j.pb.tools.LexicoDecoratorPB; 10 import org.sat4j.specs.ContradictionException; 11 import org.sat4j.specs.IVecInt; 12 import org.sat4j.specs.TimeoutException; 13 14 public class LexicoDecoratorPBTest { 15 16 @Before 17 public void setUp() throws Exception { 18 } 19 20 @Test 21 public void test() throws ContradictionException, TimeoutException { 22 LexicoDecoratorPB lexico = new LexicoDecoratorPB( 23 SolverFactory.newDefault()); 24 IVecInt clause = new VecInt(); 25 clause.push(-1).push(-2); 26 lexico.addClause(clause); 27 clause.clear(); 28 clause.push(1); 29 lexico.addClause(clause); 30 clause.clear(); 31 clause.push(2); 32 lexico.addClause(clause); 33 clause.clear(); 34 clause.push(-1).push(-2); 35 lexico.addCriterion(clause); 36 IVecInt clause2 = new VecInt(); 37 clause2.push(1).push(2); 38 lexico.addCriterion(clause2); 39 assertFalse(lexico.admitABetterSolution()); 40 } 41 }