From 64138e8d91bc8d7bb54d9b042f872b43550dec16 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Wed, 24 Jul 2019 10:59:02 +0200 Subject: Cardinality propagator WIP --- .../tests/cardinality/PolyhedronSolverTest.xtend | 28 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'Tests/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.tests/src') diff --git a/Tests/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.tests/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/tests/cardinality/PolyhedronSolverTest.xtend b/Tests/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.tests/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/tests/cardinality/PolyhedronSolverTest.xtend index 789018cb..15758985 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.tests/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/tests/cardinality/PolyhedronSolverTest.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.tests/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/tests/cardinality/PolyhedronSolverTest.xtend @@ -17,7 +17,7 @@ abstract class PolyhedronSolverTest { var PolyhedronSaturationOperator operator protected def PolyhedronSolver createSolver() - + @Before def void setUp() { solver = createSolver() @@ -183,7 +183,7 @@ abstract class PolyhedronSolverTest { assertEquals(PolyhedronSaturationResult.EMPTY, result) } - + @Test def void unboundedRelaxationWithNoIntegerSolutionTest() { val x = new Dimension("x", 0, 1) @@ -193,7 +193,29 @@ abstract class PolyhedronSolverTest { #[new LinearConstraint(#{x -> 2}, 1, 1)], #[x, y] )) - + + val result = saturate() + + assertEquals(PolyhedronSaturationResult.EMPTY, result) + } + + @Test + def void emptyConstraintTest() { + val constraint = new LinearConstraint(emptyMap, 0, 1) + createSaturationOperator(new Polyhedron(#[], #[constraint], #[constraint])) + + val result = saturate() + + assertEquals(PolyhedronSaturationResult.SATURATED, result) + assertEquals(0, constraint.lowerBound) + assertEquals(0, constraint.upperBound) + } + + @Test + def void emptyConstraintUnsatisfiableTest() { + val constraint = new LinearConstraint(emptyMap, 1, 0) + createSaturationOperator(new Polyhedron(#[], #[constraint], #[constraint])) + val result = saturate() assertEquals(PolyhedronSaturationResult.EMPTY, result) -- cgit v1.2.3-54-g00ecf