Skip to content

Commit

Permalink
add to Sign up Nickname Pattern into main
Browse files Browse the repository at this point in the history
  • Loading branch information
keede7 authored Mar 24, 2024
2 parents 6b46351 + 5258b39 commit 1618bb2
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/main/java/io/keede7/pattern/model/SignupPattern.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ public final class SignupPattern extends BaseRegexUtils {
range -> Pattern.compile(combineWithLength(SignupPatternExpression.PASSWORD, range));
public static final Function<int[], Pattern> USER_ID_PATTERN_FUNCTION =
range -> Pattern.compile(combineWithLength(SignupPatternExpression.USER_ID, range));
public static final Function<int[], Pattern> NICKNAME_PATTERN_FUNCTION =
range -> Pattern.compile(combineWithLength(SignupPatternExpression.NICKNAME, range));

private static final int MIN_LENGTH = 2;

Expand All @@ -35,6 +37,7 @@ private static final class SignupPatternExpression {
public static final String USER_ID = "[a-zA-Z0-9]";
public static final String PHONE = "01[016789]-?([0-9]{3,4})-?([0-9]{4})";
public static final String PASSWORD = "(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!@#$%^&*()_+])[A-Za-z0-9!@#$%^&*()_+]";
public static final String NICKNAME = "[a-zA-Z0-9 ]";
}

}
11 changes: 11 additions & 0 deletions src/main/java/io/keede7/util/SignupRegexUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,15 @@ public static boolean checkPassword(String input, int... range) {
return isCheck(pattern, input);
}

/**
* This is the function to change your nickname. Users can limit the length they wish to provide.
* @param input
* @param range
* @return
*/
public static boolean checkNickname(String input, int... range) {
Pattern pattern = NICKNAME_PATTERN_FUNCTION.apply(range);
return isCheck(pattern, input);
}

}
66 changes: 66 additions & 0 deletions src/test/java/io/keede7/pattern/SignupPatternTestModelTests.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.keede7.pattern;

import io.keede7.pattern.model.SignupPatternTestModel;
import io.keede7.util.config.TestValidator;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -250,4 +251,69 @@ void fail() {
);
}
}

@Nested
class NicknamePattern {

final Pattern nicknamePattern = NICKNAME_PATTERN_FUNCTION.apply(new int[]{4, 12});

@Test
void success() {
final String model1 = "test ";
final String model2 = "test test";
final String model3 = "209323";
final String model4 = "239test";
final String model5 = " 239 test ";

assertAll(
() -> assertTrue(
isCheck(nicknamePattern, model1.trim())
),
() -> assertTrue(
isCheck(nicknamePattern, model2.trim())
),
() -> assertTrue(
isCheck(nicknamePattern, model3.trim())
),
() -> assertTrue(
isCheck(nicknamePattern, model4.trim())
),
() -> assertTrue(
isCheck(nicknamePattern, model5.trim())
)
);
}

@Test
void fail() {
final String model1 = "test#@";
final String model2 = "4324##";
final String model3 = "%#$@%#$";
final String model4 = "232";
final String model5 = " 232 ";
final String model6 = "3203929310222";

assertAll(
() -> assertFalse(
isCheck(nicknamePattern, model1.trim())
),
() -> assertFalse(
isCheck(nicknamePattern, model2.trim())
),
() -> assertFalse(
isCheck(nicknamePattern, model3.trim())
),
() -> assertFalse(
isCheck(nicknamePattern, model4.trim())
),
() -> assertFalse(
isCheck(nicknamePattern, model5.trim())
),
() -> assertFalse(
isCheck(nicknamePattern, model6.trim())
)
);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ public final class SignupPatternTestModel extends TestBaseRegexUtils {
range -> Pattern.compile(combineWithLength(SignupPatternExpression.PASSWORD, range));
public static final Function<int[], Pattern> USER_ID_PATTERN_FUNCTION =
range -> Pattern.compile(combineWithLength(SignupPatternExpression.USER_ID, range));
public static final Function<int[], Pattern> NICKNAME_PATTERN_FUNCTION =
range -> Pattern.compile(combineWithLength(SignupPatternExpression.NICKNAME, range));

private static final int MIN_LENGTH = 2;

Expand All @@ -35,6 +37,7 @@ private static final class SignupPatternExpression {
public static final String USER_ID = "[a-zA-Z0-9]";
public static final String PHONE = "01[016789]-?([0-9]{3,4})-?([0-9]{4})";
public static final String PASSWORD = "(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!@#$%^&*()_+])[A-Za-z0-9!@#$%^&*()_+]";
public static final String NICKNAME = "[a-zA-Z0-9 ]";
}

}

0 comments on commit 1618bb2

Please sign in to comment.