diff --git a/Test_Passwort_Check.java b/Test_Passwort_Check_Gesamt.java similarity index 98% rename from Test_Passwort_Check.java rename to Test_Passwort_Check_Gesamt.java index cc08c70..f13d1d1 100644 --- a/Test_Passwort_Check.java +++ b/Test_Passwort_Check_Gesamt.java @@ -4,7 +4,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.io.*; -public class Test_Passwort_Check { +public class Test_Passwort_Check_Gesamt { @Test public void testPasswortZuKurz() { assertFalse(Passwort_Check.checkLaenge("Hello Wolrd")); diff --git a/Test_Passwort_Check_Konsole.java b/Test_Passwort_Check_Konsole.java new file mode 100644 index 0000000..d182e16 --- /dev/null +++ b/Test_Passwort_Check_Konsole.java @@ -0,0 +1,45 @@ +import org.junit.jupiter.api.Test; +// import static org.junit.Assert.assertNull; +import static org.junit.jupiter.api.Assertions.*; + +import java.io.*; + +public class Test_Passwort_Check_Konsole { + + @Test + public void testMain() { + // Simulierte Benutzereingaben (1. Versuch unsicher, 2. Versuch sicher) + String simulatedInput = String.join("\n", + "kurz123", // zu kurz + "PasswortMit2BUCHSTABEN", // kein Sonderzeichen, keine Ziffern + "AbcAbcAbc123!@#", // zu kurz + "abcABC123!@#abcABC123!@#", // gültiges Passwort + "" + ); + + // Eingabe simulieren + ByteArrayInputStream in = new ByteArrayInputStream(simulatedInput.getBytes()); + System.setIn(in); + + // Ausgabe abfangen + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + PrintStream originalOut = System.out; + System.setOut(new PrintStream(outContent)); + + // Main-Methode ausführen + Passwort_Check.main(new String[]{}); + + // Wiederherstellen der Originalstreams + System.setOut(originalOut); + System.setIn(System.in); + + String output = outContent.toString(); + + // Wichtige Ausgaben überprüfen + assertTrue(output.contains("Passwort ist zu kurz!")); + assertTrue(output.contains("Es fehlen Ziffern!") || output.contains("Es fehlen Sonderzeichen!")); + assertTrue(output.contains("Passwort ist sicher.")); + assertTrue(output.contains("...und Tschüss")); + } +} +