import org.junit.jupiter.api.Test; // import static org.junit.Assert.assertNull; import static org.junit.jupiter.api.Assertions.*; public class Test_Passwort_Check { @Test public void testCheckLaenge() { // Länge ist zu kurz assertFalse(Passwort_Check.checkLaenge("KurzesPasswort123!")); assertFalse(Passwort_Check.checkLaenge("Hello Wolrd")); assertFalse(Passwort_Check.checkLaenge("qwertzuiopasdfghjkl")); assertFalse(Passwort_Check.checkLaenge("1234567890qwertzuio")); // richtige Länge assertTrue(Passwort_Check.checkLaenge("LangesPasswortMit123!@#")); } @Test public void testCheckKleinBuchstaben() { // zu wenig Kleinbuchstaben assertFalse(Passwort_Check.checkKleinBuchstaben("ABCDEF123!@#")); // keine Kleinbuchstaben assertFalse(Passwort_Check.checkKleinBuchstaben("aB123")); // nur 1 Kleinbuchstaben assertFalse(Passwort_Check.checkKleinBuchstaben("HELLO!WorLD!ICHLIEBEJAVA")); // nur 2 Kleinbuchstaben // genügend Kleinbuchstaben assertTrue(Passwort_Check.checkKleinBuchstaben("abc DEF 123!@#")); } @Test public void testCheckGrossBuchstaben() { // zu wenig Großbuchstaben assertFalse(Passwort_Check.checkGrossBuchstaben("abcdef123!@#")); // keine Grossbuchstaben assertFalse(Passwort_Check.checkGrossBuchstaben("aB123")); // nur 1 Grossbuchstaben assertFalse(Passwort_Check.checkGrossBuchstaben("aAB123")); // nur 2 Grossbuchstaben // mind. 3 Großbuchstaben assertTrue(Passwort_Check.checkGrossBuchstaben("ABCdef123!@#")); assertTrue(Passwort_Check.checkKleinBuchstaben("HelloWorldichliebejava")); } @Test public void testCheckZiffer() { // zu wenig Ziffern assertFalse(Passwort_Check.checkZiffer("abcdefABC!@#")); // keine Ziffern assertFalse(Passwort_Check.checkZiffer("aB1")); // nur 1 Ziffer assertFalse(Passwort_Check.checkZiffer("a2 B1")); // nur 2 Ziffer // mid. 3 Ziffern assertTrue(Passwort_Check.checkZiffer("abcABC123!@#")); // 3 Ziffern } @Test public void testCheckSonderZeichen() { // zu wenig Sonderzeichen assertFalse(Passwort_Check.checkSonderZeichen("abcABC123")); // keine Sonderzeichen assertFalse(Passwort_Check.checkSonderZeichen("abcABC123!")); // nur 1 Sonderzeichen assertFalse(Passwort_Check.checkSonderZeichen("abcABC123!@")); // nur 2 Sonderzeichen // mind. 3 Sonderzeichen assertTrue(Passwort_Check.checkSonderZeichen("abcABC123!@#")); // 3 Sonderzeichen // Überprüfung der speziellen Sonderzeichen assertTrue(Passwort_Check.checkSonderZeichen("a b c d")); // Leerzeichen als Sonderzeichen assertTrue(Passwort_Check.checkSonderZeichen("a b c d")); assertFalse(Passwort_Check.checkSonderZeichen("\t\t\t")); // Tab als Sonderzeichen assertFalse(Passwort_Check.checkSonderZeichen("\r\r\r")); // Carriage Return als Sonderzeichen assertFalse(Passwort_Check.checkSonderZeichen("\n\n\n")); // Line Feed als Sonderzeichen // Prüfe einzeln alle ASCII-Sonderzeichen (33–47, 58–64, 91–96, 123–126) String asciiSonderzeichen = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"; for (int i = 0; i < asciiSonderzeichen.length(); i++) { String c = "" + asciiSonderzeichen.charAt(i); assertFalse(Passwort_Check.checkSonderZeichen("abcABC123" + c + c)); // nur 2 Sonderzeichen assertTrue(Passwort_Check.checkSonderZeichen("abcABC123" + c + c + c)); // 3 identische Sonderzeichen } } }