@Test public void shouldNotValidateNITWithMoreDigitsThanAlowed() { NITValidator validator = new NITValidator(); String value = "123456789012"; try { validator.assertValid(value); fail(); } catch (InvalidStateException e) { assertTrue(e.getInvalidMessages().size() == 1); assertMessage(e, INVALID_DIGITS); } }
@Test public void shouldNotValidateNITWithInvalidCharacter() { NITValidator validator = new NITValidator(); String value = "1111111a111"; try { validator.assertValid(value); fail(); } catch (InvalidStateException e) { assertTrue(e.getInvalidMessages().size() == 1); assertMessage(e, INVALID_DIGITS); } }
@Test public void shouldNotValidateValidUnformattedNIT() { NITValidator validator = new NITValidator(true); // VALID NIT = 12.34567.891-9 String value = "12345678919"; try { validator.assertValid(value); fail(); } catch (InvalidStateException e) { assertTrue(e.getInvalidMessages().size() == 1); assertMessage(e, INVALID_FORMAT); } }
@Test public void shouldNotValidateNITCheckDigitsWithCheckDigitWrong() { NITValidator validator = new NITValidator(); // VALID NIT = 24.84380.348-0 String value = "24843803470"; try { validator.assertValid(value); fail(); } catch (InvalidStateException e) { assertTrue(e.getInvalidMessages().size() == 1); assertMessage(e, INVALID_CHECK_DIGITS); } }
private void assertMessage(InvalidStateException invalidStateException, String expected) { assertTrue(invalidStateException.getInvalidMessages().get(0).getMessage().contains(expected)); }