コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }