1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.validator.routines.checkdigit;
18
19 import static org.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertFalse;
21 import static org.junit.jupiter.api.Assertions.fail;
22
23 import org.junit.jupiter.api.BeforeEach;
24 import org.junit.jupiter.api.Test;
25
26
27
28
29 public class ISBNCheckDigitTest extends AbstractCheckDigitTest {
30
31
32
33
34 @BeforeEach
35 protected void setUp() {
36 routine = ISBNCheckDigit.ISBN_CHECK_DIGIT;
37 valid = new String[] { "9780072129519", "9780764558313", "1930110995", "020163385X", "1590596277",
38 "9781590596272"
39 };
40 missingMessage = "ISBN Code is missing";
41 zeroSum = "000000000000";
42 }
43
44
45
46
47 @Test
48 public void testInvalidLength() {
49 assertFalse(routine.isValid("123456789"), "isValid() Lth 9 ");
50 assertFalse(routine.isValid("12345678901"), "isValid() Lth 11");
51 assertFalse(routine.isValid("123456789012"), "isValid() Lth 12");
52 assertFalse(routine.isValid("12345678901234"), "isValid() Lth 14");
53
54 try {
55 routine.calculate("12345678");
56 fail("calculate() Lth 8 - expected exception");
57 } catch (final Exception e) {
58 assertEquals(e.getMessage(), "Invalid ISBN Length = 8", "calculate() Lth 8");
59 }
60
61 try {
62 routine.calculate("1234567890");
63 fail("calculate() Lth 10 - expected exception");
64 } catch (final Exception e) {
65 assertEquals("Invalid ISBN Length = 10", e.getMessage(), "calculate() Lth 10");
66 }
67
68 try {
69 routine.calculate("12345678901");
70 fail("calculate() Lth 11 - expected exception");
71 } catch (final Exception e) {
72 assertEquals("Invalid ISBN Length = 11", e.getMessage(), "calculate() Lth 11");
73 }
74
75 try {
76 routine.calculate("1234567890123");
77 fail("calculate() Lth 13 - expected exception");
78 } catch (final Exception e) {
79 assertEquals("Invalid ISBN Length = 13", e.getMessage(), "calculate() Lth 13");
80 }
81 }
82
83 }