package org.mindswap.swoop; import java.net.URI; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import org.semanticweb.owl.impl.model.OWLConnectionImpl; import org.semanticweb.owl.io.owl_rdf.OWLRDFParser; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLDataFactory; import org.semanticweb.owl.model.OWLException; import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.change.AddEntity; import org.semanticweb.owl.model.change.AddImport; import org.semanticweb.owl.model.change.AddSuperClass; import org.semanticweb.owl.model.change.ChangeVisitor; import org.semanticweb.owl.util.OWLConnection; public class UseImportsTest extends TestCase { OWLConnection connection; OWLDataFactory factory; static URI testURI1 = URI.create("http://www.mindswap.org/2006/owl/tests/imports/ont1#"); static URI testURI2 = URI.create("http://www.mindswap.org/2006/owl/tests/imports/ont2#"); public static Test suite() { return new TestSuite(UseImportsTest.class); } public void setUp() throws OWLException { connection = new OWLConnectionImpl(); factory = connection.getDataFactory(); } public void testImportsChange() throws Exception { OWLOntology ont1 = connection.createOntology(testURI1, testURI1); OWLOntology ont2 = connection.createOntology(testURI2, testURI2); OWLClass classA = factory.getOWLClass(testURI2.resolve("#A")); OWLClass classB = factory.getOWLClass(testURI2.resolve("#B")); new AddEntity(ont1, classA, null).accept((ChangeVisitor) ont1); new AddEntity(ont2, classA, null).accept((ChangeVisitor) ont2); new AddEntity(ont2, classB, null).accept((ChangeVisitor) ont2); new AddSuperClass(ont2, classA, classB, null); new AddImport(ont1, ont2, null).accept((ChangeVisitor) ont1); assertFalse(ont1.getClasses().contains(classB)); assertFalse(classB.getOntologies().contains(ont1)); } public void testImportsParsing() throws Exception { OWLRDFParser parser = new OWLRDFParser(); parser.setImporting(true); parser.setConnection(connection); OWLClass classB = factory.getOWLClass(testURI2.resolve("#B")); OWLOntology ont1 = parser.parseOntology(testURI1); System.out.println(ont1.getClasses().size()); assertFalse(ont1.getClasses().contains(classB)); assertFalse(classB.getOntologies().contains(ont1)); } }