|
试题2、根据题目描述,编写Java代码完成测试。 本题分值:20分 考核时间:30分钟 考核方式:实操 考核内容:现AccountCheck类中有check函数,用来验证账号是否正确。代码如下: - public class AccountCheck {
- public boolean check(String account) {
- if (account.isEmpty()) {
- return false;
- }
- int length = account.length();
- if (length < 6 || length >= 12) {
- return false;
- }
- if (account.matches("[a-zA-Z][a-zA-Z_0-9]*")) {
- return true;
- }
- return false;
- }
- }
复制代码- import org.junit.Test;
- import static org.junit.Assert.*;
- public class AccountCheckTest {
- AccountCheck ac = new AccountCheck();
- //账号条件:不能为空,长度在6到12位之间(不包括12位),结尾可以是大小写字母,下划线或者数字,而开头必须是大小写字母。
- //测试符合条件的账号
- @Test
- public void checkValid(){
- //边界条件,接近账号最短要求
- //小写开头
- assertTrue(ac.check("abcdef"));//7位账号
- assertTrue(ac.check("abcde1"));//7位账号,数字结尾
- assertTrue(ac.check("abcdeF"));//7位账号,大写字母结尾
- assertTrue(ac.check("abcde_"));//7位账号,下划线结尾
- //大写开头
- assertTrue(ac.check("Abcdef"));//7位账号
- assertTrue(ac.check("Abcde1"));//7位账号,数字结尾
- assertTrue(ac.check("AbcdeF"));//7位账号,大写字母结尾
- assertTrue(ac.check("Abcde_"));//7位账号,大写字母结尾
- //边界条件,接近账号最长要求
- //小写开头
- assertTrue(ac.check("abctyuidef"));//11位账号
- assertTrue(ac.check("abctyuide1"));//11位账号,数字结尾
- assertTrue(ac.check("abctyuideF"));//11位账号,大写字母结尾
- assertTrue(ac.check("abctyuide_"));//11位账号,下划线结尾
- //大写开头
- assertTrue(ac.check("Abctyuidef"));//11位账号
- assertTrue(ac.check("Abctyuide1"));//11位账号,数字结尾
- assertTrue(ac.check("AbctyuideF"));//11位账号,大写字母结尾
- assertTrue(ac.check("Abctyuide_"));//11位账号,下划线结尾
- }
- //测试不符合条件的空账号
- @Test
- public void checkEmpty() {
- assertFalse(ac.check(""));
- }
- //测试长于限制的账号
- @Test
- public void checkShort(){
- //小写开头
- assertFalse(ac.check("abcdefghijkl"));
- assertFalse(ac.check("abcdefghijk1"));//数字结尾
- assertFalse(ac.check("abcdefghijk_"));//下划线结尾
- assertFalse(ac.check("abcdefghijkL"));//大写字母结尾
- //大写开头
- assertFalse(ac.check("Abcdefghijkl"));
- assertFalse(ac.check("Abcdefghijk1"));//数字结尾
- assertFalse(ac.check("Abcdefghijk_"));//下划线结尾
- assertFalse(ac.check("AbcdefghijkL"));//大写字母结尾
- }
- //测试短于限制的账号
- @Test
- public void checkLong(){
- //小写开头
- assertFalse(ac.check("a"));
- assertFalse(ac.check("ab"));
- assertFalse(ac.check("ab1"));//数字结尾
- assertFalse(ac.check("abc_"));//下划线结尾
- assertFalse(ac.check("abcdE"));//大写字母结尾
- //大写开头
- assertFalse(ac.check("A"));
- assertFalse(ac.check("Ab"));
- assertFalse(ac.check("Ab1"));//数字结尾
- assertFalse(ac.check("Abcd"));//下划线结尾
- assertFalse(ac.check("AbcdE"));//大写字母结尾
- //更多情况的的大写结尾
- assertFalse(ac.check("A"));
- assertFalse(ac.check("aB"));
- assertFalse(ac.check("abC"));
- assertFalse(ac.check("abcD"));
- assertFalse(ac.check("abcdE"));
- //更多情况的下划线结尾
- assertFalse(ac.check("a_"));
- assertFalse(ac.check("ab_"));
- assertFalse(ac.check("abc_"));
- assertFalse(ac.check("abcd_"));
- }
- }
复制代码
|