From fe42f91ef8bdcb27e7db9bb5d5c36b03b36c2d20 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Fri, 6 Jan 2023 11:10:21 +0100
Subject: [PATCH] fix problem with tests

---
 src/main/jastadd/load/Tracing.jadd                       | 9 +++++++++
 .../tudresden/inf/st/mg/common/MotionGrammarParser.java  | 2 +-
 src/test/java/de/tudresden/inf/st/mg/ParserTest.java     | 6 ++++--
 3 files changed, 14 insertions(+), 3 deletions(-)
 create mode 100644 src/main/jastadd/load/Tracing.jadd

diff --git a/src/main/jastadd/load/Tracing.jadd b/src/main/jastadd/load/Tracing.jadd
new file mode 100644
index 0000000..36b96c2
--- /dev/null
+++ b/src/main/jastadd/load/Tracing.jadd
@@ -0,0 +1,9 @@
+aspect Tracing {
+
+  refine
+  public void Container.setElementCount(int x) {
+    refined(x);
+    World.printContextOf("Container.setElementCount()-AFTER", this, de.tudresden.inf.st.mg.common.MotionGrammarConfig.ADD_COLOR);
+  }
+
+}
diff --git a/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java b/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java
index 70c0f00..281f18f 100644
--- a/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java
+++ b/src/main/java/de/tudresden/inf/st/mg/common/MotionGrammarParser.java
@@ -38,7 +38,7 @@ public abstract class MotionGrammarParser<T extends MotionGrammarElement> {
     }
   }
 
-  public void setDebugDiagramDir(Path p) {
+  public static void setDebugDiagramDir(Path p) {
     MotionGrammarConfig.astDiagramDir = p;
   }
 
diff --git a/src/test/java/de/tudresden/inf/st/mg/ParserTest.java b/src/test/java/de/tudresden/inf/st/mg/ParserTest.java
index cc683a6..8b4e5bc 100644
--- a/src/test/java/de/tudresden/inf/st/mg/ParserTest.java
+++ b/src/test/java/de/tudresden/inf/st/mg/ParserTest.java
@@ -40,11 +40,12 @@ public class ParserTest {
   @Test
   void runLodUnloadParser() throws MotionGrammarParser.ParseException {
 
+    MotionGrammarParser.setDebugDiagramDir(LOAD_AST_DIAGRAM_DIR);
+
     // for some reason, the best random seed value here is 1 and not 0???
     Container containerWorld = Container.initialWorld(new Random(1));
 
     LoadWorldParser parser = new LoadWorldParser(containerWorld);
-    parser.setDebugDiagramDir(LOAD_AST_DIAGRAM_DIR);
 
     var result = parser.parse();
 
@@ -54,13 +55,14 @@ public class ParserTest {
   @Test
   void runTidyParser() throws MotionGrammarParser.ParseException {
 
+    MotionGrammarParser.setDebugDiagramDir(TIDY_AST_DIAGRAM_DIR);
+
     // for some reason, the best random seed value here is 1 and not 0???
     RobotWorld world = RobotWorld.initialWorld(new Random(1));
     world.printContext("initial");
 
     // create a parser using the world
     RobotParser parser = new RobotParser(world);
-    parser.setDebugDiagramDir(TIDY_AST_DIAGRAM_DIR);
 
     world.addSelection(new Selection().setObject("boxRed").setTimeStamp(java.time.Instant.now()))
         .addSelection(new Selection().setObject("boxGreen").setTimeStamp(java.time.Instant.now()))
-- 
GitLab