@Test public void testCard() throws Throwable { Track1 t1 = Track1.builder() .track("%B4111111111111111^FAT ALBERT ^201112345671234567890?").build(); Track2 t2 = Track2.builder() .track("4111111111111111=201112345612345678901").build(); Card c = Card.builder() .pan("4111111111111111") .exp("2011") .cvv("123") .cvv2("4567") .serviceCode("123") .track1(t1) .track2(t2) .build(); assertEquals("not expired", false, c.isExpired(new Date())); }
@Test public void testInvalidPAN() throws Throwable { try { Track1 t1 = Track1.builder() .track("%B4111111111111112^FAT ALBERT ^201112345671234567890?").build(); Track2 t2 = Track2.builder() .track("4111111111111112=201112345612345678901").build(); Card c = Card.builder() .pan("4111111111111112") .exp("2011") .cvv("123") .cvv2("4567") .serviceCode("201") .track1(t1) .track2(t2) .build(); fail ("InvalidCardException was not raised"); } catch (InvalidCardException ignored) { } }
public static Builder builder() { return new Builder(); }
@Test public void testTrack2() throws Throwable { Track2 t2 = Track2.builder() .track("4111111111111111=201112345612345678901").build(); assertEquals("pan", "4111111111111111", t2.getPan()); assertEquals("exp", "2011", t2.getExp()); assertEquals("serviceCode", "123", t2.getServiceCode()); assertEquals("cvv", "4561", t2.getCvv()); assertEquals("discretionaryData", "2345678901", t2.getDiscretionaryData()); }