### Question:
BalancerValidator { public void checkName(String name, String input) { checkString(name, input); if (!userName.matcher(input).matches()) { throwError(messages.getInvalidStringFormat(), name, USER_NAME_CHARS, USER_NAME_LENGTH, input); } } BalancerValidator(); void checkId(String input, boolean canBeNull); void checkEmail(String input, boolean canBeNull); void checkCode(String input, boolean canBeNull); void checkGameName(String input, boolean canBeNull); void checkMD5(String input, boolean canBeNull); void checkDay(String input); void checkName(String name, String input); void checkString(String name, String input); void checkNull(String name, String input); Player checkPlayerCode(String email, String code); String checkPhoneNumber(String phone); Player checkPlayerByEmailAndPhone(String email, String phone); void all(Runnable... validators); String phoneNormalize(String phone); void checkEmailOrId(String email, boolean canBeNull); void checkNotRegisteredEmail(String email); void checkNotRegisteredPhone(String phone); Player checkPlayerLogin(String email, String code, String password, boolean ignorePass); Player checkPlayerByEmail(String email, boolean isWithPassword); void checkApproved(Player player); void checkNotApproved(Player player); void checkVerificationCode(Player player, VerificationType type, String code); Player checkPlayerByPhone(String phone); static final String PHONE_PLUS_PREFIX; static final String PHONE_COUNTRY_CODE_PREFIX; static final String PHONE_FULL_COUNTRY_CODE_PREFIX; static final boolean CAN_BE_NULL; static final boolean CANT_BE_NULL; static final String EMAIL; static final String GAME; static final String USER_NAME_CHARS; static final String USER_NAME_LENGTH; static final String USER_NAME; static final String CODE; static final String MD5; static final String ID; static final String DAY; static final String PHONE_NUMBER; }### Answer:
@Test public void testCheckName() { when(messages.getInvalidStringFormat()).thenReturn( "Використано неприпустимі символи у %s (допустимі '%s') та/або перевищення " + "максимальної довжини в %s символв: '%s'"); when(messages.getInvalidString()).thenReturn( "Очікується не порожній рядок %s: '%s'"); String expected = "Використано неприпустимі символи у field (допустимі " + "'[a-zA-Zа-яА-Я'іІєЄґҐїЇ]') та/або перевищення " + "максимальної довжини в 50 символв: "; shouldError("Очікується не порожній рядок field: ''", () -> validator.checkName("field", "")); shouldError("Очікується не порожній рядок field: 'null'", () -> validator.checkName("field", null)); shouldError(expected + "'==+Oleksandr+=='", () -> validator.checkName("field", "==+Oleksandr+==")); shouldError(expected + "'O l e k s a n d r'", () -> validator.checkName("field", "O l e k s a n d r")); shouldError(expected + "'!!!'", () -> validator.checkName("field", "!!!")); shouldError(expected + "'ββ ζζ'", () -> validator.checkName("field", "ββ ζζ")); shouldError(expected + "'123456789012345678901234567890123456789012345678901'", () -> validator.checkName("field", "123456789012345678901234567890123456789012345678901")); shouldOk(() -> validator.checkName("field", "Oleksandr")); }