From c1ce1277d366195879698e376a11bb779caac5fd Mon Sep 17 00:00:00 2001 From: Emmanuel Bigeon Date: Sat, 8 Jun 2019 20:09:03 -0400 Subject: [PATCH] Extract interface as method return Signed-off-by: Emmanuel Bigeon --- .../java/net/bigeon/gclc/swt/SWTConsole.java | 6 ++++-- .../net/bigeon/gclc/swt/SWTConsoleView.java | 6 ++++-- .../gclc/swt/PromptReadingRunnableTest.java | 19 +++++++------------ 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsole.java b/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsole.java index 556c79a..99dabb5 100644 --- a/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsole.java +++ b/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsole.java @@ -79,6 +79,8 @@ import org.eclipse.swt.widgets.Text; import net.bigeon.gclc.manager.PipedConsoleInput; import net.bigeon.gclc.manager.PipedConsoleOutput; +import net.bigeon.gclc.swt.api.ConsoleDelayIO; +import net.bigeon.gclc.swt.api.ConsoleOutputDisplay; import net.bigeon.gclc.swt.io.ConsoleInputManager; import net.bigeon.gclc.swt.io.ConsoleOutputManager; import net.bigeon.gclc.swt.io.ConsolePromptManager; @@ -131,12 +133,12 @@ public final class SWTConsole extends Composite { } /** @return the inputManager */ - public ConsoleInputManager getInputManager() { + public ConsoleDelayIO getInputManager() { return inputManager; } /** @return the outputManager */ - public ConsoleOutputManager getOutputManager() { + public ConsoleOutputDisplay getOutputManager() { return outputManager; } diff --git a/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsoleView.java b/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsoleView.java index a54754e..c966692 100644 --- a/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsoleView.java +++ b/gclc-swt/src/main/java/net/bigeon/gclc/swt/SWTConsoleView.java @@ -78,6 +78,8 @@ import org.eclipse.swt.widgets.Text; import net.bigeon.gclc.ConsoleApplication; import net.bigeon.gclc.manager.PipedConsoleInput; import net.bigeon.gclc.manager.PipedConsoleOutput; +import net.bigeon.gclc.swt.api.ConsoleDelayIO; +import net.bigeon.gclc.swt.api.ConsoleOutputDisplay; import net.bigeon.gclc.swt.io.ConsoleInputManager; import net.bigeon.gclc.swt.io.ConsoleOutputManager; import net.bigeon.gclc.swt.tools.HistoryTextKeyListener; @@ -132,14 +134,14 @@ public final class SWTConsoleView extends Composite { /** Get the manager of console input. * * @return the input manager */ - public ConsoleInputManager getInputManager() { + public ConsoleDelayIO getInputManager() { return inManager; } /** Get the manager of console output. * * @return the output manager */ - public ConsoleOutputManager getOutputManager() { + public ConsoleOutputDisplay getOutputManager() { return outManager; } } diff --git a/gclc-swt/src/test/java/net/bigeon/gclc/swt/PromptReadingRunnableTest.java b/gclc-swt/src/test/java/net/bigeon/gclc/swt/PromptReadingRunnableTest.java index 7c4f401..cf15ec6 100644 --- a/gclc-swt/src/test/java/net/bigeon/gclc/swt/PromptReadingRunnableTest.java +++ b/gclc-swt/src/test/java/net/bigeon/gclc/swt/PromptReadingRunnableTest.java @@ -50,8 +50,7 @@ import java.util.logging.Logger; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; +import org.mockito.Mockito; import net.bigeon.gclc.swt.tools.PromptReadingRunnable; @@ -61,16 +60,10 @@ public class PromptReadingRunnableTest { private final Display display = mock(Display.class); { when(view.getDisplay()).thenReturn(display); - doAnswer(new Answer() { - /* (non-Javadoc) - * @see - * org.mockito.stubbing.Answer#answer(org.mockito.invocation.InvocationOnMock) */ - @Override - public Object answer(final InvocationOnMock invocation) throws Throwable { - final Runnable runnable = invocation.getArgument(0); - runnable.run(); - return null; - } + doAnswer(invocation -> { + final Runnable runnable = invocation.getArgument(0); + runnable.run(); + return null; }).when(display).syncExec(any(Runnable.class)); } @@ -85,6 +78,7 @@ public class PromptReadingRunnableTest { final PromptReadingRunnable runnable = new PromptReadingRunnable(reader, view); runnable.run(); + Mockito.verify(reader, Mockito.times(3)).readLine(); } /** Test method for {@link net.bigeon.gclc.swt.tools.PromptReadingRunnable#run()}. @@ -102,6 +96,7 @@ public class PromptReadingRunnableTest { runnable.run(); logger.setLevel(back); + Mockito.verify(reader, Mockito.times(3)).readLine(); } }