diff --git a/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java b/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java index f220aea..79de7e0 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java @@ -93,6 +93,8 @@ import net.bigeon.gclc.manager.ConsoleInput; import net.bigeon.gclc.manager.ConsoleOutput; import net.bigeon.gclc.utils.PipedConsoleInput; import net.bigeon.gclc.utils.PipedConsoleOutput; +import net.bigeon.test.junitmt.ATestRunnable; +import net.bigeon.test.junitmt.ThreadTest; /** *

@@ -509,10 +511,10 @@ public class ParametrizedCommandTest { cmd.execute(out, in, "-" + str1, str2, "-" + addParam); cmd.execute(out, in, "-" + str1, str2, "-" + addParam, addParam); - final Thread th = new Thread(new Runnable() { + final ATestRunnable testConsole = new ATestRunnable() { @Override - public void run() { + protected void testRun() { try { assertEquals("value of " + str1 + "? ", buf.readLine()); in.type(""); @@ -523,15 +525,17 @@ public class ParametrizedCommandTest { buf.readLine()); in.type(str2); } catch (final IOException e) { - assertNull(e); + fail("IO exception in test"); } } - }); + }; + + final Thread th = new Thread(testConsole); th.start(); cmd.execute(out, in); - th.join(); + ThreadTest.assertRuns(th, testConsole); } try (PipedConsoleOutput out = new PipedConsoleOutput(); PipedOutputStream pout = new PipedOutputStream(); @@ -540,23 +544,25 @@ public class ParametrizedCommandTest { new InputStreamReader(pis, StandardCharsets.UTF_8)); PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { - final Thread th = new Thread(new Runnable() { + final ATestRunnable testConsole = new ATestRunnable() { @Override - public void run() { + protected void testRun() { try { assertEquals("value of " + str1 + "? ", buf.readLine()); in.type(str2); } catch (final IOException e) { - assertNull(e); + fail("IO exception in test"); } } - }); + }; + + final Thread th = new Thread(testConsole); th.start(); cmd.execute(out, in, "-" + addParam); - th.join(); + ThreadTest.assertRuns(th, testConsole); } try { final PipedConsoleOutput out = new PipedConsoleOutput(); diff --git a/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java b/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java index 5bb07ca..ef5b665 100644 --- a/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java @@ -94,6 +94,8 @@ import org.junit.Test; import net.bigeon.gclc.utils.PipedConsoleInput; import net.bigeon.gclc.utils.PipedConsoleOutput; +import net.bigeon.test.junitmt.ATestRunnable; +import net.bigeon.test.junitmt.ThreadTest; /** *

@@ -115,19 +117,21 @@ public class CLIPrompterTest { } /** Test method for - * {@link net.bigeon.gclc.prompt.CLIPrompter#promptBoolean(net.bigeon.gclc.manager.ConsoleOutput, net.bigeon.gclc.manager.ConsoleInput, String)}. */ + * {@link net.bigeon.gclc.prompt.CLIPrompter#promptBoolean(net.bigeon.gclc.manager.ConsoleOutput, net.bigeon.gclc.manager.ConsoleInput, String)}. + * + * @throws IOException if an io occurs */ @Test - public final void testPromptBoolean() { + public final void testPromptBoolean() throws IOException { try (final PipedConsoleOutput out = new PipedConsoleOutput(); PipedOutputStream pout = new PipedOutputStream(); PipedInputStream pis = new PipedInputStream(pout); BufferedReader buf = new BufferedReader( new InputStreamReader(pis, StandardCharsets.UTF_8)); PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { - final Thread th = new Thread(new Runnable() { + final ATestRunnable target = new ATestRunnable() { @Override - public void run() { + public void testRun() { try { assertTrue(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ assertTrue(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ @@ -135,10 +139,10 @@ public class CLIPrompterTest { assertFalse(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ - e.printStackTrace(); } } - }); + }; + final Thread th = new Thread(target); th.start(); assertTrue(buf.readLine().startsWith("My message")); //$NON-NLS-1$ in.type(""); //$NON-NLS-1$ @@ -151,10 +155,7 @@ public class CLIPrompterTest { in.type("N"); //$NON-NLS-1$ assertTrue(buf.readLine().startsWith("My message")); //$NON-NLS-1$ in.type("nO"); //$NON-NLS-1$ - th.join(); - } catch (IOException | InterruptedException e) { - fail("Unexpected excpetion"); //$NON-NLS-1$ - e.printStackTrace(); + ThreadTest.assertRuns(th, target); } } @@ -1080,10 +1081,10 @@ public class CLIPrompterTest { choices.put(keys.get(1), "The actual other"); //$NON-NLS-1$ final String message = "My message"; //$NON-NLS-1$ - final Thread th = new Thread(new Runnable() { + final ATestRunnable target = new ATestRunnable() { @Override - public void run() { + public void testRun() { try { assertTrue("Asserted provided value to be retrieved", CLIPrompter .promptMultiChoice(out, in, keys, choices, message) @@ -1102,7 +1103,8 @@ public class CLIPrompterTest { e.printStackTrace(); } } - }); + }; + final Thread th = new Thread(target); th.start(); assertTrue(out.readNextLine().startsWith(message)); final String readNextLine = out.readNextLine(); @@ -1135,8 +1137,8 @@ public class CLIPrompterTest { assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); in.type("0 1"); //$NON-NLS-1$ - th.join(); - } catch (IOException | InterruptedException e) { + ThreadTest.assertRuns(th, target); + } catch (final IOException e) { fail("Unexpected excpetion, the other thread probably failed"); //$NON-NLS-1$ e.printStackTrace(); } @@ -1152,28 +1154,28 @@ public class CLIPrompterTest { new InputStreamReader(pis, StandardCharsets.UTF_8)); PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final String res = "some content"; //$NON-NLS-1$ - final Thread th = new Thread(new Runnable() { + final ATestRunnable target = new ATestRunnable() { @Override - public void run() { + public void testRun() { try { assertEquals("Expected provided message to be returned", res, CLIPrompter.promptNonEmpty(in, "My message", //$NON-NLS-1$ "my reprompt")); //$NON-NLS-1$ } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ - e.printStackTrace(); } } - }); + }; + final Thread th = new Thread(target); th.start(); assertTrue(buf.readLine().startsWith("My message")); //$NON-NLS-1$ in.type(""); //$NON-NLS-1$ assertTrue(buf.readLine().startsWith("my reprompt")); //$NON-NLS-1$ in.type(res); - th.join(); + ThreadTest.assertRuns(th, target); - } catch (IOException | InterruptedException e) { + } catch (final IOException e) { fail("Unexpected excpetion"); //$NON-NLS-1$ e.printStackTrace(); }