public void testLexiSatisfied() {
Solver solver = new Solver();
IntVar v1 = VariableFactory.bounded("v1", 1, 1, solver);
IntVar v2 = VariableFactory.bounded("v2", 2, 2, solver);
IntVar v3 = VariableFactory.bounded("v3", 3, 3, solver);
Constraint c1 = IntConstraintFactory.lex_less(new IntVar[]{v1, v2}, new IntVar[]{v1, v3});
Constraint c2 = IntConstraintFactory.lex_less(new IntVar[]{v1, v2}, new IntVar[]{v1, v2});
Constraint c3 = IntConstraintFactory.lex_less(new IntVar[]{v1, v2}, new IntVar[]{v1, v1});
Constraint c4 = IntConstraintFactory.lex_less_eq(new IntVar[]{v1, v2}, new IntVar[]{v1, v3});
Constraint c5 = IntConstraintFactory.lex_less_eq(new IntVar[]{v1, v2}, new IntVar[]{v1, v2});
Constraint c6 = IntConstraintFactory.lex_less_eq(new IntVar[]{v1, v2}, new IntVar[]{v1, v1});
solver.post(c1, c2, c3, c4, c5, c6);
Assert.assertEquals(ESat.TRUE, c1.isSatisfied());
Assert.assertEquals(ESat.FALSE, c2.isSatisfied());
Assert.assertEquals(ESat.FALSE, c3.isSatisfied());
Assert.assertEquals(ESat.TRUE, c4.isSatisfied());
Assert.assertEquals(ESat.TRUE, c5.isSatisfied());
Assert.assertEquals(ESat.FALSE, c6.isSatisfied());
}