diff --git a/.vscode/launch.json b/.vscode/launch.json
index c330aed2..8b1dca84 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -17,6 +17,14 @@
"mainClass": "electrosphere.main.Main",
"projectName": "Renderer"
},
+ {
+ "type": "java",
+ "name": "Launch Main (macos)",
+ "request": "launch",
+ "mainClass": "electrosphere.main.Main",
+ "projectName": "Renderer",
+ "vmArgs": "-XstartOnFirstThread"
+ },
{
"type": "java",
"name": "Launch Main (Headless)",
diff --git a/pom.xml b/pom.xml
index c0302428..f5f84a90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,6 +152,12 @@
3.36.0.3
+
+ junit
+ junit
+ 4.12
+
+
@@ -175,6 +181,7 @@
+
natives-macos
diff --git a/src/test/java/LoadingTest.java b/src/test/java/LoadingTest.java
new file mode 100644
index 00000000..e7c3b7f5
--- /dev/null
+++ b/src/test/java/LoadingTest.java
@@ -0,0 +1,33 @@
+import electrosphere.controls.ControlHandler;
+import electrosphere.game.config.UserSettings;
+import electrosphere.logger.LoggerInterface;
+import electrosphere.main.Globals;
+import junit.framework.TestCase;
+
+public class LoadingTest extends TestCase {
+ // @BeforeClass
+
+ public void testABC(){
+ //initialize logging interfaces
+ LoggerInterface.initLoggers();
+
+ //load user settings
+ UserSettings.loadUserSettings();
+
+ //controls
+ if(Globals.RUN_CLIENT){
+ initControlHandler();
+ }
+
+ //init global variables
+ Globals.initGlobals();
+ }
+
+ public static void initControlHandler(){
+ LoggerInterface.loggerStartup.INFO("Initialize control handler");
+ Globals.controlHandler = ControlHandler.generateExampleControlsMap();
+ Globals.controlHandler.setCallbacks();
+// Globals.controlHandler = FileLoadingUtils.loadModelObjectFromBakedJsonFile("/Config/keybinds.json",ControlHandler.class);
+ }
+
+}
diff --git a/src/test/java/TestRunner.java b/src/test/java/TestRunner.java
new file mode 100644
index 00000000..2ecdff7b
--- /dev/null
+++ b/src/test/java/TestRunner.java
@@ -0,0 +1,13 @@
+import org.junit.runner.JUnitCore;
+import org.junit.runner.Result;
+import org.junit.runner.notification.Failure;
+
+public class TestRunner {
+ public static void main(String[] args){
+ Result result = JUnitCore.runClasses(LoadingTest.class);
+ for(Failure failure : result.getFailures()){
+ System.out.println(failure);
+ }
+ System.out.println("Testing was successful: " + result.wasSuccessful());
+ }
+}