1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.commons.validator.routines.checkdigit;
18
19 import static org.junit.jupiter.api.Assertions.assertFalse;
20
21 import org.junit.jupiter.api.BeforeEach;
22 import org.junit.jupiter.api.Test;
23
24 /**
25 * ModulusTenCheckDigit SEDOL Test.
26 */
27 class ModulusTenSedolCheckDigitTest extends AbstractCheckDigitTest {
28
29 private static final String[] INVALID_CHECK_DIGITS = { "026349E", // proper check digit is '4', see above
30 "087061C", // proper check digit is '2', see above
31 "B06LQ9H", // proper check digit is '7', see above
32 "343757F", // proper check digit is '5', see above
33 "B07LF5F", // proper check digit is '5', see above
34 };
35
36 /**
37 * Sets up routine & valid codes.
38 */
39 @BeforeEach
40 protected void setUp() {
41 routine = new ModulusTenCheckDigit(new int[] { 1, 3, 1, 7, 3, 9, 1 });
42 valid = new String[] { "0263494", "0870612", "B06LQ97", "3437575", "B07LF55", };
43 invalid = new String[] { "123#567" };
44 zeroSum = "0000000";
45 }
46
47 @Test
48 void testValidator346() {
49 for (final String invalidCheckDigit : INVALID_CHECK_DIGITS) {
50 assertFalse(routine.isValid(invalidCheckDigit), "Should fail: " + invalidCheckDigit);
51 }
52 }
53
54 }