From 5c1f0b5b2365aea2d00c2bdb49126de472e46c90 Mon Sep 17 00:00:00 2001 From: Basmalamoustafa <75669135+Basmalamoustafa@users.noreply.github.com> Date: Tue, 14 Jan 2025 20:18:48 +0200 Subject: [PATCH 1/2] Create Robot.java #606 Robot pattern issue --- .../java/com/iluwatar/templateview/Robot.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 templateview/src/main/java/com/iluwatar/templateview/Robot.java diff --git a/templateview/src/main/java/com/iluwatar/templateview/Robot.java b/templateview/src/main/java/com/iluwatar/templateview/Robot.java new file mode 100644 index 000000000000..770c653e1abd --- /dev/null +++ b/templateview/src/main/java/com/iluwatar/templateview/Robot.java @@ -0,0 +1,32 @@ +package com.iluwatar.templateview; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class TemplateViewRobot { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream originalOut = System.out; + public TemplateViewRobot render(TemplateView view) { + try { + System.setOut(new PrintStream(outputStream)); + view.render(); + } finally { + System.setOut(originalOut); + } + return this; + } + + public TemplateViewRobot verifyContent(String expectedContent) { + String renderedOutput = outputStream.toString(); + assertTrue(renderedOutput.contains(expectedContent), + String.format("Expected content '%s' not found in output:\n%s", expectedContent, renderedOutput)); + return this; + } + + public TemplateViewRobot reset() { + outputStream.reset(); + return this; + } +} From b5923df8a7f5c63c5e43fa66ce225cb359d3aebd Mon Sep 17 00:00:00 2001 From: Basmalamoustafa <75669135+Basmalamoustafa@users.noreply.github.com> Date: Tue, 14 Jan 2025 20:25:05 +0200 Subject: [PATCH 2/2] Rename Robot.java to TemplateViewRobot.java --- .../iluwatar/templateview/{Robot.java => TemplateViewRobot.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename templateview/src/main/java/com/iluwatar/templateview/{Robot.java => TemplateViewRobot.java} (100%) diff --git a/templateview/src/main/java/com/iluwatar/templateview/Robot.java b/templateview/src/main/java/com/iluwatar/templateview/TemplateViewRobot.java similarity index 100% rename from templateview/src/main/java/com/iluwatar/templateview/Robot.java rename to templateview/src/main/java/com/iluwatar/templateview/TemplateViewRobot.java