String pan = card.getPan(); if (pan != null) { if (card.getTrack1() != null && !pan.equals(card.getTrack1().getPan())) throw new InvalidCardException ("track1 PAN mismatch"); if (card.getTrack2() != null && !pan.equals(card.getTrack2().getPan()))
@Test public void testTrack1() throws Throwable { Track1 t1 = Track1.builder() .track("%B4111111111111111^FAT ALBERT ^201112345671234567890?").build(); assertEquals("pan", "4111111111111111", t1.getPan()); assertEquals("exp", "2011", t1.getExp()); assertEquals("serviceCode", "123", t1.getServiceCode()); assertEquals("cvv", "4567", t1.getCvv()); assertEquals("discretionaryData", "1234567890", t1.getDiscretionaryData()); }