Package unitTests

Source Code of unitTests.CreateOntologyFromThesaurusTest

package unitTests;

import static org.junit.Assert.*;

import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;

import org.junit.Assert;
import org.junit.Test;
import org.semanticweb.owlapi.model.AxiomType;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.model.OWLOntologyStorageException;

import owlOntologies.CreateOntologyFromThesaurus;
import owlOntologies.MyOwlOntologyManager;

public class CreateOntologyFromThesaurusTest {


 
  @Test
  //you will have to adjust these paths for the machine this is run on. 
  //NOTE!!  the corpus file can ONLY contain the word "foal"  thats it
  public void testBuildOntologyFromScratch() throws OWLOntologyCreationException, OWLOntologyStorageException, IOException {
    CreateOntologyFromThesaurus cot = new CreateOntologyFromThesaurus();
    String ontologyLocation = "/home/nicholas/research/Experiments/DataONEjava/outputTest.owl";
    cot.buildOntologyFromScratch("/home/nicholas/research/Experiments/DataONEjava/unitTestData/testForCreateOntologyFromThesaurus.txt", ontologyLocation);
    //first, test that it wrote SOMETHING to the ontology location
    File f = new File(ontologyLocation);
    assertTrue(f.exists());
   
    //second, load it up and check that it contains the following classes
    MyOwlOntologyManager myOwl = new MyOwlOntologyManager();
    OWLOntologyManager manager = myOwl.loadOntologyFromFile(ontologyLocation);
    OWLClass foal = myOwl.getClassFromName(manager, "foal")//note that if any of these 4 fail, we have a problem
    OWLClass poni = myOwl.getClassFromName(manager, "poni")
    OWLClass hobbi = myOwl.getClassFromName(manager, "hobbi");
    OWLClass colt = myOwl.getClassFromName(manager, "colt");
   
    assertNotNull(foal); //these have failed if they are null
    assertNotNull(poni);
    assertNotNull(hobbi);
    assertNotNull(colt);
   
   
    OWLOntology ontology = manager.getOntology(myOwl.getCurrentOntologyID());
   
    //third, check that the following subclasses are here (or not)
    Set<OWLClassExpression> superClasses = foal.getSuperClasses(ontology);
    assertTrue(superClasses.contains(hobbi));
    assertTrue(superClasses.contains(poni));
    assertFalse(superClasses.contains(colt));
   
   
    //fourth, assert that the equivalence classes are here
    Set<OWLClassExpression> equivalenceClassesForFoal = foal.getEquivalentClasses(ontology);
    Set<OWLClassExpression> equivalenceClassesForColt = colt.getEquivalentClasses(ontology);
    Set<OWLClassExpression> equivalenceClassesForPoni = poni.getEquivalentClasses(ontology);
   
    assertTrue(equivalenceClassesForFoal.contains(colt));
    assertTrue(equivalenceClassesForColt.contains(foal));
    assertTrue(equivalenceClassesForPoni.contains(foal));
   
  }
 
  @Test
  public void testAddToOntology() throws OWLOntologyCreationException, OWLOntologyStorageException, IOException {
    CreateOntologyFromThesaurus cot = new CreateOntologyFromThesaurus();
    String ontologyLocation = "/home/nicholas/research/Experiments/DataONEjava/outputTest.owl";
    cot.buildOntologyFromScratch("/home/nicholas/research/Experiments/DataONEjava/unitTestData/testForCreateOntologyFromThesaurus.txt", ontologyLocation);
   
    cot.addToOntology(ontologyLocation, "genoa");
   
    MyOwlOntologyManager myOwl = new MyOwlOntologyManager();
    OWLOntologyManager manager = myOwl.loadOntologyFromFile(ontologyLocation);
   
    OWLOntology ontology = manager.getOntology(myOwl.getCurrentOntologyID());
   
    //should add class genoa,   equivalence -> genova
    OWLClass genoa = myOwl.getClassFromName(manager, "genoa");
    OWLClass genova = myOwl.getClassFromName(manager, "genova");
    assertNotNull(genoa);
    assertNotNull(genova);
   
    Set<OWLClassExpression> equivalenceClassesForGenoa = genoa.getEquivalentClasses(ontology);
   
    assertTrue(equivalenceClassesForGenoa.contains(genova));
   
  }
 
  @Test
  public void shouldMergeOntologies() throws OWLOntologyStorageException, OWLOntologyCreationException{
    CreateOntologyFromThesaurus cot = new CreateOntologyFromThesaurus();
    cot.mergeOntology("/home/nicholas/research/Experiments/DataONEjava/unitTestData/ontologyMergerTest1.owl",
        "/home/nicholas/research/Experiments/DataONEjava/unitTestData/ontologyMergerTest2.owl",
        "/home/nicholas/research/Experiments/DataONEjava/unitTestData/ontologyMergerResults.owl");
   
    File f = new File("/home/nicholas/research/Experiments/DataONEjava/unitTestData/ontologyMergerResults.owl");
    assertTrue(f.exists());
    //this only checks it exists, examine by hand to ensure its proper
   
  }


}
TOP

Related Classes of unitTests.CreateOntologyFromThesaurusTest

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.