diff --git a/src/main/java/de/tum/in/test/api/io/OutputTester.java b/src/main/java/de/tum/in/test/api/io/OutputTester.java index d7efc39f..d4d5d9f8 100644 --- a/src/main/java/de/tum/in/test/api/io/OutputTester.java +++ b/src/main/java/de/tum/in/test/api/io/OutputTester.java @@ -111,10 +111,22 @@ public void resetOutput() { actualOutput.clear(); } + /** + * Returns the output as list of lines, always including all lines. + * + * @return all actual output as {@link Line}s. + * @deprecated Use {@link #getLines(OutputTestOptions...)} instead, which allows + * to specify options. + */ + @Deprecated(since = "1.3.2") public List getOutput() { return Collections.unmodifiableList(actualOutput); } + public List getLines(OutputTestOptions... outputOptions) { + return Collections.unmodifiableList(processLines(outputOptions)); + } + public String getOutputAsString(OutputTestOptions... outputOptions) { return processLines(outputOptions).stream().map(Line::text) .collect(Collectors.joining(IOTester.LINE_SEPERATOR)); @@ -288,7 +300,7 @@ private static boolean isRegExLine(String expectedLine) { private List processLines(OutputTestOptions... outputOptions) { boolean ignoreLastEmpty = !OutputTestOptions.DONT_IGNORE_LAST_EMPTY_LINE.isIn(outputOptions); - if (ignoreLastEmpty && actualOutput.size() > 0 && actualOutput.get(actualOutput.size() - 1).text().isEmpty()) + if (ignoreLastEmpty && !actualOutput.isEmpty() && actualOutput.get(actualOutput.size() - 1).text().isEmpty()) return actualOutput.subList(0, actualOutput.size() - 1); return actualOutput; }