blob: b22e2a20d3a4f0ec655f0a02db167aa52bc062a9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.tests.cardinality
import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.CbcPolyhedronSolver
import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.Dimension
import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.Polyhedron
import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.PolyhedronSaturationResult
import org.junit.Test
import static org.junit.Assert.*
import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.LinearConstraint
class CbcPolyhedronSolverTest extends IntegerPolyhedronSolverTest {
override protected createSolver() {
new CbcPolyhedronSolver(false, 10, true)
}
}
class RelaxedCbcPolyhedronSolverTest extends RelaxedPolyhedronSolverTest {
override protected createSolver() {
new CbcPolyhedronSolver(true, 10, true)
}
}
class CbcPolyhedronSolverTimeoutTest {
@Test
def void timeoutTest() {
val solver = new CbcPolyhedronSolver(false, 0, true)
val x = new Dimension("x", 0, 1)
val polyhedron = new Polyhedron(#[x], #[new LinearConstraint(#{x -> 1}, null, 0)], #[x])
val operator = solver.createSaturationOperator(polyhedron)
try {
val result = operator.saturate
assertEquals(PolyhedronSaturationResult.UNKNOWN, result)
} finally {
operator.close()
}
}
}
|