From 3fc263ffc7b10e575fdb6ebb1f4f90d98e2396d6 Mon Sep 17 00:00:00 2001
From: Arthur VUAGNIAUX <arthur.vuagniaux@telecom-paristech.fr>
Date: Fri, 16 Nov 2018 11:59:11 +0100
Subject: [PATCH] Issue #71: Added files for ui.bot

---
 ttool/.classpath                              |  15 +-
 .../test/UIBotTests.launch                    |  33 ++
 .../test/java/ui/bot/JFrameBasicTextTest.java |   2 +-
 ttool/src/test/java/ui/bot/Main.java          | 445 +++++++++---------
 ttool/src/test/java/ui/bot/MainFrameTest.java |  74 +--
 5 files changed, 300 insertions(+), 269 deletions(-)
 create mode 100644 ttool/launch_configurations/test/UIBotTests.launch

diff --git a/ttool/.classpath b/ttool/.classpath
index d14e5055e0..9da0c3f79b 100644
--- a/ttool/.classpath
+++ b/ttool/.classpath
@@ -2,9 +2,20 @@
 <classpath>
 	<classpathentry kind="src" path="src/main/java"/>
 	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="lib" path="/libs/junit-4.12.jar"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="/libs/junit-4.12.jar"/>
 	<classpathentry kind="lib" path="src/test/libs/fr.tpt.mem4csd.utils.compare_1.0.0.jar"/>
+	<classpathentry kind="lib" path="/libs/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar"/>
+	<classpathentry kind="lib" path="/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0.jar"/>
+	<classpathentry kind="lib" path="/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0-sources.jar"/>
+	<classpathentry kind="lib" path="/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0.jar"/>
+	<classpathentry kind="lib" path="/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0-sources.jar"/>
+	<classpathentry kind="lib" path="/libs/hamcrest-core-1.3.jar"/>
+	<classpathentry kind="lib" path="/libs/commons-io-2.5.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/ttool/launch_configurations/test/UIBotTests.launch b/ttool/launch_configurations/test/UIBotTests.launch
new file mode 100644
index 0000000000..66c7b3cdb2
--- /dev/null
+++ b/ttool/launch_configurations/test/UIBotTests.launch
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+        <listEntry value="/ttool/src/test/java/ui/bot/MainFrameTest.java"/>
+    </listAttribute>
+    <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+        <listEntry value="1"/>
+    </listAttribute>
+    <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+    <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+    <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value="help"/>
+    <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+    <listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;5&quot; projectName=&quot;ttool&quot; type=&quot;1&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry path=&quot;5&quot; projectName=&quot;src&quot; type=&quot;1&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/junit-4.12.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/ttool/src/test/libs/fr.tpt.mem4csd.utils.compare_1.0.0.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0-sources.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/assertj/assertj-swing-junit/3.8.0/assertj-swing-junit-3.8.0.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/assertj/assertj-swing/3.8.0/assertj-swing-3.8.0-sources.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/hamcrest-core-1.3.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/libs/commons-io-2.5.jar&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; path=&quot;5&quot; type=&quot;4&quot;/&gt;&#10;"/>
+        <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/src/main/resources&quot; path=&quot;5&quot; type=&quot;2&quot;/&gt;&#10;"/>
+    </listAttribute>
+    <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+    <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="ui.bot.MainFrameTest"/>
+    <listAttribute key="org.eclipse.jdt.launching.MODULEPATH"/>
+    <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="ttool"/>
+    <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java b/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java
index b86460d215..b47a10ffc0 100644
--- a/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java
+++ b/ttool/src/test/java/ui/bot/JFrameBasicTextTest.java
@@ -2,7 +2,7 @@
  * Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Arthur VUAGNIAUX
  */
 
-package gui.test.main;
+package ui.bot;
 
 import static org.junit.Assert.*;
 
diff --git a/ttool/src/test/java/ui/bot/Main.java b/ttool/src/test/java/ui/bot/Main.java
index c3e1d9f122..9002bf1de5 100644
--- a/ttool/src/test/java/ui/bot/Main.java
+++ b/ttool/src/test/java/ui/bot/Main.java
@@ -2,28 +2,13 @@
  * Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Arthur VUAGNIAUX
  */
 
-package gui.test.main;
+package ui.bot;
 
-import java.awt.Image;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.net.URL;
-import java.util.Locale;
+import java.io.File;
 
-import javax.swing.ImageIcon;
-import javax.swing.Timer;
-
-import common.ConfigurationTTool;
 import common.SpecConfigTTool;
