View Javadoc
1   /*
2    * Copyright 2013 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 org.junit.Test;
19  
20  import static org.junit.Assert.fail;
21  
22  /**
23   * Tests for {@link CXiValidator}.
24   * @author Dmytro Rud
25   */
26  public class CXiValidatorTest {
27      private static final CXiValidator validator = new CXiValidator();
28  
29      @Test
30      public void testValidateGoodCases() throws XDSMetaDataException {
31          validator.validate("11379^^^ABCD&1.3.6367.3.7&ISO^urn:ihe:iti:xds:2013:uniqueId");
32          validator.validate("11379^^^^urn:ihe:iti:xds:2013:uniqueId");
33          validator.validate("11379^^^&1.3.6367.3.7&ISO^urn:ihe:iti:xds:2013:uniqueId^");
34          validator.validate("11379^^^ABCD^urn:ihe:iti:xds:2013:uniqueId^^^^");
35      }
36  
37      @Test
38      public void testValidateBadCase() throws XDSMetaDataException {
39          assertFails("");
40          assertFails("11379^^^");
41          assertFails("11379^^^&1.3.6367.3.7&ISO^urn:ihe:iti:xds:2013:uniqueId^&1.2.3.4&KRYSO");
42          assertFails("11379^^^&1.3.6367.3.7&^urn:ihe:iti:xds:2013:uniqueId");
43          assertFails("^^^&1.3.6367.3.7&ISO^urn:ihe:iti:xds:2013:uniqueId^^^");
44          assertFails("11379^^^&1.3.6367.3.7&ISO^urn:ihe:iti:xds:2013:uniqueId^wrong");
45          assertFails("11379^^^&1.3.6367.3.7&ISO^^^");
46      }
47  
48      private static void assertFails(String value) {
49          try {
50              validator.validate(value);
51              fail("Expected exception: " + XDSMetaDataException.class + " for " + value);
52          } catch (XDSMetaDataException e) {
53              // Expected
54          }
55      }
56  }