import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class StrongPasswordTest {

    @Test
    public void checkLen() {
        assertFalse(StrongPassword.checkLen("1234567"));
        assertTrue(StrongPassword.checkLen("12345678"));
    }

    @Test
    public void checkUppercase() {
        assertFalse(StrongPassword.checkUppercase("abcdefgh"));
        assertTrue(StrongPassword.checkUppercase("abcDefgh"));
    }

    @Test
    public void checkLowercase() {
        assertFalse(StrongPassword.checkLowercase("ABCDEFGH"));
        assertTrue(StrongPassword.checkLowercase("abcDEFGH"));
    }

    @Test
    public void checkNumber() {
        assertFalse(StrongPassword.checkNumber("abcdefgh"));
        assertTrue(StrongPassword.checkNumber("abc12345"));
    }

    @Test
    public void checkSpecialChar() {
        assertFalse(StrongPassword.checkSpecialChar("abcdefgh"));
        assertTrue(StrongPassword.checkSpecialChar("abc!@#$%"));
    }

    @Test
    public void isStrong() {
        assertFalse(StrongPassword.isStrong("1234567"));
        assertFalse(StrongPassword.isStrong("abcdefgh"));
        assertFalse(StrongPassword.isStrong("abc12345"));
        assertFalse(StrongPassword.isStrong("abc!@#$%"));
        assertTrue(StrongPassword.isStrong("abcD123!"));
    }
}