SevdanurGenc's picture
Upload 300 files
9438a57 verified
Raw History Blame Contribute Delete
1.72 kB
import org.junit.Test;
import static org.junit.Assert.*;
public class IbanValidatorTest {
static final String VALID = "TR330006100519786457841326";
@Test public void validIban() { assertTrue(IbanValidator.isValid(VALID)); }
@Test public void validWithSpacesAndLowercase() { assertTrue(IbanValidator.isValid("tr33 0006 1005 1978 6457 8413 26")); }
@Test public void secondValidIban() { assertTrue(IbanValidator.isValid("TR650001000000000000123456")); }
@Test public void wrongCheckDigits() { assertFalse(IbanValidator.isValid("TR340006100519786457841326")); }
@Test public void wrongLength() { assertFalse(IbanValidator.isValid("TR33000610051978645784132")); }
@Test public void wrongCountry() { assertFalse(IbanValidator.isValid("DE330006100519786457841326")); }
@Test public void nonDigitCharacter() { assertFalse(IbanValidator.isValid("TR33000610051978645784132X")); }
@Test public void reservedDigitMustBeZero() {
// mod-97 açısından geçerli ama ayrılmış hane 0 değil
assertFalse(IbanValidator.isValid("TR080006110519786457841326"));
}
@Test public void nullRejected() { assertThrows(IllegalArgumentException.class, () -> IbanValidator.isValid(null)); }
@Test public void bankCode() { assertEquals("00061", IbanValidator.bankCode(VALID)); }
@Test public void bankCodeOfInvalidThrows() {
assertThrows(IllegalArgumentException.class, () -> IbanValidator.bankCode("TR340006100519786457841326"));
}
@Test public void format() { assertEquals("TR33 0006 1005 1978 6457 8413 26", IbanValidator.format(VALID)); }
@Test public void mod97OfKnownValue() { assertEquals(1, IbanValidator.mod97("0006100519786457841326TR33")); }
}