87 lines
4.0 KiB
Java
87 lines
4.0 KiB
Java
|
||
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
|
||
|
||
// 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
|
||
}
|
||
|
||
String steuerzeichen = "";
|
||
for (int i = 0; i <= 31; i++) {
|
||
steuerzeichen += (char) i;
|
||
}
|
||
steuerzeichen += (char) 127;
|
||
for (int i = 0; i < steuerzeichen.length(); i++) {
|
||
String c = "" + steuerzeichen.charAt(i);
|
||
System.out.println(c);
|
||
assertFalse(Passwort_Check.checkSonderZeichen("abcABC123" + c + c)); // nur 2 Sonderzeichen
|
||
assertFalse(Passwort_Check.checkSonderZeichen("abcABC123" + c + c + c)); // 3 identische Sonderzeichen
|
||
}
|
||
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
|
||
}
|
||
}
|