-import launcher.RTLLauncher;
-import myutil.BoolExpressionEvaluator;
-import myutil.PluginManager;
-import myutil.TraceManager;
-import ui.ColorManager;
 import ui.MainGUI;
-import ui.util.DefaultText;
 import ui.util.IconManager;
-import ui.window.JStartingWindow;
 
 /*
  * Class Main
@@ -32,217 +17,219 @@ import ui.window.JStartingWindow;
  * @author Arthur VUAGNIAUX
 */
 
-//public class Main extends MainGUI {
-//
-//	public Main(boolean _openLast, boolean _turtleOn, boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn,
-//			boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn,
-//			boolean _avatarOnly, boolean _experimental) {
-//		super(_openLast, _turtleOn, _systemcOn, _lotosOn, _proactiveOn, _tpnOn, _osOn, _uppaalOn, _ncOn, _avatarOn, _proverifOn,
-//				_avatarOnly, _experimental);
-//		TraceManager.addDev("Test bonjour");
-//		super.build();
-//	}
-//}
-
-public class Main implements ActionListener {
-    public boolean finish = false;
-    public static Main main = new Main();
-    public static MainGUI test;
-    public static boolean systemc = true;
-    public static boolean lotos = true;
-    public static boolean proactive = false;
-    public static boolean tpn = false;
-    public static boolean os = false;
-    public static boolean uppaal = true;
-    public static boolean nc = true; // Network calculus
-    public static boolean avatar = true; // avatar profile
-    public static boolean proverif = true;
-    public static boolean experimental = false;
-    public static boolean avataronly = false;
-    public static boolean turtle = false;
-    public static boolean openLast = false;
-
-    public Main() {
-
-
-        TraceManager.devPolicy = TraceManager.TO_DEVNULL;
-
-        System.out.println("\n*** TTool version: " + DefaultText.getFullVersion() + " ***\n");
-
-
-        // Read the image data and display the splash screen
-        // -------------------------------------------------
-
-
-        new Timer(2500, main).start();
-
-        JStartingWindow splashFrame = null;
-        //System.out.println("hello");
-        URL imageURL = Main.class.getResource("ui/util/starting_logo.gif");
-        Image img;
-        //System.out.println("helli");
-        if (imageURL != null) {
-
-            img = (new ImageIcon(imageURL)).getImage();
-            splashFrame = JStartingWindow.splash(img, "Loading TTool's elements");
-            //splashFrame.setLicenceMessage("An open-source toolkit from:");
-            if (splashFrame != null) {
-                splashFrame.setMiddleMessage("version " + DefaultText.getVersion());
-            }
-            //System.out.println("helly");
-        } else {
-            System.err.println("Starting image not found");
-            System.exit(0);
-        }
-
-
-        //new Timer(2500, main).start();
-
-
-        // Starting window
-        // setting default language
-        if (splashFrame != null) {
-            splashFrame.setMessage("Setting language");
-        }
-        Locale.setDefault(new Locale("en"));
-
-        boolean startLauncher = true;
-
-        // Setting certificates
-	/*String trustStore = System.getProperty("javax.net.ssl.trustStore");
-	if (trustStore == null) {
-	    System.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
-	    } */
-
-        // Analyzing arguments
-        String config = "config.xml";
-        startLauncher = true;
-
-        // Icons
-        if (splashFrame != null) {
-            splashFrame.setMessage("Loading images");
-        }
-        IconManager.loadImg();
-
-        // Loading configuration
-        if (splashFrame != null) {
-            splashFrame.setMessage("Loading configuration file: " + config);
-        }
-
-
-        //ConfigurationTTool.makeDefaultConfiguration();
-        try {
-            ConfigurationTTool.loadConfiguration(config, systemc);
-            SpecConfigTTool.setBasicConfigFile(config);
-        } catch (Exception e) {
-            System.out.println("Couldn't load configuration from file: " + config);
-        }
-        TraceManager.addDev("\nConfiguration:\n--------------");
-        TraceManager.addDev(ConfigurationTTool.getConfiguration(systemc));
-        TraceManager.addDev("\nDebugging trace:\n----------------");
-
-        TraceManager.addDev("\nPreparing plugins\n");
-        if (splashFrame != null) {
-            splashFrame.setMessage("Preparing plugins");
-        }
-        PluginManager.pluginManager = new PluginManager();
-        PluginManager.pluginManager.preparePlugins(ConfigurationTTool.PLUGIN_PATH, ConfigurationTTool.PLUGIN, ConfigurationTTool.PLUGIN_PKG);
-
-        if (ConfigurationTTool.LauncherPort.length() > 0) {
-            try {
-                int port = Integer.decode(ConfigurationTTool.LauncherPort).intValue();
-                launcher.RshClient.PORT_NUMBER = port;
-                launcher.RshServer.PORT_NUMBER = port;
-                TraceManager.addDev("Port number set to: " + port);
-            } catch (Exception e) {
-                TraceManager.addError("Wrong port number:" + ConfigurationTTool.LauncherPort);
-            }
-        }
-
-        if (startLauncher) {
-            Thread t = new Thread(new RTLLauncher());
-            t.start();
-        }
-
-        // making main window
-        if (splashFrame != null) {
-            splashFrame.setMessage("Creating main window");
-        }
-        MainGUI mainGUI = new MainGUI(openLast, turtle, systemc, lotos, proactive, tpn, os, uppaal, nc, avatar, proverif, avataronly, experimental);
-        if (splashFrame != null) {
-            splashFrame.setMessage("Building graphical components");
-        }
-        mainGUI.build();
-
-        // loading configuration
+public class Main extends MainGUI {
+
+	public Main(boolean _openLast, boolean _turtleOn, boolean _systemcOn, boolean _lotosOn, boolean _proactiveOn,
+			boolean _tpnOn, boolean _osOn, boolean _uppaalOn, boolean _ncOn, boolean _avatarOn, boolean _proverifOn,
+			boolean _avatarOnly, boolean _experimental) {
+		super(_openLast, _turtleOn, true, _lotosOn, _proactiveOn, _tpnOn, _osOn, _uppaalOn, _ncOn, _avatarOn, _proverifOn,
+				_avatarOnly, _experimental);
+		
+		SpecConfigTTool.setDirConfig(new File("lauch_configuration/config.xml"));
+		IconManager.loadImg();
+		build(); 
+	}
+}
 
-        // starting application
-// DB: Useless
-//        if (mainGUI == null) {
-//            ErrorGUI.exit(ErrorGUI.GUI);
+//public class Main implements ActionListener {
+//    public boolean finish = false;
+//    public static Main main = new Main();
+//    public static MainGUI test;
+//    public static boolean systemc = true;
+//    public static boolean lotos = true;
+//    public static boolean proactive = false;
+//    public static boolean tpn = false;
+//    public static boolean os = false;
+//    public static boolean uppaal = true;
+//    public static boolean nc = true; // Network calculus
+//    public static boolean avatar = true; // avatar profile
+//    public static boolean proverif = true;
+//    public static boolean experimental = false;
+//    public static boolean avataronly = false;
+//    public static boolean turtle = false;
+//    public static boolean openLast = false;
+//
+//    public Main() {
+//
+//
+//        TraceManager.devPolicy = TraceManager.TO_DEVNULL;
+//
+//        System.out.println("\n*** TTool version: " + DefaultText.getFullVersion() + " ***\n");
+//
+//
+//        // Read the image data and display the splash screen
+//        // -------------------------------------------------
+//
+//
+//        new Timer(2500, main).start();
+//
+//        JStartingWindow splashFrame = null;
+//        //System.out.println("hello");
+//        URL imageURL = Main.class.getResource("ui/util/starting_logo.gif");
+//        Image img;
+//        //System.out.println("helli");
+//        if (imageURL != null) {
+//
+//            img = (new ImageIcon(imageURL)).getImage();
+//            splashFrame = JStartingWindow.splash(img, "Loading TTool's elements");
+//            //splashFrame.setLicenceMessage("An open-source toolkit from:");
+//            if (splashFrame != null) {
+//                splashFrame.setMiddleMessage("version " + DefaultText.getVersion());
+//            }
+//            //System.out.println("helly");
+//        } else {
+//            System.err.println("Starting image not found");
+//            System.exit(0);
 //        }
-
-        if (splashFrame != null) {
-            splashFrame.setMessage("Starting TTool ...");
-        }
-        main.waitFinish();
-        //mainGUI.start();
-        test = mainGUI;
-
-        // Dispose the splash screen
-        // -------------------------
-        if (splashFrame != null) {
-            splashFrame.dispose();
-        }
-
-        // Checking for update
-        //TToolUpdater tu = new TToolUpdater(mainGUI.frame);
-        //tu.start();
-    }
-
-    
-    
-    public MainGUI getMainGui() {
-    	return test;
-    }
-    
-    public synchronized void waitFinish() {
-        while (finish == false) {
-            try {
-                wait();
-            } catch (InterruptedException ie) {
-            }
-        }
-    }
-
-    public synchronized void okFinish() {
-        finish = true;
-        notifyAll();
-    }
-
-    public void actionPerformed(ActionEvent evt) {
-        main.okFinish();
-    }
-
-    public static void testBoolExpr() {
-
-
-        evalBool("t or f");
-
-        evalBool("(t) or f");
-
-        evalBool("(0==0)");
-        
-        System.exit(-1);
-    }
-
-    public static void evalBool(String s) {
-        BoolExpressionEvaluator bee = new BoolExpressionEvaluator();
-        System.out.println("->Result of " + s + " =" + bee.getResultOf(s));
-        if (bee.hasError()) {
-            System.out.println("Error = " + bee.getFullError());
-        }
-        System.out.println("\n\n");
-    }
-	
-}
+//
+//
+//        //new Timer(2500, main).start();
+//
+//
+//        // Starting window
+//        // setting default language
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Setting language");
+//        }
+//        Locale.setDefault(new Locale("en"));
+//
+//        boolean startLauncher = true;
+//
+//        // Setting certificates
+//	/*String trustStore = System.getProperty("javax.net.ssl.trustStore");
+//	if (trustStore == null) {
+//	    System.setProperty("javax.net.ssl.trustStore", "cacerts.jks");
+//	    } */
+//
+//        // Analyzing arguments
+//        String config = "config.xml";
+//        startLauncher = true;
+//
+//        // Icons
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Loading images");
+//        }
+//        IconManager.loadImg();
+//
+//        // Loading configuration
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Loading configuration file: " + config);
+//        }
+//
+//
+//        //ConfigurationTTool.makeDefaultConfiguration();
+//        try {
+//            ConfigurationTTool.loadConfiguration(config, systemc);
+//            SpecConfigTTool.setBasicConfigFile(config);
+//        } catch (Exception e) {
+//            System.out.println("Couldn't load configuration from file: " + config);
+//        }
+//        TraceManager.addDev("\nConfiguration:\n--------------");
+//        TraceManager.addDev(ConfigurationTTool.getConfiguration(systemc));
+//        TraceManager.addDev("\nDebugging trace:\n----------------");
+//
+//        TraceManager.addDev("\nPreparing plugins\n");
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Preparing plugins");
+//        }
+//        PluginManager.pluginManager = new PluginManager();
+//        PluginManager.pluginManager.preparePlugins(ConfigurationTTool.PLUGIN_PATH, ConfigurationTTool.PLUGIN, ConfigurationTTool.PLUGIN_PKG);
+//
+//        if (ConfigurationTTool.LauncherPort.length() > 0) {
+//            try {
+//                int port = Integer.decode(ConfigurationTTool.LauncherPort).intValue();
+//                launcher.RshClient.PORT_NUMBER = port;
+//                launcher.RshServer.PORT_NUMBER = port;
+//                TraceManager.addDev("Port number set to: " + port);
+//            } catch (Exception e) {
+//                TraceManager.addError("Wrong port number:" + ConfigurationTTool.LauncherPort);
+//            }
+//        }
+//
+//        if (startLauncher) {
+//            Thread t = new Thread(new RTLLauncher());
+//            t.start();
+//        }
+//
+//        // making main window
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Creating main window");
+//        }
+//        MainGUI mainGUI = new MainGUI(openLast, turtle, systemc, lotos, proactive, tpn, os, uppaal, nc, avatar, proverif, avataronly, experimental);
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Building graphical components");
+//        }
+//        mainGUI.build();
+//
+//        // loading configuration
+//
+//        // starting application
+//// DB: Useless
+////        if (mainGUI == null) {
+////            ErrorGUI.exit(ErrorGUI.GUI);
+////        }
+//
+//        if (splashFrame != null) {
+//            splashFrame.setMessage("Starting TTool ...");
+//        }
+//        main.waitFinish();
+//        //mainGUI.start();
+//        test = mainGUI;
+//
+//        // Dispose the splash screen
+//        // -------------------------
+//        if (splashFrame != null) {
+//            splashFrame.dispose();
+//        }
+//
+//        // Checking for update
+//        //TToolUpdater tu = new TToolUpdater(mainGUI.frame);
+//        //tu.start();
+//    }
+//
+//    
+//    
+//    public MainGUI getMainGui() {
+//    	return test;
+//    }
+//    
+//    public synchronized void waitFinish() {
+//        while (finish == false) {
+//            try {
+//                wait();
+//            } catch (InterruptedException ie) {
+//            }
+//        }
+//    }
+//
+//    public synchronized void okFinish() {
+//        finish = true;
+//        notifyAll();
+//    }
+//
+//    public void actionPerformed(ActionEvent evt) {
+//        main.okFinish();
+//    }
+//
+//    public static void testBoolExpr() {
+//
+//
+//        evalBool("t or f");
+//
+//        evalBool("(t) or f");
+//
+//        evalBool("(0==0)");
+//        
+//        System.exit(-1);
+//    }
+//
+//    public static void evalBool(String s) {
+//        BoolExpressionEvaluator bee = new BoolExpressionEvaluator();
+//        System.out.println("->Result of " + s + " =" + bee.getResultOf(s));
+//        if (bee.hasError()) {
+//            System.out.println("Error = " + bee.getFullError());
+//        }
+//        System.out.println("\n\n");
+//    }
+//	
+//}
diff --git a/ttool/src/test/java/ui/bot/MainFrameTest.java b/ttool/src/test/java/ui/bot/MainFrameTest.java
index 3daea9fa4f..9ba3f2d13b 100644
--- a/ttool/src/test/java/ui/bot/MainFrameTest.java
+++ b/ttool/src/test/java/ui/bot/MainFrameTest.java
@@ -2,7 +2,7 @@
  * Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Arthur VUAGNIAUX
  */
 
