public void testExecute() { IntVar a = C.addIntVar(0, 10, "a", IntVar.DOMAIN_PLAIN); IntVar b = C.addIntVar(0, 10, "b", IntVar.DOMAIN_PLAIN); try { C.postConstraint(a.add(b).gt(4)); C.postConstraint(a.add(b).lt(6)); C.postConstraint(a.le(b)); C.postConstraint(a.mul(b).eq(6)); Goal gen = new GoalAnd(new GoalInstantiate(a), new GoalInstantiate(b)); boolean flag = C.execute(gen); assertTrue("Can't generate any solution", flag); assertEquals("a = " + a.value(), a.value(), 2); assertEquals("b = " + b.value(), b.value(), 3); } catch (Failure f) { f.printStackTrace(); } catch (Throwable ex) { fail("Unexpected exception has been thrown"); } }