You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/12/27 15:11:00 UTC
(commons-validator) 01/02: Sort members
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-validator.git
commit 75cdd062743f8bf56bada3f0b97195c7d78dd506
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Fri Dec 27 10:00:36 2024 -0500
Sort members
---
.../commons/validator/routines/IBANValidator.java | 48 +++++++++++-----------
.../validator/routines/IBANValidatorTest.java | 32 +++++++--------
2 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/src/main/java/org/apache/commons/validator/routines/IBANValidator.java b/src/main/java/org/apache/commons/validator/routines/IBANValidator.java
index f76636b2..405d22be 100644
--- a/src/main/java/org/apache/commons/validator/routines/IBANValidator.java
+++ b/src/main/java/org/apache/commons/validator/routines/IBANValidator.java
@@ -346,30 +346,6 @@ public class IBANValidator {
return validate(code) == IBANValidatorStatus.VALID;
}
- /**
- * Validate an IBAN Code
- *
- * @param code The value validation is being performed on
- * @return {@link IBANValidatorStatus} for validation
- * @since 1.10.0
- */
- public IBANValidatorStatus validate(String code) {
- final Validator formatValidator = getValidator(code);
- if (formatValidator == null) {
- return IBANValidatorStatus.UNKNOWN_COUNTRY;
- }
-
- if (code.length() != formatValidator.ibanLength) {
- return IBANValidatorStatus.INVALID_LENGTH;
- }
-
- if (!formatValidator.regexValidator.isValid(code)) {
- return IBANValidatorStatus.INVALID_PATTERN;
- }
-
- return IBANCheckDigit.IBAN_CHECK_DIGIT.isValid(code) ? IBANValidatorStatus.VALID : IBANValidatorStatus.INVALID_CHECKSUM;
- }
-
/**
* Installs a validator.
* Will replace any existing entry which has the same countryCode.
@@ -406,4 +382,28 @@ public class IBANValidator {
}
return validatorMap.put(validator.countryCode, validator);
}
+
+ /**
+ * Validate an IBAN Code
+ *
+ * @param code The value validation is being performed on
+ * @return {@link IBANValidatorStatus} for validation
+ * @since 1.10.0
+ */
+ public IBANValidatorStatus validate(String code) {
+ final Validator formatValidator = getValidator(code);
+ if (formatValidator == null) {
+ return IBANValidatorStatus.UNKNOWN_COUNTRY;
+ }
+
+ if (code.length() != formatValidator.ibanLength) {
+ return IBANValidatorStatus.INVALID_LENGTH;
+ }
+
+ if (!formatValidator.regexValidator.isValid(code)) {
+ return IBANValidatorStatus.INVALID_PATTERN;
+ }
+
+ return IBANCheckDigit.IBAN_CHECK_DIGIT.isValid(code) ? IBANValidatorStatus.VALID : IBANValidatorStatus.INVALID_CHECKSUM;
+ }
}
diff --git a/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java
index a748a073..afc1dfba 100644
--- a/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java
+++ b/src/test/java/org/apache/commons/validator/routines/IBANValidatorTest.java
@@ -357,6 +357,16 @@ public class IBANValidatorTest {
return result;
}
+ public static Stream<Arguments> validateIbanStatuses() {
+ return Stream.of(
+ Arguments.of("XX", IBANValidatorStatus.UNKNOWN_COUNTRY),
+ Arguments.of("AD0101", IBANValidatorStatus.INVALID_LENGTH),
+ Arguments.of("AD12XX012030200359100100", IBANValidatorStatus.INVALID_PATTERN),
+ Arguments.of("AD9900012030200359100100", IBANValidatorStatus.INVALID_CHECKSUM),
+ Arguments.of("AD1200012030200359100100", IBANValidatorStatus.VALID)
+ );
+ }
+
@ParameterizedTest
@MethodSource("ibanRegistrySourceExamples")
public void exampleAccountsShouldBeValid(final String countryName, final String example) {
@@ -461,6 +471,12 @@ public class IBANValidatorTest {
assertTrue(VALIDATOR.isValid(iban), iban);
}
+ @ParameterizedTest
+ @MethodSource
+ public void validateIbanStatuses(String iban, IBANValidatorStatus expectedStatus) {
+ assertEquals(expectedStatus, IBANValidator.getInstance().validate(iban));
+ }
+
@ParameterizedTest
@MethodSource("ibanRegistrySource")
public void validatorShouldExistWithProperConfiguration(final String countryName, final String countryCode, final List<String> acountyCode, final int ibanLength, final String structure) throws Exception {
@@ -480,20 +496,4 @@ public class IBANValidatorTest {
}
assertTrue(allPatterns.isEmpty(), "Unrecognized patterns: " + allPatterns + " for" + countryInfo);
}
-
- public static Stream<Arguments> validateIbanStatuses() {
- return Stream.of(
- Arguments.of("XX", IBANValidatorStatus.UNKNOWN_COUNTRY),
- Arguments.of("AD0101", IBANValidatorStatus.INVALID_LENGTH),
- Arguments.of("AD12XX012030200359100100", IBANValidatorStatus.INVALID_PATTERN),
- Arguments.of("AD9900012030200359100100", IBANValidatorStatus.INVALID_CHECKSUM),
- Arguments.of("AD1200012030200359100100", IBANValidatorStatus.VALID)
- );
- }
-
- @ParameterizedTest
- @MethodSource
- public void validateIbanStatuses(String iban, IBANValidatorStatus expectedStatus) {
- assertEquals(expectedStatus, IBANValidator.getInstance().validate(iban));
- }
}