Package org.mmisw.ont.mmiuri.test

Source Code of org.mmisw.ont.mmiuri.test.MmiUriTest

package org.mmisw.ont.mmiuri.test;

import java.net.URISyntaxException;

import org.mmisw.ont.mmiuri.MmiUri;

import junit.framework.TestCase;

/**
* @author Carlos Rueda
*/
public class MmiUriTest extends TestCase {
    public void testBasic0() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab/someTerm.owl");
   
    assertEquals("http://mmisw.org/ont/mmi/someVocab",          mmiUri.getOntologyUri());
    assertEquals("http://mmisw.org/ont/mmi/someVocab/someTerm", mmiUri.getTermUri());
        assertEquals("mmi",       mmiUri.getAuthority());
        assertEquals(null,        mmiUri.getVersion());
        assertEquals("someVocab", mmiUri.getTopic());
        assertEquals("someTerm",  mmiUri.getTerm());
        assertEquals(".owl",      mmiUri.getExtension());
        assertEquals("http://mmisw.org/ont/",  mmiUri.getUntilRoot());
    }
   
    public void testBasic1() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/20081101/someVocab/someTerm.owl");
   
    assertEquals("http://mmisw.org/ont/mmi/20081101/someVocab", mmiUri.getOntologyUri());
        assertEquals("mmi",       mmiUri.getAuthority());
        assertEquals("20081101",  mmiUri.getVersion());
        assertEquals("someVocab", mmiUri.getTopic());
        assertEquals("someTerm",  mmiUri.getTerm());
        assertEquals(".owl",      mmiUri.getExtension());
    }
   
    public void testBasic2() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab.owl/someTerm");
   
    assertEquals("http://mmisw.org/ont/mmi/someVocab", mmiUri.getOntologyUri());
        assertEquals("mmi", mmiUri.getAuthority());
        assertEquals("someVocab", mmiUri.getTopic());
        assertEquals("someTerm", mmiUri.getTerm());
        assertEquals(".owl", mmiUri.getExtension());
    }
   
    public void testTermUris() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab.owl/someTerm");
   
      assertEquals(".owl", mmiUri.getExtension());
     
        assertEquals("http://mmisw.org/ont/mmi/someVocab#someTerm", mmiUri.getTermUri("#"));
        assertEquals("http://mmisw.org/ont/mmi/someVocab/someTerm", mmiUri.getTermUri("/"));
    }

    public void testNoTerm() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab");
   
      assertEquals("", mmiUri.getTerm());
      assertEquals("mmi", mmiUri.getAuthority());
      assertEquals("someVocab", mmiUri.getTopic());
      assertEquals(null, mmiUri.getVersion());
    }

    public void testNoTerm2() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab/");
   
      assertEquals("", mmiUri.getTerm());
      assertEquals(null, mmiUri.getVersion());
    }

    public void testTopicExt() throws URISyntaxException {
      // topic without extension
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab/someTerm");
   
      assertEquals("", mmiUri.getExtension());

      // ontologyUri with an extension:
        assertEquals("http://mmisw.org/ont/mmi/someVocab.owl", mmiUri.getOntologyUriWithExtension(".owl"));
    }

    public void testVersionNull() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab/someTerm");
   
      assertEquals(null, mmiUri.getVersion());
    }
    public void testVersions() throws URISyntaxException {
      MmiUri.checkVersion("2008");
      MmiUri.checkVersion("200810");
      MmiUri.checkVersion("20081030");
      MmiUri.checkVersion("20081030T21");
      MmiUri.checkVersion("20081030T2130");
      MmiUri.checkVersion("20081030T213059");
      MmiUri.checkVersion(MmiUri.LATEST_VERSION_INDICATOR);
    }
    public void testVersion1() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/20081021/someVocab/someTerm");
      assertEquals("20081021", mmiUri.getVersion());
    }
    public void testVersionInvalid() throws URISyntaxException {
      try {
        new MmiUri("http://mmisw.org/ont/mmi/2008x1021/someVocab/someTerm");
        fail(); // test fails!
      }
      catch (URISyntaxException ok) {
      }
    }
    public void testVersionInvalid2() throws URISyntaxException {
      try {
        // Note: 4 parts={mmi, badversion, someVocab, someTerm} forces parts[1] to be the version,
        // which is malformed in this case.
        new MmiUri("http://mmisw.org/ont/mmi/badversion/someVocab/someTerm");
        fail(); // test fails!
      }
      catch (URISyntaxException ok) {
      }
    }
    public void testExtensionAndVersion() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/20081021/someVocab.owl/someTerm");
   
      assertEquals(".owl", mmiUri.getExtension());

      // ontologyUri with an extension:
        assertEquals("http://mmisw.org/ont/mmi/20081021/someVocab.n3", mmiUri.getOntologyUriWithExtension(".n3"));
    }

    public void testChangeExt1() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/a/20081021/v/t");
   
      assertEquals("", mmiUri.getExtension());
      assertEquals("http://mmisw.org/ont/a/20081021/v.owl", mmiUri.getOntologyUriWithExtension(".owl"));
    }
    public void testChangeExt2() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/a/20081021/v.owl/t");
   
      assertEquals(".owl", mmiUri.getExtension());
      assertEquals("http://mmisw.org/ont/a/20081021/v", mmiUri.getOntologyUriWithExtension(""));
    }

    public void testCloneCopy() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/a/20081021/v.owl/t");
   
      MmiUri clone = mmiUri.clone();
    assertEquals(mmiUri, clone);
   
    MmiUri copyVer;
   
    copyVer = mmiUri.copyWithVersion(null);
    assertEquals("http://mmisw.org/ont/a/v", copyVer.getOntologyUri());
   
    copyVer = mmiUri.copyWithVersion("20210121");
    assertEquals("http://mmisw.org/ont/a/20210121/v", copyVer.getOntologyUri());
   
    copyVer = mmiUri.copyWithVersionNoCheck("%myversion%");
    assertEquals("http://mmisw.org/ont/a/%myversion%/v", copyVer.getOntologyUri());
    }
    public void testCopyWithExtension() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab.owl/someTerm");   
      MmiUri copy = mmiUri.copyWithExtension(".NEW");
      assertEquals(".NEW", copy.getExtension());
      assertEquals("http://mmisw.org/ont/mmi/someVocab/someTerm", copy.getTermUri("/"));
    }

    public void testGetOntologyUri1() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab/someTerm.owl");
      assertEquals("http://mmisw.org/ont/mmi/someVocab", mmiUri.getOntologyUri());
    }
    public void testGetOntologyUri2() throws URISyntaxException {
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab.html/someTerm");
      assertEquals("http://mmisw.org/ont/mmi/someVocab", mmiUri.getOntologyUri());
    }

    /** See <a href="http://code.google.com/p/mmisw/issues/detail?id=123">Issue #123</a> */
    public void testEncodedUri() throws URISyntaxException {
      assertEquals("some Term", new MmiUri("http://mmisw.org/ont/mmi/voc/some%20Term").getTerm());
      assertEquals("ångström"new MmiUri("http://mmisw.org/ont/mmi/voc/%C3%A5ngstr%C3%B6m").getTerm());
      assertEquals("[brakets]", new MmiUri("http://mmisw.org/ont/mmi/voc/%5Bbrakets%5D").getTerm());

        MmiUri m = new MmiUri("http://mmisw.org/ont/qu%C3%A9/ontolog%C3%ADa/t%C3%A9rmino");
      assertEquals("qué",       m.getAuthority());
      assertEquals("ontología", m.getTopic());
      assertEquals("término",   m.getTerm());

        assertEquals("µß∑π", new MmiUri("http://mmisw.org/ont/mmi/voc/%C2%B5%C3%9F%E2%88%91%CF%80").getTerm());
    }

   
    public void testAuthorityStartingWithHyphenIsInvalid() throws URISyntaxException {
      try {
        new MmiUri("http://mmisw.org/ont/-/img/mmior.gif");
        fail(); // test fails!
      }
      catch (URISyntaxException ok) {
      }
    }

    public void testExtensions() throws URISyntaxException {
      // multiple extensions but equal
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab.owl/someTerm.owl");
      assertEquals(".owl", mmiUri.getExtension());

      // multiple extensions but different
      try {
        new MmiUri("http://mmisw.org/ont/mmi/someVocab.n3/someTerm.owl");
        fail(); // test fails!
      }
      catch (URISyntaxException ok) {
      }
     
      // multiple extensions but equal, including extension in the authority
      mmiUri = new MmiUri("http://mmisw.org/ont/mmi.rdf/someVocab.rdf/someTerm.rdf", true);
      assertEquals(".rdf", mmiUri.getExtension());
    }

    public void testAcceptUntilAuthority() throws URISyntaxException {
     
      // actually only until the authority:
      MmiUri mmiUri = new MmiUri("http://mmisw.org/ont/mmi", true);
      assertEquals("mmi", mmiUri.getAuthority());
      assertEquals("", mmiUri.getExtension());
      assertEquals("", mmiUri.getTopic());
     
      // actually only until the authority including extension:
      mmiUri = new MmiUri("http://mmisw.org/ont/mmi.rdf", true);
      assertEquals("mmi", mmiUri.getAuthority());
      assertEquals(".rdf", mmiUri.getExtension());
      assertEquals("", mmiUri.getTopic());
     
      // but with other stuff as well:
      mmiUri = new MmiUri("http://mmisw.org/ont/mmi/someVocab", true);
      assertEquals("someVocab", mmiUri.getTopic());
      assertEquals("mmi", mmiUri.getAuthority());
    }
}
TOP

Related Classes of org.mmisw.ont.mmiuri.test.MmiUriTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.