commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (VALIDATOR-344) AbstractCheckDigit class does not fully test invalid strings
Date Tue, 30 Dec 2014 14:38:13 GMT

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

Sebb updated VALIDATOR-344:
---------------------------
    Attachment: Validator-344-1.patch

Fix AbstractCheckDigitTest so it tests check letters as well as check digits when converting
valid codes to invalid codes.

> AbstractCheckDigit class does not fully test invalid strings
> ------------------------------------------------------------
>
>                 Key: VALIDATOR-344
>                 URL: https://issues.apache.org/jira/browse/VALIDATOR-344
>             Project: Commons Validator
>          Issue Type: Bug
>            Reporter: Sebb
>         Attachments: Validator-344-1.patch
>
>
> The AbstractCheckDigit class does not fully test invalid check digits.
> There are several aspects to this:
> 1. the createInvalidCodes method only checks for invalid digits - it does not try alphabetics,
for example
> 2. the "invalid" String array entries are passed unchanged to both the calculate() method
- which expects a string without the check digit - and to the isValid() method, which expects
the string to contain the check digit. As a result, only strings which are syntactically invalid
will generate an Exception and thereby pass the test.
> 3. testMissingCode does not call isInvalid() with a string length of 1. I assume the
empty string should not have a check digit.
> Case 1) can be (partially) solved by including other printable characters in the generated
output.
> Case 2) can (I think) be solved by assuming that the string always includes the check
character, and stripping this off before passing it to calculate(). If the method does not
throw an Exception, then the test must check that the calculated character does not agree.
It may not be possible to check all types of invalid input this way, but at least it should
be more robust than the current test case. Additional test cases can be added to separately
test calculate() and isValid() if it proves necessary.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message