/** * Test isValid() for invalid values. */ public void testIsValidFalse() { if (log.isDebugEnabled()) { log.debug("testIsValidFalse() for " + routine.getClass().getName()); } // test invalid code values for (int i = 0; i < invalid.length; i++) { if (log.isDebugEnabled()) { log.debug(" " + i + " Testing Invalid Code=[" + invalid[i] + "]"); } assertFalse("invalid[" + i +"]: " + invalid[i], routine.isValid(invalid[i])); } // test invalid check digit values String[] invalidCheckDigits = createInvalidCodes(valid); for (int i = 0; i < invalidCheckDigits.length; i++) { if (log.isDebugEnabled()) { log.debug(" " + i + " Testing Invalid Check Digit, Code=[" + invalidCheckDigits[i] + "]"); } assertFalse("invalid check digit[" + i +"]: " + invalidCheckDigits[i], routine.isValid(invalidCheckDigits[i])); } }
/** * Test zero sum */ public void testZeroSum() { assertFalse("isValid() Zero Sum", routine.isValid(zeroSum)); try { routine.calculate(zeroSum); fail("Zero Sum - expected exception"); } catch (Exception e) { assertEquals("isValid() Zero Sum", "Invalid code, sum is zero", e.getMessage()); } }
/** * Test missing code */ public void testMissingCode() { // isValid() null assertFalse("isValid() Null", routine.isValid(null)); // isValid() zero length assertFalse("isValid() Zero Length", routine.isValid("")); // isValid() length 1 // Don't use 0, because that passes for Verhoef (not sure why yet) assertFalse("isValid() Length 1", routine.isValid("9")); // calculate() null try { routine.calculate(null); fail("calculate() Null - expected exception"); } catch (Exception e) { assertEquals("calculate() Null", missingMessage, e.getMessage()); } // calculate() zero length try { routine.calculate(""); fail("calculate() Zero Length - expected exception"); } catch (Exception e) { assertEquals("calculate() Zero Length", missingMessage, e.getMessage()); } }