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