From fc8d9a6077cf71c13cb73bf0c9678d22e563e565 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Mon, 14 Jan 2019 15:29:40 +0100 Subject: [PATCH] add first test of eris contract --- .../mquat/solving/HandwrittenTestSuite.java | 8 +++ .../src/test/resources/test_eris_01.txt | 53 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 jastadd-mquat-solver/src/test/resources/test_eris_01.txt 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 712acef..83a3065 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 0000000..41d2a67 --- /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) -- GitLab