View Javadoc
1   /*
2    * Copyright 2009 the original author or authors.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *     
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.openehealth.ipf.commons.ihe.xds.core.validate;
17  
18  import static org.junit.Assert.*;
19  
20  import org.junit.Test;
21  
22  /**
23   * Tests for {@link TimeValidator}.
24   * @author Jens Riemschneider
25   */
26  public class TimeValidatorTest {
27      private static final TimeValidator validator = new TimeValidator();
28  
29      @Test
30      public void testValidateGoodCases() throws XDSMetaDataException {
31          validator.validate("1980");
32          validator.validate("198001");
33          validator.validate("198012");
34          validator.validate("19800101");
35          validator.validate("19800131");
36          validator.validate("1980010100");
37          validator.validate("1980010123");
38          validator.validate("198001010100");
39          validator.validate("198001010159");
40          validator.validate("19800101010100");
41          validator.validate("19800101010159");
42      }
43      
44      @Test 
45      public void testValidateBadCases() throws XDSMetaDataException {
46          assertFails("19AA");
47          assertFails("198000");
48          assertFails("198013");
49          assertFails("198021");
50          assertFails("19800100");
51          assertFails("19800132");
52          assertFails("19800141");
53          assertFails("1980010124");
54          assertFails("1980010131");
55          assertFails("198001010160");
56          assertFails("19800101010160");
57      }
58  
59      private static void assertFails(String value) {
60          try {
61              validator.validate(value);
62              fail("Expected exception: " + XDSMetaDataException.class + " for " + value);
63          } catch (XDSMetaDataException e) {
64              // Expected
65          }
66      }
67  }