package org.openprovenance.prov.xml; import java.util.LinkedList; import java.util.List; import junit.framework.TestCase; import org.openprovenance.prov.model.Activity; import org.openprovenance.prov.model.Name; import org.openprovenance.prov.model.Document; import org.openprovenance.prov.model.Namespace; /** * Unit test for setters/getters */ public class NamespacesTest extends TestCase { public static final String EXAMPLE_NS = "http://example.com/"; public static final String EXAMPLE2_NS = "http://example2.com/"; public static final String EXAMPLE3_NS = "http://example3.com/"; public static final String XSD_NS = org.openprovenance.prov.model.NamespacePrefixMapper.XSD_NS; public static ProvFactory pFactory; public static Name name; public static ProvUtilities pUtil=new ProvUtilities(); public static final String EX_PREFIX = "ex"; public QualifiedName q(String n) { return new QualifiedName(EXAMPLE_NS, n, EX_PREFIX); } static { pFactory=new ProvFactory(); name=pFactory.getName(); } /** * Create the test case * * @param testName name of the test case */ public NamespacesTest( String testName ) { super( testName ); } public void testNamespaces1 () { Activity a1=pFactory.newActivity(q("a1")); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All ns: " + nss.getPrefixes()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==3); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", NamespacePrefixMapper.XSD_NS)); } public void testNamespaces2 () { Activity a1=pFactory.newActivity(q("a1")); a1.getType().add(pFactory.newType(pFactory.newQualifiedName(EXAMPLE_NS, "Amazing", "ex2"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All prefixes: " + nss.getPrefixes()); //System.out.println("All ns: " + nss.getNamespaces()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==4); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("ex2", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); assertTrue(nss.getNamespaces().size()==3); assertTrue(nss.getNamespaces().get(NamespacePrefixMapper.PROV_NS).equals("prov")); assertTrue(nss.getNamespaces().get(EXAMPLE_NS).equals("ex")); assertTrue(nss.getNamespaces().get(XSD_NS).equals("xsd")); } public void testNamespaces3 () { Activity a1=pFactory.newActivity(q("a1")); a1.getType().add(pFactory.newType(pFactory.newQualifiedName(EXAMPLE_NS, "Amazing", "ex"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All ns: " + nss.getPrefixes()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==3); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); } public void testNamespaces4 () { Activity a1=pFactory.newActivity(q("a1")); a1.getLocation().add(pFactory.newLocation(pFactory.newQualifiedName(EXAMPLE_NS, "Amazing",null), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All ns: " + nss.getPrefixes()); assertTrue(nss.getDefaultNamespace().equals(EXAMPLE_NS)); assertTrue(nss.getPrefixes().size()==3); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); } public void testNamespaces5 () { Activity a1=pFactory.newActivity(q("a1")); a1.getType().add(pFactory.newType(pFactory.newQualifiedName("http://www.w3.org/ns/prov#", "emptyCollection", "prov"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All ns: " + nss.getPrefixes()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==3); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); } public void testNamespaces6 () { Activity a1=pFactory.newActivity(q("a1")); a1.getOther().add(pFactory.newOther(pFactory.newQualifiedName(EXAMPLE_NS,"tag1", "ex"), pFactory.newQualifiedName("http://www.w3.org/ns/prov#", "emptyCollection", "prov"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All ns: " + nss.getPrefixes()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==3); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); } public void testNamespaces7 () { Activity a1=pFactory.newActivity(q("a1")); a1.getOther().add(pFactory.newOther(pFactory.newQualifiedName (EXAMPLE2_NS,"tag1", "ex2"), pFactory.newQualifiedName("http://www.w3.org/ns/prov#", "emptyCollection", "prov"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All ns: " + nss.getPrefixes()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==4); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); assertTrue(nss.check("ex2", EXAMPLE2_NS)); } public void testNamespaces8 () { Activity a1=pFactory.newActivity(q("a1")); a1.getOther().add(pFactory.newOther(pFactory.newQualifiedName (EXAMPLE2_NS,"tag1", "ex"), pFactory.newQualifiedName("http://www.w3.org/ns/prov#", "emptyCollection", "prov"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All prefixes: " + nss.getPrefixes()); //System.out.println("All ns: " + nss.getNamespaces()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==4); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); assertTrue(nss.check(Namespace.xmlns+"0", EXAMPLE2_NS)); assertTrue(nss.getNamespaces().size()==4); assertTrue(nss.getNamespaces().get(NamespacePrefixMapper.PROV_NS).equals("prov")); assertTrue(nss.getNamespaces().get(EXAMPLE_NS).equals("ex")); assertTrue(nss.getNamespaces().get(XSD_NS).equals("xsd")); assertTrue(nss.getNamespaces().get(EXAMPLE2_NS).equals(Namespace.xmlns+"0")); } public void testNamespaces9 () { Activity a1=pFactory.newActivity(q("a1")); a1.getOther().add(pFactory.newOther(pFactory.newQualifiedName(EXAMPLE2_NS,"tag1", "ex"), pFactory.newQualifiedName(EXAMPLE3_NS,"tag1", "ex"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All prefixes: " + nss.getPrefixes()); //System.out.println("All ns: " + nss.getNamespaces()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==5); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); assertTrue(nss.check(Namespace.xmlns+"0", EXAMPLE2_NS)); assertTrue(nss.check(Namespace.xmlns+"1", EXAMPLE3_NS)); assertTrue(nss.getNamespaces().size()==5); assertTrue(nss.getNamespaces().get(NamespacePrefixMapper.PROV_NS).equals("prov")); assertTrue(nss.getNamespaces().get(EXAMPLE_NS).equals("ex")); assertTrue(nss.getNamespaces().get(XSD_NS).equals("xsd")); assertTrue(nss.getNamespaces().get(EXAMPLE2_NS).equals(Namespace.xmlns+"0")); assertTrue(nss.getNamespaces().get(EXAMPLE3_NS).equals(Namespace.xmlns+"1")); } public void testNamespaces10 () { Activity a1=pFactory.newActivity(q("a10")); a1.getType().add(pFactory.newType(pFactory.newQualifiedName(EXAMPLE_NS, "Amazing","other"), name.PROV_QUALIFIED_NAME)); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a1); Namespace nss=Namespace.gatherNamespaces(doc); //System.out.println("Default ns is: " + nss.getDefaultNamespace()); //System.out.println("All prefixes: " + nss.getPrefixes()); //System.out.println("All ns: " + nss.getNamespaces()); assertNull(nss.getDefaultNamespace()); assertTrue(nss.getPrefixes().size()==4); assertTrue(nss.check("prov", NamespacePrefixMapper.PROV_NS)); assertTrue(nss.check("ex", EXAMPLE_NS)); assertTrue(nss.check("other", EXAMPLE_NS)); assertTrue(nss.check("xsd", XSD_NS)); } public void testNamespaces11 () { List<org.openprovenance.prov.model.Entry> ll = new LinkedList<org.openprovenance.prov.model.Entry>(); org.openprovenance.prov.model.Entry p1 = pFactory.newEntry(pFactory.newKey(pFactory.newQualifiedName("http://example4.org/", "zabcd", "other"), name.PROV_QUALIFIED_NAME), q("e0")); ll.add(p1); org.openprovenance.prov.model.DerivedByInsertionFrom a = pFactory.newDerivedByInsertionFrom(q("dinsert"), q("d2"), q("d1"), ll, null); Document doc=pFactory.newDocument(); doc.getStatementOrBundle().add(a); Namespace nss=Namespace.gatherNamespaces(doc); assertTrue(nss.getPrefixes().size()==4); } }