public static boolean isValidCRC (String p) { int i, crc; int odd = p.length() % 2; for (i=crc=0; i<p.length(); i++) { char c = p.charAt(i); if (!Character.isDigit (c)) return false; c = (char) (c - '0'); if (i % 2 == odd) crc+= c*2 >= 10 ? c*2 -9 : c*2; else crc+=c; } return crc % 10 == 0; }
@Test public void testIsValidCRC2() throws Throwable { boolean result = CardHolder.isValidCRC("0"); assertTrue("result", result); }
@Test public void testIsValidCRC6() throws Throwable { boolean result = CardHolder.isValidCRC("41CharactersXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); assertFalse("result", result); }
@Test public void testIsValidCRC3() throws Throwable { boolean result = CardHolder.isValidCRC(""); assertTrue("result", result); }
@Test public void testIsValidCRC5() throws Throwable { boolean result = CardHolder.isValidCRC("testCardHolderp"); assertFalse("result", result); }
@Test public void testIsValidCRC1() throws Throwable { boolean result = CardHolder.isValidCRC("42"); assertTrue("result", result); }
@Test public void testIsValidCRC4() throws Throwable { boolean result = CardHolder.isValidCRC("1"); assertFalse("result", result); }
@Test public void testIsValidCRC7() throws Throwable { boolean result = CardHolder.isValidCRC("2C"); assertFalse("result", result); }
@Test public void testIsValidCRCThrowsNullPointerException1() throws Throwable { try { CardHolder.isValidCRC(null); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); } }
@Test public void testIsValidCRC() throws Throwable { boolean result = new CardHolder("k'X9|DH:!;uQ<kG8!P?- ,\"Y!u`r;jB^)>3AbS9,").isValidCRC(); assertFalse("result", result); }
@Test public void testIsValidCRCThrowsNullPointerException() throws Throwable { try { new CardHolder().isValidCRC(); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); } }