boolean validateExpiryDate(Calendar now) { if (!validateExpMonth()) { return false; } if (!validateExpYear(now)) { return false; } return !ModelUtils.hasMonthPassed(expYear, expMonth, now); }
@Test public void shouldFailValidateExpiryDateIfZeroYear() { Card card = new Card(null, 12, 0, null); assertTrue(card.validateExpMonth()); assertFalse(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfNullMonth() { Card card = new Card(null, null, YEAR_IN_FUTURE, null); assertFalse(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldPassValidateExpiryDateForDecemberOfThisYear() { Card card = new Card(null, 12, 1997, null); assertTrue(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertTrue(card.validateExpiryDate(calendar)); }
@Test public void shouldPassValidateExpiryDateIfCurrentMonth() { Card card = new Card(null, 8, 1997, null); assertTrue(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertTrue(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfZeroMonth() { Card card = new Card(null, 0, YEAR_IN_FUTURE, null); assertFalse(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfNegativeMonth() { Card card = new Card(null, -1, YEAR_IN_FUTURE, null); assertFalse(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfMonthToLarge() { Card card = new Card(null, 13, YEAR_IN_FUTURE, null); assertFalse(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfNegativeYear() { Card card = new Card(null, 12, -1, null); assertTrue(card.validateExpMonth()); assertFalse(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldPassValidateExpiryDateIfCurrentMonthTwoDigitYear() { Card card = new Card(null, 8, 97, null); assertTrue(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertTrue(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfNull() { Card card = new Card(null, null, null, null); assertFalse(card.validateExpMonth()); assertFalse(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldFailValidateExpiryDateIfLastMonth() { Card card = new Card(null, 7, 1997, null); assertTrue(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldPassValidateExpiryDateIfNextMonth() { Card card = new Card(null, 9, 1997, null); assertTrue(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertTrue(card.validateExpiryDate(calendar)); }
@Test public void shouldPassValidateExpiryDateForJanuary00() { Card card = new Card(null, 1, 0, null); assertTrue(card.validateExpMonth()); assertFalse(card.validateExpYear(calendar)); assertFalse(card.validateExpiryDate(calendar)); }
@Test public void shouldPassValidateExpiryDateForDecember99() { Card card = new Card(null, 12, 99, null); assertTrue(card.validateExpMonth()); assertTrue(card.validateExpYear(calendar)); assertTrue(card.validateExpiryDate(calendar)); }