-package gui.test.main;
+package ui.bot;
 
 import static org.junit.Assert.*;
 
@@ -100,33 +100,33 @@ public class MainFrameTest extends AssertJSwingJUnitTestCase {
 //		TraceManager.addDev("MainFrameTest: openProject: Done clicking");
 	}
 	
-//    @Test
-//    public void help() {
-//    	/*
-//    	 * Description : Check the help from the main frame.
-//    	 */
-//    	
-//    	JMenuItemFixture jmif = window.menuItem("Help Configuration");
-//    	TraceManager.addDev("MainFrameTest: help: Opening the help by clicking on it");
-//    	jmif.click();
-//    	try {
-//			Thread.sleep(3600);
-//		} catch (InterruptedException e) {
-//			e.printStackTrace();
-//		}
-//    	TraceManager.addDev("MainFrameTest: help: Done clicking");
-//    	
-//    	window2 = findFrame("TestTest").using(robot());
-//    	JButtonFixture jb = window2.button("Close Configuration");
-//    	TraceManager.addDev("MainFrameTest: help: Closing the help, by clicking on the button");
-//    	jb.click();
-//    	try {
-//			Thread.sleep(3600);
-//		} catch (InterruptedException e) {
-//			e.printStackTrace();
-//		}
-//    	TraceManager.addDev("MainFrameTest: help: Done closing");
-//    }
+    @Test
+    public void help() {
+    	/*
+    	 * Description : Check the help from the main frame.
+    	 */
+    	
+    	JMenuItemFixture jmif = window.menuItem("Help Configuration");
+    	TraceManager.addDev("MainFrameTest: help: Opening the help by clicking on it");
+    	jmif.click();
+    	try {
+			Thread.sleep(3600);
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+    	TraceManager.addDev("MainFrameTest: help: Done clicking");
+    	
+    	window2 = findFrame("TestTest").using(robot());
+    	JButtonFixture jb = window2.button("Close Configuration");
+    	TraceManager.addDev("MainFrameTest: help: Closing the help, by clicking on the button");
+    	jb.click();
+    	try {
+			Thread.sleep(3600);
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+    	TraceManager.addDev("MainFrameTest: help: Done closing");
+    }
 	
 //    @Test
 //    public void capture() {
@@ -135,12 +135,12 @@ public class MainFrameTest extends AssertJSwingJUnitTestCase {
 //    }
  
     
-    @Test
-	public void quit() {
-		JMenuItemFixture jmif = window.menuItem("File Quit");
-		jmif.click();
-	}
-	 
+//    @Test
+//	public void quit() {
+//		JMenuItemFixture jmif = window.menuItem("File Quit");
+//		jmif.click();
+//	}
+//	 
     @Test
     public void vandV() {
     	/*
@@ -204,9 +204,9 @@ public class MainFrameTest extends AssertJSwingJUnitTestCase {
 	
 	@Override
 	protected void onSetUp() {
-		Main frame = GuiActionRunner.execute(()-> new Main());//Main(false, false, false, false, false, false, false, false, false, false, false, false, false));
-//		window = new FrameFixture(robot(), frame.test.getFrame());
-//		window.show();
+		Main frame = GuiActionRunner.execute(()-> new Main(false, false, false, false, false, false, false, false, false, false, false, false, false));
+		window = new FrameFixture(robot(), frame.getFrame());
+		window.show();
 	}
 	
 	@Override
-- 
GitLab