1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.commons.ihe.xds.core.validate;
17
18 import org.junit.Test;
19
20 import static org.junit.Assert.fail;
21
22
23
24
25
26 public class TimePrecisionValidatorTest {
27 private static final TimeValidator validator = new TimeValidator(8);
28
29 @Test
30 public void testValidateGoodCases() throws XDSMetaDataException {
31 validator.validate("19800101");
32 validator.validate("19800131");
33 validator.validate("1980010100");
34 validator.validate("1980010123");
35 validator.validate("198001010100");
36 validator.validate("198001010159");
37 validator.validate("19800101010100");
38 validator.validate("19800101010159");
39 }
40
41 @Test
42 public void testValidateBadCases() throws XDSMetaDataException {
43
44 assertFails("1980");
45 assertFails("198001");
46 assertFails("198012");
47
48
49 assertFails("19AA");
50 assertFails("198000");
51 assertFails("198013");
52 assertFails("198021");
53 assertFails("19800100");
54 assertFails("19800132");
55 assertFails("19800141");
56 assertFails("1980010124");
57 assertFails("1980010131");
58 assertFails("198001010160");
59 assertFails("19800101010160");
60 }
61
62 private static void assertFails(String value) {
63 try {
64 validator.validate(value);
65 fail("Expected exception: " + XDSMetaDataException.class + " for " + value);
66 } catch (XDSMetaDataException e) {
67
68 }
69 }
70 }