diff --git a/Softwareengeneering.iml b/Softwareengeneering.iml
index 5b62a4a..1941d29 100644
--- a/Softwareengeneering.iml
+++ b/Softwareengeneering.iml
@@ -9,5 +9,6 @@
+
\ No newline at end of file
diff --git a/src/Praktikum02/ErrorWriter.java b/src/Praktikum02/ErrorWriter.java
new file mode 100644
index 0000000..1b34bb6
--- /dev/null
+++ b/src/Praktikum02/ErrorWriter.java
@@ -0,0 +1,8 @@
+package Praktikum02;
+
+public class ErrorWriter implements IHelloWorldWriter{
+ @Override
+ public void writeHelloWorld() {
+ System.err.println("Hello World");
+ }
+}
diff --git a/src/Praktikum02/Executor.java b/src/Praktikum02/Executor.java
new file mode 100644
index 0000000..fab9c49
--- /dev/null
+++ b/src/Praktikum02/Executor.java
@@ -0,0 +1,11 @@
+package Praktikum02;
+
+public class Executor {
+ public static void printHellowWorld(IHelloWorldWriter writer1 , IHelloWorldWriter writer2 , boolean second) {
+ if (!second) {
+ writer1.writeHelloWorld();
+ }else{
+ writer2.writeHelloWorld();
+ }
+ }
+}
diff --git a/src/Praktikum02/IHelloWorldWriter.java b/src/Praktikum02/IHelloWorldWriter.java
new file mode 100644
index 0000000..e3a103a
--- /dev/null
+++ b/src/Praktikum02/IHelloWorldWriter.java
@@ -0,0 +1,5 @@
+package Praktikum02;
+
+public interface IHelloWorldWriter {
+ void writeHelloWorld();
+}
diff --git a/src/Praktikum02/OutWriter.java b/src/Praktikum02/OutWriter.java
new file mode 100644
index 0000000..fc902d1
--- /dev/null
+++ b/src/Praktikum02/OutWriter.java
@@ -0,0 +1,9 @@
+package Praktikum02;
+
+public class OutWriter implements IHelloWorldWriter{
+
+ @Override
+ public void writeHelloWorld() {
+ System.out.println("Hello World");
+ }
+}
diff --git a/test/Praktikum02/ExecutorTest.java b/test/Praktikum02/ExecutorTest.java
new file mode 100644
index 0000000..88ce8cb
--- /dev/null
+++ b/test/Praktikum02/ExecutorTest.java
@@ -0,0 +1,32 @@
+package Praktikum02;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
+class ExecutorTest {
+
+ @Test
+ void printHelloWorldOnStdOut() {
+ IHelloWorldWriter outMock = mock(OutWriter.class);
+ IHelloWorldWriter errMock = mock(ErrorWriter.class);
+
+ Executor.printHellowWorld(outMock, errMock ,false);
+
+ verify(outMock,times(1)).writeHelloWorld();
+ verify(errMock,times(0)).writeHelloWorld();
+
+ }
+ @Test
+ void printHelloWorldOnErrorOut() {
+ IHelloWorldWriter outMock = mock(OutWriter.class);
+ IHelloWorldWriter errMock = mock(ErrorWriter.class);
+
+ Executor.printHellowWorld(outMock, errMock ,true);
+
+ verify(outMock,times(0)).writeHelloWorld();
+ verify(errMock,times(1)).writeHelloWorld();
+
+ }
+}
\ No newline at end of file