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