From da61ba46414970ddd49c908f141da4653484a5a8 Mon Sep 17 00:00:00 2001 From: lorenzo Date: Mon, 8 Apr 2024 12:40:45 +0200 Subject: [PATCH] ..... --- .../src/inputOutput/Console.java | 7 ++++--- .../src/inputOutput/ConsoleTest.java | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/InputOutputException/src/inputOutput/Console.java b/InputOutputException/src/inputOutput/Console.java index 48c33af..8115147 100644 --- a/InputOutputException/src/inputOutput/Console.java +++ b/InputOutputException/src/inputOutput/Console.java @@ -5,7 +5,7 @@ import java.io.IOException; import java.io.InputStreamReader; public class Console { - + private static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); public static String readString() { @@ -19,7 +19,8 @@ public class Console { public static char[] readCharArray() { try { - return reader.readLine().toCharArray(); + String input = reader.readLine(); + return input.toCharArray(); } catch (IOException e) { e.printStackTrace(); return null; // oder eine geeignete Fehlerbehandlung @@ -28,7 +29,7 @@ public class Console { public static boolean readBoolean() { try { - String input = reader.readLine().toLowerCase(); + String input = reader.readLine().toLowerCase().trim(); return input.equals("true") || input.equals("t") || input.equals("yes") || input.equals("y"); } catch (IOException e) { e.printStackTrace(); diff --git a/InputOutputException/src/inputOutput/ConsoleTest.java b/InputOutputException/src/inputOutput/ConsoleTest.java index 312e535..2a7a8e1 100644 --- a/InputOutputException/src/inputOutput/ConsoleTest.java +++ b/InputOutputException/src/inputOutput/ConsoleTest.java @@ -4,10 +4,31 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; +import org.junit.Before; +import org.junit.After; import org.junit.Test; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.PrintStream; public class ConsoleTest { + + private final InputStream originalSystemIn = System.in; + private final PrintStream originalSystemOut = System.out; + private ByteArrayOutputStream systemOutContent; + + @Before + public void setUpStreams() { + systemOutContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(systemOutContent)); + } + + @After + public void restoreStreams() { + System.setIn(originalSystemIn); + System.setOut(originalSystemOut); + } @Test public void testReadString() {