From 72617be26dc9a4d0a5d348931645440f6a2ac83d Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Wed, 15 Aug 2018 09:21:55 +0200 Subject: [PATCH] improve tests --- .../solving/ILPExternalHandwrittenTest.java | 2 +- .../mquat/solving/RandomHandwrittenTest.java | 2 +- .../st/mquat/solving/RandomSolverTest.java | 2 +- .../mquat/solving/HandwrittenTestSuite.java | 18 +++++++++++++++ .../src/test/resources/test_06.txt | 22 +++++++++---------- 5 files changed, 32 insertions(+), 14 deletions(-) diff --git a/jastadd-mquat-solver-ilp/src/test/java/de/tudresden/inf/st/mquat/solving/ILPExternalHandwrittenTest.java b/jastadd-mquat-solver-ilp/src/test/java/de/tudresden/inf/st/mquat/solving/ILPExternalHandwrittenTest.java index 2abeb4d..fbb4ad9 100644 --- a/jastadd-mquat-solver-ilp/src/test/java/de/tudresden/inf/st/mquat/solving/ILPExternalHandwrittenTest.java +++ b/jastadd-mquat-solver-ilp/src/test/java/de/tudresden/inf/st/mquat/solving/ILPExternalHandwrittenTest.java @@ -6,6 +6,6 @@ public class ILPExternalHandwrittenTest extends HandwrittenTestSuite { @Override protected Solver getSolver() { // set to false for debugging - return new ILPExternalSolver().setDeleteFilesOnExit(true); + return new ILPExternalSolver().setDeleteFilesOnExit(false); } } diff --git a/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomHandwrittenTest.java b/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomHandwrittenTest.java index 83e5927..220709e 100644 --- a/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomHandwrittenTest.java +++ b/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomHandwrittenTest.java @@ -6,6 +6,6 @@ public class RandomHandwrittenTest extends HandwrittenTestSuite { @Override protected Solver getSolver() { - return new RandomSolver(5000, 0); + return new RandomSolver(3000, 0); } } diff --git a/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomSolverTest.java b/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomSolverTest.java index 9722756..fc1399e 100644 --- a/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomSolverTest.java +++ b/jastadd-mquat-solver-random/src/test/java/de/tudresden/inf/st/mquat/solving/RandomSolverTest.java @@ -42,7 +42,7 @@ public class RandomSolverTest { ScenarioGenerator generator = new ScenarioGenerator(new ScenarioDescription(tlc, iac, isd, cac, csd, dep, imp, res, req, cpu, seed)); Root model = generator.generate(); - RandomSolver solver = new RandomSolver(5000, 1337); + RandomSolver solver = new RandomSolver(20000, 0); Solution solution = solver.solve(model); 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 fdf9f9d..9e5e59d 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 @@ -1,6 +1,8 @@ package de.tudresden.inf.st.mquat.solving; import beaver.Parser; +import de.tudresden.inf.st.mquat.generator.ScenarioDescription; +import de.tudresden.inf.st.mquat.generator.ScenarioGenerator; import de.tudresden.inf.st.mquat.jastadd.model.*; import de.tudresden.inf.st.mquat.utils.ParserUtils; import org.apache.logging.log4j.LogManager; @@ -172,4 +174,20 @@ public abstract class HandwrittenTestSuite { assertTrue(modelAndSolution.getSecondElement().isValid()); } + @Test + public void test_paper() throws SolvingException { + ScenarioDescription scenarioDescription = new ScenarioDescription(1, 2, 0, 0, 0, 2, 2, 1.1, 1, 1, 9); + ScenarioGenerator generator = new ScenarioGenerator(scenarioDescription); + Root model = generator.generate(); + + Solution solution = solver.solve(model); + if (logger.isDebugEnabled()) { + logger.info("Model:\n{}",model.print(new MquatWriteSettings(" "))); + logger.info("Solution:\n{}",solution.print(new MquatWriteSettings(" "))); + } + + assertValidSolution(new Tuple<>(model, solution)); + assertTrue(solution.isValid()); + } + } diff --git a/jastadd-mquat-solver/src/test/resources/test_06.txt b/jastadd-mquat-solver/src/test/resources/test_06.txt index ebdd3b6..006246f 100644 --- a/jastadd-mquat-solver/src/test/resources/test_06.txt +++ b/jastadd-mquat-solver/src/test/resources/test_06.txt @@ -43,7 +43,7 @@ meta size property energy [J] property quality [%] component component_0 { - contract implementation_0i0 { + contract impl_0i0 { requires component the_component_0i0_0 of type component_0i0_0 requires component the_component_0i0_1 of type component_0i0_1 requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK @@ -57,7 +57,7 @@ component component_0 { providing quality = 6.0 providing energy = ((0.87*(size^2.0))+(0.98*cpu_0.frequency)) } - contract implementation_0i1 { + contract impl_0i1 { requires component the_component_0i1_0 of type component_0i1_0 requires component the_component_0i1_1 of type component_0i1_1 requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK @@ -76,7 +76,7 @@ component component_0 { } component component_0i0_0 { - contract implementation_0i0_0i0 { + contract impl_0i0_0i0 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 1715.0 @@ -86,7 +86,7 @@ component component_0i0_0 { providing quality = 9.0 providing energy = ((0.31*(size^2.0))+(0.12*cpu_0.frequency)) } - contract implementation_0i0_0i1 { + contract impl_0i0_0i1 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 2290.0 @@ -101,7 +101,7 @@ component component_0i0_0 { } component component_0i0_1 { - contract implementation_0i0_1i0 { + contract impl_0i0_1i0 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 1718.0 @@ -111,7 +111,7 @@ component component_0i0_1 { providing quality = 68.0 providing energy = ((0.15*(size^2.0))+(0.02*cpu_0.frequency)) } - contract implementation_0i0_1i1 { + contract impl_0i0_1i1 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 734.0 @@ -126,7 +126,7 @@ component component_0i0_1 { } component component_0i1_0 { - contract implementation_0i1_0i0 { + contract impl_0i1_0i0 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 2877.0 @@ -136,7 +136,7 @@ component component_0i1_0 { providing quality = 15.0 providing energy = ((0.53*(size^2.0))+(0.9*cpu_0.frequency)) } - contract implementation_0i1_0i1 { + contract impl_0i1_0i1 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 1601.0 @@ -151,7 +151,7 @@ component component_0i1_0 { } component component_0i1_1 { - contract implementation_0i1_1i0 { + contract impl_0i1_1i0 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 975.0 @@ -161,7 +161,7 @@ component component_0i1_1 { providing quality = 75.0 providing energy = ((0.67*(size^2.0))+(0.69*cpu_0.frequency)) } - contract implementation_0i1_1i1 { + contract impl_0i1_1i1 { requires resource compute_resource_0 of type ComputeNode with { cpu_0 of type CPU ram_1 of type RAM disk_1 of type DISK network_1 of type NETWORK } requiring cpu_0.frequency >= 2476.0 @@ -174,7 +174,7 @@ component component_0i1_1 { using property quality using property energy } -request request0 for component_0 { +request rq0 for component_0 { meta size = 917.0 requiring quality >= 45.0 } -- GitLab