View Javadoc
1   package org.openehealth.ipf.commons.core;
2   
3   import org.junit.Test;
4   
5   import java.net.URI;
6   import java.net.URISyntaxException;
7   import java.util.HashSet;
8   import java.util.Set;
9   import java.util.UUID;
10  
11  import static org.junit.Assert.assertEquals;
12  import static org.junit.Assert.assertFalse;
13  import static org.junit.Assert.assertTrue;
14  
15  /**
16   *
17   */
18  public class URNTest {
19  
20      @Test
21      public void testCorrectOID() throws URISyntaxException {
22          String nss = "1.2.3.4";
23          String text = "urn:OID:" + nss;
24          assertTrue(URN.isURN(text));
25          URN urn = URN.create(text);
26          assertEquals("OID", urn.getNamespaceId());
27          assertTrue(urn.isNamespace(URN.OID));
28          assertEquals(nss, urn.getNamespaceSpecificString());
29          assertEquals(text, urn.toString());
30      }
31  
32      @Test
33      public void testCorrectUUID() throws URISyntaxException {
34          UUID uuid = UUID.randomUUID();
35          URN urn = new URN(uuid);
36          assertEquals("uuid", urn.getNamespaceId());
37          assertTrue(urn.isNamespace(URN.UUID));
38          assertEquals(uuid.toString(), urn.getNamespaceSpecificString());
39      }
40  
41      @Test
42      public void testInvalidURN() {
43          assertFalse(URN.isURN("blorg:oid:1234"));
44          assertFalse(URN.isURN("urn:oid"));
45          assertFalse(URN.isURN("1234"));
46          assertFalse(URN.isURN("http://hl7.org/fhir"));
47      }
48  
49      @Test
50      public void testPartConstructor() throws URISyntaxException {
51          URN urn = new URN("isbn", "2384576256");
52          assertEquals("urn:isbn:2384576256", urn.toString());
53      }
54  
55      @Test
56      public void testUri() throws URISyntaxException {
57          String text = "urn:isbn:2384576256";
58          URI uri = new URI(text);
59          URN urn = new URN(uri);
60          assertEquals(text, urn.toString());
61          assertEquals(uri, urn.toURI());
62      }
63  
64      @Test
65      public void testEquals() throws URISyntaxException {
66          assertEquals(URN.create("urn:oid:1.2.3.4"), URN.create("urn:OID:1.2.3.4"));
67      }
68  
69      @Test
70      public void testHashCode() throws URISyntaxException {
71          Set<URN> set = new HashSet<>();
72          set.add(URN.create("urn:oid:1.2.3.4"));
73          assertTrue(set.contains(URN.create("urn:OID:1.2.3.4")));
74      }
75  }