commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedikt Ritter (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (VALIDATOR-336) CUSIPCheckDigit thinks invalid CUSIP is valid
Date Thu, 01 Jan 2015 15:56:13 GMT

     [ https://issues.apache.org/jira/browse/VALIDATOR-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Benedikt Ritter resolved VALIDATOR-336.
---------------------------------------
    Resolution: Fixed

{code}
$ svn ci -m "VALIDATOR-336: CUSIPCheckDigit thinks invalid CUSIP is valid. Patch implemented
by Sebb. Thanks to Josh Meyer and Peter Lindberg who also contributed to the fix by providing
unit tests and proposing fixes."
Sending        RELEASE-NOTES.txt
Sending        src/changes/changes.xml
Sending        src/main/java/org/apache/commons/validator/routines/checkdigit/CUSIPCheckDigit.java
Sending        src/test/java/org/apache/commons/validator/routines/checkdigit/CUSIPCheckDigitTest.java
Transmitting file data ....
Committed revision 1648862.
{code}

Thanks to all for helping to get this fixed!

> CUSIPCheckDigit thinks invalid CUSIP is valid
> ---------------------------------------------
>
>                 Key: VALIDATOR-336
>                 URL: https://issues.apache.org/jira/browse/VALIDATOR-336
>             Project: Commons Validator
>          Issue Type: Bug
>          Components: Routines
>    Affects Versions: 1.4.0 Release
>            Reporter: Josh Meyer
>            Assignee: Benedikt Ritter
>             Fix For: 1.4.1
>
>         Attachments: CUSIPCheckDigit.java.patch, CusipValidatorTest.java, CusipValidatorTest_v2.java,
VALIDATOR-336.patch, cusip.patch
>
>
> 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.3.4#6332)

Mime
View raw message