|
|
|
试题2、根据题目描述,编写Java代码完成测试。 本题分值:20分 考核时间:30分钟 考核方式:实操 考核内容:现PasswordCheck类中有check函数,用来验证密码的有效性和其强弱。代码如下: - public class PasswordCheck {
- public String check(String password) {
- if (password.isEmpty()) {
- return "错误";
- }
- int length = password.length();
- if (length <= 6) {
- return "错误";
- }
- if (password.matches("[0-9a-z]+")) {
- return "弱密码";
- } else {
- return "强密码";
- }
- }
- }
复制代码- import org.junit.Test;
- import static org.junit.Assert.*;
- public class PasswordCheckTest {
- private final PasswordCheck passwordCheck = new PasswordCheck();
- @Test
- public void testBoundary() {
- assertEquals("错误", passwordCheck.check("abcde"));
- assertEquals("错误", passwordCheck.check("abcdef"));
- assertEquals("弱密码", passwordCheck.check("abcdefg"));
- }
- @Test
- public void testEmpty() {
- assertEquals("错误", passwordCheck.check(""));
- }
- @Test
- public void testShort() {
- assertEquals("错误",passwordCheck.check("a"));
- assertEquals("错误",passwordCheck.check("ab"));
- assertEquals("错误",passwordCheck.check("abc"));
- assertEquals("错误",passwordCheck.check("abcd"));
- assertEquals("错误",passwordCheck.check("abcde"));
- assertEquals("错误",passwordCheck.check("abcdef"));
- }
- @Test
- public void testWeak() {
- assertEquals("弱密码", passwordCheck.check("1234567"));
- assertEquals("弱密码", passwordCheck.check("abcdefgh"));
- assertEquals("弱密码", passwordCheck.check("1234567890"));
- assertEquals("弱密码", passwordCheck.check("abcdefg"));
- assertEquals("弱密码", passwordCheck.check("a1b2c3d"));
- assertEquals("弱密码", passwordCheck.check("test123"));
- }
- @Test
- public void testStrong(){
- assertEquals("强密码", passwordCheck.check("Abcdefg"));
- assertEquals("强密码", passwordCheck.check("ABCDEFG"));
- assertEquals("强密码", passwordCheck.check("Test123"));
- assertEquals("强密码", passwordCheck.check("Password"));
- assertEquals("强密码", passwordCheck.check("abc_123"));
- assertEquals("强密码", passwordCheck.check("abc@123"));
- assertEquals("强密码", passwordCheck.check("test!@#"));
- assertEquals("强密码", passwordCheck.check("pass_word"));
- assertEquals("强密码", passwordCheck.check("1234$%^"));
- }
- }
复制代码
|
|