Josh Meyer created VALIDATOR-336:
------------------------------------
Summary: CUSIPCheckDigit Thinks Invalid CUSIP is Valid
Key: VALIDATOR-336
URL: https://issues.apache.org/jira/browse/VALIDATOR-336
Project: Commons Validator
Issue Type: Bug
Reporter: Josh Meyer
Attachments: CusipValidatorTest.java
When testing if a specific CUSIP is valid using
org.apache.commons.validator.routines.checkdigit.CUSIPCheckDigit.CUSIP_CHECK_DIGIT.isValid,
a call to this returns true when it should return false. A specific example is
with the following invalid CUSIP: DUS0421CW.
What seems to be happening is when toInt is called on W it turns it to an int
value and then sends it to weightedValue. This is fine for the first 8
characters of a CUSIP, but not the check digit. The expected result should be
to return false because the check digit is a letter (on a CUSIP a check digit
must be 0-9).
With the current implementation, I believe each CUSIP can have up to 4 valid
check digits.
A test is attached.
--
This message was sent by Atlassian JIRA
(v6.2#6252)