import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import java.util.regex.Pattern; import static org.junit.jupiter.api.Assertions.*; class PasswordGeneratorTest { static PasswordGenerator passwordGenerator; @BeforeAll static void init() { passwordGenerator = new PasswordGenerator(); } @Test void testGeneratedPasswordLength() { assertNotSame("", passwordGenerator.generateRandomPassword()); assertEquals(passwordGenerator.generateRandomPassword().length(), passwordGenerator.getLength()); passwordGenerator.setLength(33); assertEquals(passwordGenerator.getLength(), 33); assertEquals(passwordGenerator.generateRandomPassword().length(), passwordGenerator.getLength()); } @Test void testPasswordLowercaseRequirement() { assertTrue(Pattern.compile("^(?=.*[a-z]).+$").matcher(passwordGenerator.generateRandomPassword()).matches()); } }