public void IntegerDifferenceConstraint3() { ConstraintThingySolver solver = new ConstraintThingySolver(); IntegerVariable x = new IntegerVariable(solver, "x", new IntegerInterval(0, 0)); IntegerVariable y = new IntegerVariable(solver, "y", new IntegerInterval(5, 5)); IntegerVariable z = new IntegerVariable(solver, "z", new IntegerInterval(-50, -6)); Constraint.Difference(z, x, y); Assert.AreEqual(0, solver.Solutions.Count()); }
public void IntegerDifferenceConstraint5() { ConstraintThingySolver solver = new ConstraintThingySolver(); IntegerVariable x = new IntegerVariable(solver, "x", new IntegerInterval(1, 5)); IntegerVariable y = new IntegerVariable(solver, "y", new IntegerInterval(1, 5)); IntegerVariable z = new IntegerVariable(solver, "z", new IntegerInterval(-3, 10)); Constraint.Difference(z, x, y); int solutionCount = 0; foreach (var solution in solver.Solutions) { solutionCount++; Assert.AreEqual(z.CurrentValue, x.CurrentValue - y.CurrentValue); } Assert.AreEqual(24, solutionCount); }