JUnit aufgeteillt

main
Andreas Wurst 2025-05-27 15:01:49 +02:00
parent 40b4ac2c9b
commit cba0ba6924
2 changed files with 46 additions and 1 deletions

View File

@ -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"));

View File

@ -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"));
}
}