diff --git a/jastadd-mquat-solver/src/test/java/de/tudresden/inf/st/mquat/solving/HandwrittenTestSuite.java b/jastadd-mquat-solver/src/test/java/de/tudresden/inf/st/mquat/solving/HandwrittenTestSuite.java index 712acef0e1681ad2b8a6fd94f2a9410dcdc28c96..83a3065eb26c464cd46e9aaed5e232814d21a02b 100644 --- a/jastadd-mquat-solver/src/test/java/de/tudresden/inf/st/mquat/solving/HandwrittenTestSuite.java +++ b/jastadd-mquat-solver/src/test/java/de/tudresden/inf/st/mquat/solving/HandwrittenTestSuite.java @@ -200,4 +200,12 @@ public abstract class HandwrittenTestSuite { Assignment config_1i0m0 = assertAssignment(modelAndSolution, 0, "config_1i0m0", "r0"); assertComponentRequirement(config_0i0m0,"other", config_1i0m0); } + + @Test + public void test_multi_eris_01() throws IOException, Parser.Exception, SolvingException { + Tuple<Root, Solution> modelAndSolution = loadAndSolve("test_eris_01.txt"); + assertValidSolution(modelAndSolution); + Assignment a0 = assertAssignment(modelAndSolution, 0, "ap4", "r0"); + Assignment a1 = assertAssignment(modelAndSolution, 1, "ap2", "r0"); + } } diff --git a/jastadd-mquat-solver/src/test/resources/test_eris_01.txt b/jastadd-mquat-solver/src/test/resources/test_eris_01.txt new file mode 100644 index 0000000000000000000000000000000000000000..41d2a672d497846db067ea7d7d7ff813f46578dd --- /dev/null +++ b/jastadd-mquat-solver/src/test/resources/test_eris_01.txt @@ -0,0 +1,53 @@ + +container resource type ComputeNode { + // empty, just a dummy type +} +resource r0:ComputeNode * 5 { + // empty +} + +property runtime [ms] +property system [boolean] + +component lp0_node0_row0 { + + using property runtime + using property system + + contract ap1 { + requires resource compute_resource_0 of type ComputeNode with { + // no hardware requirements + } + providing runtime = 5 + } + + contract ap2 { + requires resource compute_resource_0 of type ComputeNode with { + // no hardware requirements + } + providing runtime = 2 + } + + contract ap3 { + requires resource compute_resource_0 of type ComputeNode with { + // no hardware requirements + } + providing runtime = 7 + } + + contract ap4 { + requires resource compute_resource_0 of type ComputeNode with { + // no hardware requirements + } + providing runtime = 7 + providing system = 1 + } + +} + +request for lp0_node0_row0 { + requiring system = 1 +} +request for lp0_node0_row0 { +} +minimize sum(runtime)