Verbesserung der JUnit durch erweiterung von Konsolen Überprüfung
parent
4c161e7190
commit
a52d38738c
|
|
@ -2,6 +2,8 @@ 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 {
|
||||
@Test
|
||||
public void testPasswortZuKurz() {
|
||||
|
|
@ -11,12 +13,92 @@ public class Test_Passwort_Check {
|
|||
|
||||
}
|
||||
@Test
|
||||
public void testPasswortKLeinBuchstaben() {
|
||||
public void testPasswortKleinBuchstaben() {
|
||||
assertFalse(Passwort_Check.checkKleinBuchstaben("HELLO!WorLD!ICHLIEBEJAVA"));
|
||||
assertFalse(Passwort_Check.checkKleinBuchstaben("QWERTZUoPlYXCVBNMLKJHGFDS"));
|
||||
assertFalse(Passwort_Check.checkKleinBuchstaben("1234567890QWERTZUIOP"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testPasswortGrossBuchstaben(){
|
||||
assertFalse(Passwort_Check.checkKleinBuchstaben("HelloWorldichliebejava"));
|
||||
}
|
||||
}
|
||||
public class Passwort_CheckTest {
|
||||
|
||||
@Test
|
||||
public void testCheckLaenge() {
|
||||
assertFalse(Passwort_Check.checkLaenge("KurzesPasswort123!")); // < 20
|
||||
assertTrue(Passwort_Check.checkLaenge("LangesPasswortMit123!@#")); // >= 20
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckKleinBuchstaben() {
|
||||
assertFalse(Passwort_Check.checkKleinBuchstaben("ABCDEF123!@#")); // keine Kleinbuchstaben
|
||||
assertFalse(Passwort_Check.checkKleinBuchstaben("aB123")); // nur 1 Kleinbuchstabe
|
||||
assertTrue(Passwort_Check.checkKleinBuchstaben("abcDEF123!@#")); // 3 Kleinbuchstaben
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckGrossBuchstaben() {
|
||||
assertFalse(Passwort_Check.checkGrossBuchstaben("abcdef123!@#")); // keine Großbuchstaben
|
||||
assertFalse(Passwort_Check.checkGrossBuchstaben("aB123")); // nur 1 Großbuchstabe
|
||||
assertTrue(Passwort_Check.checkGrossBuchstaben("ABCdef123!@#")); // 3 Großbuchstaben
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckZiffer() {
|
||||
assertFalse(Passwort_Check.checkZiffer("abcdefABC!@#")); // keine Ziffern
|
||||
assertFalse(Passwort_Check.checkZiffer("aB1")); // nur 1 Ziffer
|
||||
assertTrue(Passwort_Check.checkZiffer("abcABC123!@#")); // 3 Ziffern
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckSonderZeichen() {
|
||||
assertFalse(Passwort_Check.checkSonderZeichen("abcABC123")); // keine Sonderzeichen
|
||||
assertFalse(Passwort_Check.checkSonderZeichen("abcABC123!@")); // nur 2 Sonderzeichen
|
||||
assertTrue(Passwort_Check.checkSonderZeichen("abcABC123!@#")); // 3 Sonderzeichen
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class Passwort_CheckIntegrationTest {
|
||||
|
||||
@Test
|
||||
public void testMainMitUnsicheremUndSicheremPasswort() {
|
||||
// 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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue