uebung4/Test_Passwort_Check.java

87 lines
4.0 KiB
Java
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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 (3347, 5864, 9196, 123126)
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
}
}