diff --git a/android/src/iTest/java/cz/nic/tablexia/android/AndroidITestLauncher.java b/android/src/iTest/java/cz/nic/tablexia/android/AndroidITestLauncher.java index 4eeb945e335f0bea973d564a281c864acf25e793..639d6b7e1ecace24be582f68eb127381d5337ed2 100644 --- a/android/src/iTest/java/cz/nic/tablexia/android/AndroidITestLauncher.java +++ b/android/src/iTest/java/cz/nic/tablexia/android/AndroidITestLauncher.java @@ -19,19 +19,16 @@ package cz.nic.tablexia.android; import android.os.Bundle; -import com.badlogic.gdx.Gdx; - import cz.nic.tablexia.testing.TestRunner; -import cz.nic.tablexia.util.Log; /** * Created by frantisek on 13.4.16. */ public class AndroidITestLauncher extends AndroidLauncher { - private String testClassName = null; @Override protected void onCreate(Bundle savedInstanceState) { + String testClassName = null; Bundle extras = this.getIntent().getExtras(); if ( extras != null ) { if (extras.containsKey("testClassName")) { @@ -39,18 +36,12 @@ public class AndroidITestLauncher extends AndroidLauncher { } } super.onCreate(savedInstanceState); - if(testClassName==null){ - Log.err(getClass(), "No parameter has been given. Please, launch activity with parameter -e testClassName <TEST_CLASS_NAME>."); - Gdx.app.exit(); - } + runTest(testClassName); } - @Override - protected void runTest(){ + private void runTest(String testClassName){ TestRunner testRunner = new TestRunner(tablexia); - if(testClassName!=null) { - testRunner.runTest(testClassName); - } + testRunner.runTest(testClassName); } } diff --git a/android/src/main/java/cz/nic/tablexia/android/AndroidLauncher.java b/android/src/main/java/cz/nic/tablexia/android/AndroidLauncher.java index 36e4f8632c52e15ae6122c5a228985eaa7505e52..5169a5d35a79d31f0a2beb64f663767efce54b97 100644 --- a/android/src/main/java/cz/nic/tablexia/android/AndroidLauncher.java +++ b/android/src/main/java/cz/nic/tablexia/android/AndroidLauncher.java @@ -43,12 +43,6 @@ public class AndroidLauncher extends AndroidApplication { protected Tablexia tablexia; - /* - * Method for running tests - * - */ - protected void runTest(){} - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -77,7 +71,6 @@ public class AndroidLauncher extends AndroidApplication { HAS_SOFT_BACK_BUTTON, savedInstanceState == null, Build.SERIAL), config); - runTest(); } public void post(Runnable r) { diff --git a/desktop/src/iTest/cz/nic/tablexia/desktop/DesktopITestLauncher.java b/desktop/src/iTest/cz/nic/tablexia/desktop/DesktopITestLauncher.java index f2471c5b80c1fdade56ef6d6aa05cd35983bfe48..07254794aae11a994c3a82e9511fdaa0e7e61ccb 100644 --- a/desktop/src/iTest/cz/nic/tablexia/desktop/DesktopITestLauncher.java +++ b/desktop/src/iTest/cz/nic/tablexia/desktop/DesktopITestLauncher.java @@ -17,10 +17,7 @@ package cz.nic.tablexia.desktop; -import com.badlogic.gdx.Gdx; - import cz.nic.tablexia.testing.TestRunner; -import cz.nic.tablexia.util.Log; /** * Created by frantisek on 15.4.16. @@ -28,11 +25,10 @@ import cz.nic.tablexia.util.Log; public class DesktopITestLauncher{ public static void main(String[] arg) { - TestRunner testRunner = new TestRunner(DesktopLauncher.initTablexia()); if (arg == null || arg.length == 0) { - Log.err("DesktopITestLauncher", "No parameter has been given! Please, launch the application with parameter <TEST_CLASS_NAME>."); - Gdx.app.exit(); + new TestRunner(); } else { + TestRunner testRunner = new TestRunner(DesktopLauncher.initTablexia()); String testClassName = arg[0]; testRunner.runTest(testClassName); } diff --git a/ios/src/iTest/cz/nic/tablexia/IOSITestLauncher.java b/ios/src/iTest/cz/nic/tablexia/IOSITestLauncher.java index 56bf43531ec0c71fa7d7455a104d9e3d218d1684..0a45e013d20895af6fa7ccd95d00052571ff88ae 100644 --- a/ios/src/iTest/cz/nic/tablexia/IOSITestLauncher.java +++ b/ios/src/iTest/cz/nic/tablexia/IOSITestLauncher.java @@ -30,10 +30,8 @@ public class IOSITestLauncher extends IOSLauncher { public boolean didFinishLaunching(UIApplication application, UIApplicationLaunchOptions launchOptions) { boolean result = super.didFinishLaunching(application, launchOptions); - if(testClassName != null) { - TestRunner testRunner = new TestRunner(tablexia); - testRunner.runTest(testClassName); - } + TestRunner testRunner = new TestRunner(tablexia); + testRunner.runTest(testClassName); return result; } diff --git a/itest/src/cz/nic/tablexia/testing/AbstractTestScenario.java b/itest/src/cz/nic/tablexia/testing/AbstractTestScenario.java index b6dd602841e57d1380556e3bf915da239cd327c9..22293b5e22ce20734f24ea3336a3273ac78debc4 100644 --- a/itest/src/cz/nic/tablexia/testing/AbstractTestScenario.java +++ b/itest/src/cz/nic/tablexia/testing/AbstractTestScenario.java @@ -187,7 +187,6 @@ public abstract class AbstractTestScenario implements Runnable { @Override public void uncaughtException(Thread t, Throwable e) { logError("UncaughtException: " + e.getMessage()); - ApplicationBus.getInstance().publishAsync(new TestFinished(getClass().getSimpleName())); } }); testThread.start(); @@ -218,7 +217,6 @@ public abstract class AbstractTestScenario implements Runnable { */ public void finishTest() { testStatus(); - ApplicationBus.getInstance().publishAsync(new TestFinished(getClass().getSimpleName())); testThread.interrupt(); Gdx.app.exit(); } @@ -1090,7 +1088,7 @@ public abstract class AbstractTestScenario implements Runnable { try { SWIPED_LOCK.wait(); } catch (InterruptedException e) { - logError("Cannot wait for swiping to thophy! InterruptedException: " + e.getMessage()); + logError("Cannot wait for swiping to trophy! InterruptedException: " + e.getMessage()); stopTheTest(); } } @@ -1169,21 +1167,6 @@ public abstract class AbstractTestScenario implements Runnable { finishTest(); } - /** - * Event fired when actual test has finished - */ - public static class TestFinished implements ApplicationBus.ApplicationEvent { - private final String finishedtestName; - - private TestFinished(String testName) { - finishedtestName = testName; - } - - public String getFinishedtestName() { - return finishedtestName; - } - } - protected User createUser(){ return createUser(NAME_FOR_TESTS, AGE_FOR_TESTS , GENDER_FOR_TESTS, AVATAR_FOR_TESTS, SIGNATURE_FOR_TESTS); } diff --git a/itest/src/cz/nic/tablexia/testing/TestRunner.java b/itest/src/cz/nic/tablexia/testing/TestRunner.java index b4dfc484a5cea7cddb78fe786d14dddbb683b475..ff7f82518c1ebd76d0f5d53671c9c6573dc312c5 100644 --- a/itest/src/cz/nic/tablexia/testing/TestRunner.java +++ b/itest/src/cz/nic/tablexia/testing/TestRunner.java @@ -35,6 +35,10 @@ public class TestRunner { public TestRunner(Tablexia tablexia) { this.tablexia = tablexia; + createListOfTests(); + } + + private void createListOfTests(){ listOfTests.add(NewUserScenario.class); listOfTests.add(TestScenarioSpecial.class); listOfTests.add(TestScenarioHallOfFameRobberyTrophies.class); @@ -47,9 +51,32 @@ public class TestRunner { listOfTests.add(TestScenarioHallOfFameRunesTrophies.class); listOfTests.add(TestScenarioHeapOfTrophies.class); } - public void runTest(String testClassName){ + + public TestRunner(){ + System.out.println("No parameter has been given! Please, launch the application with parameter\n\tdesktop: <TEST_CLASS_NAME>\n\tAndroid: -e testClassName <TEST_CLASS_NAME>"); + createListOfTests(); + String tests = testsToString(); + System.out.println("Registred tests (<TEST_CLASS_NAME>):" + tests); + } + + private String testsToString(){ + String tests = null; for(Class<? extends AbstractTestScenario> testClass : listOfTests){ - if(testClass.getSimpleName().equals(testClassName)) { + if(tests==null) tests = "\n\t" + testClass.getSimpleName(); + else tests += "\n\t" + testClass.getSimpleName(); + } + return tests; + } + + public void runTest(String testClassName){ + if(testClassName==null){ + Log.err(getClass(), "No parameter has been given! Please, launch the application with parameter\n\tdesktop: <TEST_CLASS_NAME>\n\tAndroid: -e testClassName <TEST_CLASS_NAME>"); + String tests = testsToString(); + Log.info(getClass(),"Registred tests (<TEST_CLASS_NAME>):" + tests); + } + else { + for (Class<? extends AbstractTestScenario> testClass : listOfTests) { + if (testClass.getSimpleName().equals(testClassName)) { try { AbstractTestScenario test = (AbstractTestScenario) ClassReflection.getConstructor(testClass, Tablexia.class).newInstance(tablexia); Log.info(getClass(), "[ RUNNING TEST : " + testClass.getSimpleName() + " ]"); @@ -59,8 +86,9 @@ public class TestRunner { } return; } + } + Log.err(getClass(), "Test class \"" + testClassName + "\" does not exist!"); } - Log.err(getClass(), "Test class \"" + testClassName + "\" does not exist!" ); Gdx.app.exit(); } }