You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2013/09/21 22:12:00 UTC
svn commit: r1525287 [5/6] - in /jena/Experimental/new-test/src/test:
java/com/hp/hpl/jena/rdf/model/ java/com/hp/hpl/jena/rdf/model/temp/
java/com/hp/hpl/jena/testing_framework/ resources/
resources/com/hp/hpl/jena/rdf/ resources/com/hp/hpl/jena/rdf/m...
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelGraphInterfaceContractTests.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelGraphInterfaceContractTests.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelGraphInterfaceContractTests.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelGraphInterfaceContractTests.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,98 @@
+package com.hp.hpl.jena.rdf.model;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.NodeFactory;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.graph.test.NodeCreateUtils;
+
+public abstract class AbstractModelGraphInterfaceContractTests {
+
+ private static Logger log = LoggerFactory
+ .getLogger(AbstractModelGraphInterfaceContractTests.class);
+
+
+ abstract protected ModelGraphInterface getModelGraphInterface();
+
+
+ @Test
+ public void testAsRDFNode()
+ {
+ // check URI resource
+ RDFNode r = getModelGraphInterface().asRDFNode( NodeCreateUtils.create("A") );
+
+ assertTrue( "Should have been a URI resource", r.isURIResource() );
+ assertEquals( "Does not have the proper resource", "eh:/A", r.asResource().getURI());
+
+ // check literal
+ r = getModelGraphInterface().asRDFNode( NodeFactory.createLiteral("A"));
+
+ assertTrue( "Should have been a literal resource", r.isLiteral() );
+ assertEquals( "Does not have the proper literal value", "A", r.asLiteral().getString());
+
+ // check anonymous
+ Node n = NodeFactory.createAnon();
+ r = getModelGraphInterface().asRDFNode( n );
+
+ assertTrue( "Should have been an anonymous resource", r.isAnon() );
+ assertEquals( "Does not have the proper literal value", n.getBlankNodeId(), r.asResource().getId());
+
+
+ AnonId anonId = AnonId.create("foo");
+ r = getModelGraphInterface().asRDFNode( NodeFactory.createAnon( anonId ) );
+
+ assertTrue( "Should have been an anonymous resource", r.isAnon() );
+ assertEquals( "Does not have the proper literal value", anonId, r.asResource().getId());
+
+ }
+
+ @Test
+ public void testAsStatement()
+ {
+ Triple t = new Triple( NodeFactory.createAnon(), NodeCreateUtils.create("A"), NodeFactory.createLiteral("B"));
+
+ Statement s = getModelGraphInterface().asStatement( t );
+
+ assertEquals( t.getSubject(), s.getSubject().asNode());
+ assertEquals( t.getPredicate(), s.getPredicate().asNode());
+ assertEquals( t.getObject(), s.getObject().asNode());
+ }
+
+ @Test
+ public void testGetGraph()
+ {
+ assertNotNull( getModelGraphInterface().getGraph() );
+
+ }
+
+ @Test
+ public void testWrapAsResource()
+ {
+ // check URI resource
+ Resource r = getModelGraphInterface().wrapAsResource( NodeCreateUtils.create("A") );
+
+ assertTrue( "Should have been a URI resource", r.isURIResource() );
+ assertEquals( "Does not have the proper resource", "eh:/A", r.asResource().getURI());
+
+ // check anonymous
+ Node n = NodeFactory.createAnon();
+ r = getModelGraphInterface().wrapAsResource( n );
+
+ assertTrue( "Should have been an anonymous resource", r.isAnon() );
+ assertEquals( "Does not have the proper literal value", n.getBlankNodeId(), r.asResource().getId());
+
+
+ AnonId anonId = AnonId.create("foo");
+ r = getModelGraphInterface().wrapAsResource( NodeFactory.createAnon( anonId ) );
+
+ assertTrue( "Should have been an anonymous resource", r.isAnon() );
+ assertEquals( "Does not have the proper literal value", anonId, r.asResource().getId());
+
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelGraphInterfaceContractTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListContractTests.java (from r1523135, jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListTest.java)
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListContractTests.java?p2=jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListContractTests.java&p1=jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListTest.java&r1=1523135&r2=1525287&rev=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListContractTests.java Sat Sep 21 20:11:59 2013
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
*
*
*/
-public class AbstractRDFListTest extends
+public class AbstractRDFListContractTests extends
AbstractModelProducerUser {
@Override
@@ -71,7 +71,7 @@ AbstractModelProducerUser {
private Model model;
@Before
- public void setupAbstractRDFListTest()
+ final public void setupAbstractRDFListTest()
{
model = getModelProducer().newModel();
}
@@ -85,7 +85,7 @@ AbstractModelProducerUser {
protected static void iteratorTest( final Iterator<?> i,
final Object[] expected )
{
- final Logger logger = LoggerFactory.getLogger(AbstractRDFListTest.class);
+ final Logger logger = LoggerFactory.getLogger(AbstractRDFListContractTests.class);
final List<Object> expList = new ArrayList<Object>();
for (final Object element : expected)
{
@@ -186,11 +186,11 @@ AbstractModelProducerUser {
protected RDFList getListRoot( final Model m )
{
- final Resource root = m.getResource(AbstractRDFListTest.NS + "root");
+ final Resource root = m.getResource(AbstractRDFListContractTests.NS + "root");
Assert.assertNotNull("Root resource should not be null", root);
final Resource listHead = root.getRequiredProperty(
- m.getProperty(AbstractRDFListTest.NS + "p")).getResource();
+ m.getProperty(AbstractRDFListContractTests.NS + "p")).getResource();
final RDFList l = listHead.as(RDFList.class);
Assert.assertNotNull("as(RDFList) should not return null for root", l);
@@ -202,18 +202,18 @@ AbstractModelProducerUser {
public void testAdd()
{
- final Resource root = model.createResource(AbstractRDFListTest.NS + "root");
- final Property p = model.createProperty(AbstractRDFListTest.NS, "p");
+ final Resource root = model.createResource(AbstractRDFListContractTests.NS + "root");
+ final Property p = model.createProperty(AbstractRDFListContractTests.NS, "p");
final Resource nil = model.getResource(RDF.nil.getURI());
RDFList list = nil.as(RDFList.class);
final Resource[] toAdd = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"),
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "e"), };
+ model.createResource(AbstractRDFListContractTests.NS + "a"),
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "e"), };
// add each of these resources onto the end of the list
for (final Resource element : toAdd)
@@ -247,7 +247,7 @@ AbstractModelProducerUser {
final Resource nil = model.getResource(RDF.nil.getURI());
RDFList list = nil.as(RDFList.class);
- final Resource r = model.createResource(AbstractRDFListTest.NS + "foo");
+ final Resource r = model.createResource(AbstractRDFListContractTests.NS + "foo");
// create a list of foos
for (int i = 0; i < 5; i++)
@@ -313,7 +313,7 @@ AbstractModelProducerUser {
final Resource nil = model.getResource(RDF.nil.getURI());
RDFList list = nil.as(RDFList.class);
- final Resource r = model.createResource(AbstractRDFListTest.NS + "foo");
+ final Resource r = model.createResource(AbstractRDFListContractTests.NS + "foo");
// create a list of foos
for (int i = 0; i < 5; i++)
@@ -344,14 +344,14 @@ AbstractModelProducerUser {
{
model.read(getFileName("ontology/list5.rdf"));
- final Resource a = model.createResource(AbstractRDFListTest.NS + "a");
+ final Resource a = model.createResource(AbstractRDFListContractTests.NS + "a");
// create a list of foos
final Resource[] rs = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "e") };
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "e") };
final RDFList aList = model.createList().cons(a);
final RDFList rsList = model.createList(rs);
@@ -368,18 +368,18 @@ AbstractModelProducerUser {
@Test
public void testCons()
{
- final Resource root = model.createResource(AbstractRDFListTest.NS + "root");
- final Property p = model.createProperty(AbstractRDFListTest.NS, "p");
+ final Resource root = model.createResource(AbstractRDFListContractTests.NS + "root");
+ final Property p = model.createProperty(AbstractRDFListContractTests.NS, "p");
final Resource nil = model.getResource(RDF.nil.getURI());
RDFList list = nil.as(RDFList.class);
final Resource[] toAdd = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "e"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "a"), };
+ model.createResource(AbstractRDFListContractTests.NS + "e"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "a"), };
// cons each of these resources onto the front of the list
for (final Resource element : toAdd)
@@ -428,7 +428,7 @@ AbstractModelProducerUser {
final String[] names = { "a", "b", "c", "d", "e" };
for (final String name : names)
{
- Assert.assertEquals("head of list has incorrect URI", AbstractRDFListTest.NS
+ Assert.assertEquals("head of list has incorrect URI", AbstractRDFListContractTests.NS
+ name, ((Resource) l0.getHead()).getURI());
l0 = l0.getTail();
}
@@ -440,11 +440,11 @@ AbstractModelProducerUser {
model.read(getFileName("ontology/list5.rdf"));
final Resource[] toGet = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"),
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "e"), };
+ model.createResource(AbstractRDFListContractTests.NS + "a"),
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "e"), };
final RDFList l1 = getListRoot(model);
@@ -465,7 +465,7 @@ AbstractModelProducerUser {
final Resource nil = model.getResource(RDF.nil.getURI());
RDFList list = nil.as(RDFList.class);
- final Resource r = model.createResource(AbstractRDFListTest.NS + "a");
+ final Resource r = model.createResource(AbstractRDFListContractTests.NS + "a");
// cons each a's onto the front of the list
for (int i = 0; i < 10; i++)
@@ -490,36 +490,36 @@ AbstractModelProducerUser {
// create a list of foos
final Resource[] r0 = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"), // canonical
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "e") };
+ model.createResource(AbstractRDFListContractTests.NS + "a"), // canonical
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "e") };
final Resource[] r1 = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"), // same
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "e") };
+ model.createResource(AbstractRDFListContractTests.NS + "a"), // same
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "e") };
final Resource[] r2 = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"), // one shorter
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d") };
+ model.createResource(AbstractRDFListContractTests.NS + "a"), // one shorter
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d") };
final Resource[] r3 = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"), // elements
+ model.createResource(AbstractRDFListContractTests.NS + "a"), // elements
// swapped
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "e") };
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "e") };
final Resource[] r4 = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"), // different
+ model.createResource(AbstractRDFListContractTests.NS + "a"), // different
// name
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "D"),
- model.createResource(AbstractRDFListTest.NS + "e") };
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "D"),
+ model.createResource(AbstractRDFListContractTests.NS + "e") };
final Object[][] testSpec = new Object[][] { { r0, r1, Boolean.TRUE },
{ r0, r2, Boolean.FALSE }, { r0, r3, Boolean.FALSE },
@@ -548,11 +548,11 @@ AbstractModelProducerUser {
model.read(getFileName("ontology/list5.rdf"));
final Resource[] toGet = new Resource[] {
- model.createResource(AbstractRDFListTest.NS + "a"),
- model.createResource(AbstractRDFListTest.NS + "b"),
- model.createResource(AbstractRDFListTest.NS + "c"),
- model.createResource(AbstractRDFListTest.NS + "d"),
- model.createResource(AbstractRDFListTest.NS + "e"), };
+ model.createResource(AbstractRDFListContractTests.NS + "a"),
+ model.createResource(AbstractRDFListContractTests.NS + "b"),
+ model.createResource(AbstractRDFListContractTests.NS + "c"),
+ model.createResource(AbstractRDFListContractTests.NS + "d"),
+ model.createResource(AbstractRDFListContractTests.NS + "e"), };
final RDFList l1 = getListRoot(model);
@@ -585,7 +585,7 @@ AbstractModelProducerUser {
model.read(getFileName("ontology/list5.rdf"));
final RDFList root = getListRoot(model);
- AbstractRDFListTest.iteratorTest(root.mapWith(new Map1<RDFNode, String>() {
+ AbstractRDFListContractTests.iteratorTest(root.mapWith(new Map1<RDFNode, String>() {
@Override
public String map1( final RDFNode x )
{
@@ -623,9 +623,9 @@ AbstractModelProducerUser {
RDFList list0 = nil.as(RDFList.class);
RDFList list1 = nil.as(RDFList.class);
- final Resource r0 = model.createResource(AbstractRDFListTest.NS + "x");
- final Resource r1 = model.createResource(AbstractRDFListTest.NS + "y");
- final Resource r2 = model.createResource(AbstractRDFListTest.NS + "z");
+ final Resource r0 = model.createResource(AbstractRDFListContractTests.NS + "x");
+ final Resource r1 = model.createResource(AbstractRDFListContractTests.NS + "y");
+ final Resource r2 = model.createResource(AbstractRDFListContractTests.NS + "z");
for (int i = 0; i < 10; i++)
{
@@ -716,8 +716,8 @@ AbstractModelProducerUser {
public void testSetHead()
{
- final Resource root = model.createResource(AbstractRDFListTest.NS + "root");
- final Property p = model.createProperty(AbstractRDFListTest.NS, "p");
+ final Resource root = model.createResource(AbstractRDFListContractTests.NS + "root");
+ final Property p = model.createProperty(AbstractRDFListContractTests.NS, "p");
// a list of the nil object, but not typed
final Resource nil = RDF.nil;
@@ -747,8 +747,8 @@ AbstractModelProducerUser {
{
final Model m = ModelFactory.createDefaultModel();
- final Resource root = m.createResource(AbstractRDFListTest.NS + "root");
- final Property p = m.createProperty(AbstractRDFListTest.NS, "p");
+ final Resource root = m.createResource(AbstractRDFListContractTests.NS + "root");
+ final Property p = m.createProperty(AbstractRDFListContractTests.NS, "p");
final Resource nil = RDF.nil;
m.add(nil, RDF.type, RDF.List);
@@ -809,8 +809,8 @@ AbstractModelProducerUser {
public void testValidity()
{
- final Resource root = model.createResource(AbstractRDFListTest.NS + "root");
- final Property p = model.createProperty(AbstractRDFListTest.NS, "p");
+ final Resource root = model.createResource(AbstractRDFListContractTests.NS + "root");
+ final Property p = model.createProperty(AbstractRDFListContractTests.NS, "p");
// a list of the nil object, but not typed
final Resource nil = RDF.nil;
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFReaderFContractTests.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFReaderFContractTests.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFReaderFContractTests.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFReaderFContractTests.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,132 @@
+package com.hp.hpl.jena.rdf.model;
+
+import java.io.InputStream;
+import java.io.Reader;
+
+import org.junit.Test;
+import com.hp.hpl.jena.shared.NoReaderForLangException;
+import com.hp.hpl.jena.testing_framework.TestFileData;
+import static org.junit.Assert.*;
+import static com.hp.hpl.jena.testing_framework.ModelHelper.*;
+
+public abstract class AbstractRDFReaderFContractTests {
+
+ protected abstract RDFReaderF getRDFReaderF();
+
+ @Test
+ public void testGetReader() throws Exception
+ {
+ RDFReader reader = getRDFReaderF().getReader();
+
+ Model model = ModelFactory.createDefaultModel();
+ // read the RDF file just to make sure we can
+
+ txnBegin( model );
+ reader.read(model, TestFileData.getRDFName());
+ txnCommit( model );
+ }
+
+ @Test
+ public void testGetReader_String() throws Exception
+ {
+ /*
+ RDF/XML - default
+ RDF/XML-ABBREV
+ N-TRIPLE
+ N3
+ */
+ Model model = ModelFactory.createDefaultModel();
+ RDFReader reader = getRDFReaderF().getReader( "RDF/XML");
+ // read the RDF file just to make sure we can
+ txnBegin( model );
+ reader.read(model, TestFileData.getRDFName());
+ txnCommit( model );
+
+
+ model = ModelFactory.createDefaultModel();
+ reader = getRDFReaderF().getReader( "RDF/XML-ABBREV");
+ // read the RDF file just to make sure we can
+ txnBegin( model );
+ reader.read(model, TestFileData.getRDFName());
+ txnCommit( model );
+
+ model = ModelFactory.createDefaultModel();
+ reader = getRDFReaderF().getReader( "N-TRIPLE");
+ // read the RDF file just to make sure we can
+ txnBegin( model );
+ reader.read(model, TestFileData.getTTLName());
+ txnCommit( model );
+
+ model = ModelFactory.createDefaultModel();
+ reader = getRDFReaderF().getReader( "N3");
+ // read the RDF file just to make sure we can
+ txnBegin( model );
+ reader.read(model, TestFileData.getTTLName());
+ txnCommit( model );
+
+ // try invalid value
+ try {
+ reader = getRDFReaderF().getReader( "foo");
+ }
+ catch (NoReaderForLangException expected)
+ {
+ // expected
+ }
+
+ }
+
+ @Test
+ public void testSetReaderClassName() throws Exception
+ {
+
+ String before = getRDFReaderF().setReaderClassName("foo", DummyReader.class.getName());
+
+ assertNull( "Should not be an existing name", before );
+
+ RDFReader reader = getRDFReaderF().getReader("foo");
+ assertEquals( "Wrong reader type", DummyReader.class, reader.getClass());
+
+ // FIXME add test when remove reader is available
+ //String s2 = getRDFReaderF().setReaderClassName("foo", null);
+ //assertEquals( DummyReader.class.getCanonicalName(), s2 );
+
+ //reader = getRDFReaderF().getReader("foo");
+ //assertNull( "should not return a reder", reader );
+
+ }
+
+ public static class DummyReader implements RDFReader {
+
+ @Override
+ public void read(Model model, Reader r, String base) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void read(Model model, InputStream r, String base) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void read(Model model, String url) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Object setProperty(String propName, Object propValue) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public RDFErrorHandler setErrorHandler(RDFErrorHandler errHandler) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFReaderFContractTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFWriterFContractTests.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFWriterFContractTests.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFWriterFContractTests.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFWriterFContractTests.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,118 @@
+package com.hp.hpl.jena.rdf.model;
+
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
+import java.io.Writer;
+
+import org.junit.Test;
+import com.hp.hpl.jena.shared.NoWriterForLangException;
+import com.hp.hpl.jena.testing_framework.TestFileData;
+import static org.junit.Assert.*;
+
+public abstract class AbstractRDFWriterFContractTests {
+
+ protected abstract RDFWriterF getRDFWriterF();
+
+ private Model model = ModelFactory.createModelForGraph( TestFileData.getGraph() );
+
+ @Test
+ public void testGetWriter() throws Exception
+ {
+ RDFWriter writer = getRDFWriterF().getWriter();
+
+ // write the RDF file just to make sure we can
+ writer.write(model, new ByteArrayOutputStream(), "http://example.com/base/");
+ }
+
+ @Test
+ public void testGetWriter_String() throws Exception
+ {
+ /*
+ RDF/XML - default
+ RDF/XML-ABBREV
+ N-TRIPLE
+ N3
+ */
+ Model model = ModelFactory.createDefaultModel();
+ RDFWriter writer = getRDFWriterF().getWriter( "RDF/XML");
+ // read the RDF file just to make sure we can
+ writer.write(model, new ByteArrayOutputStream(), "http://example.com/base/");
+
+
+
+ model = ModelFactory.createDefaultModel();
+ writer = getRDFWriterF().getWriter( "RDF/XML-ABBREV");
+ // read the RDF file just to make sure we can
+ writer.write(model, new ByteArrayOutputStream(), "http://example.com/base/");
+
+ model = ModelFactory.createDefaultModel();
+ writer = getRDFWriterF().getWriter( "N-TRIPLE");
+ // read the RDF file just to make sure we can
+ writer.write(model, new ByteArrayOutputStream(), "http://example.com/base/");
+
+ model = ModelFactory.createDefaultModel();
+ writer = getRDFWriterF().getWriter( "N3");
+ // read the RDF file just to make sure we can
+ writer.write(model, new ByteArrayOutputStream(), "http://example.com/base/");
+
+ // try invalid value
+ try {
+ writer = getRDFWriterF().getWriter( "foo");
+ }
+ catch (NoWriterForLangException expected)
+ {
+ // expected
+ }
+
+ }
+
+ @Test
+ public void testSetWriterClassName() throws Exception
+ {
+
+ String before = getRDFWriterF().setWriterClassName("foo", DummyWriter.class.getName());
+
+ assertNull( "Should not be an existing name", before );
+
+ RDFWriter writer = getRDFWriterF().getWriter("foo");
+ assertEquals( "Wrong reader type", DummyWriter.class, writer.getClass());
+
+ // FIXME add test when remove reader is available
+// String s2 = getRDFWriterF().setWriterClassName("foo", null);
+// assertEquals( DummyWriter.class.getCanonicalName(), s2 );
+//
+// writer = getRDFWriterF().getWriter("foo");
+// assertNull( "should not return a reder", writer );
+
+ }
+
+ public static class DummyWriter implements RDFWriter {
+
+ @Override
+ public void write(Model model, Writer out, String base) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void write(Model model, OutputStream out, String base) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Object setProperty(String propName, Object propValue) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public RDFErrorHandler setErrorHandler(RDFErrorHandler errHandler) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFWriterFContractTests.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractReifiedStatementsTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractReifiedStatementsTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractReifiedStatementsTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractReifiedStatementsTest.java Sat Sep 21 20:11:59 2013
@@ -69,7 +69,7 @@ public abstract class AbstractReifiedSta
}
@Before
- public void setupAbstractTestReifiedStatements() {
+ final public void setupAbstractTestReifiedStatements() {
model = getModelProducer().newModel();
final Resource S2 = model
.createResource(AbstractReifiedStatementsTest.anchor
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractSeqMethodsTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractSeqMethodsTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractSeqMethodsTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractSeqMethodsTest.java Sat Sep 21 20:11:59 2013
@@ -84,7 +84,7 @@ public abstract class AbstractSeqMethods
}
@Before
- public void setUpSeqMethodsTest() throws Exception {
+ final public void setUpSeqMethodsTest() throws Exception {
aLitTestObj = new LitTestObj(12345);
tvLiteral = model.createLiteral("test 12 string 2");
tvResource = model.createResource();
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractStatementTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractStatementTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractStatementTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractStatementTest.java Sat Sep 21 20:11:59 2013
@@ -18,6 +18,8 @@
package com.hp.hpl.jena.rdf.model;
+import java.util.StringTokenizer;
+
import com.hp.hpl.jena.graph.FrontsTriple;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.Property;
@@ -31,17 +33,37 @@ import static com.hp.hpl.jena.testing_fr
import com.hp.hpl.jena.vocabulary.RDF;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
public abstract class AbstractStatementTest extends AbstractModelProducerUser {
+ private Model model;
+
+ @Before
+ final public void setupAbstractStatementTest()
+ {
+ model = getModelProducer().newModel();
+ }
+
+
+ private Statement createModelStatement( String fact )
+ {
+ StringTokenizer st = new StringTokenizer(fact);
+ Resource sub = resource( st.nextToken());
+ Property pred = property( st.nextToken());
+ RDFNode obj = rdfNode( st.nextToken());
+ return model.createStatement(sub, pred, obj);
+ }
+
@Test
public void testHasWellFormedXML()
{
- Assert.assertFalse(statement("s P 1").hasWellFormedXML());
- Assert.assertFalse(statement("S P '<x>/x>'rdf:XMLLiteral")
+
+ Assert.assertFalse(createModelStatement("s P 1").hasWellFormedXML());
+ Assert.assertFalse(createModelStatement("S P '<x>/x>'rdf:XMLLiteral")
.hasWellFormedXML());
- Assert.assertTrue(statement("S P '<x></x>'rdf:XMLLiteral")
+ Assert.assertTrue(createModelStatement("S P '<x></x>'rdf:XMLLiteral")
.hasWellFormedXML());
}
@@ -78,9 +100,8 @@ public abstract class AbstractStatementT
@Test
public void testPortingBlankNodes()
{
- final Model B = getModelProducer().newModel();
final Resource anon = resource(); //model.createResource();
- final Resource bAnon = anon.inModel(B);
+ final Resource bAnon = anon.inModel(model);
Assert.assertTrue("moved resource should still be blank",
bAnon.isAnon());
Assert.assertEquals("move resource should equal original", anon, bAnon);
@@ -89,17 +110,16 @@ public abstract class AbstractStatementT
@Test
public void testSet()
{
- final Model A = getModelProducer().newModel();
- final Resource S = A.createResource("jena:S");
- A.createResource("jena:R");
- final Property P = A.createProperty("jena:P");
- final RDFNode O = A.createResource("jena:O");
- final Statement spo = A.createStatement(S, P, O);
- A.add(spo);
- final Statement sps = A.createStatement(S, P, S);
+ final Resource S = model.createResource("jena:S");
+ model.createResource("jena:R");
+ final Property P = model.createProperty("jena:P");
+ final RDFNode O = model.createResource("jena:O");
+ final Statement spo = model.createStatement(S, P, O);
+ model.add(spo);
+ final Statement sps = model.createStatement(S, P, S);
Assert.assertEquals(sps, spo.changeObject(S));
- Assert.assertFalse(A.contains(spo));
- Assert.assertTrue(A.contains(sps));
+ Assert.assertFalse(model.contains(spo));
+ Assert.assertTrue(model.contains(sps));
}
/**
@@ -113,7 +133,6 @@ public abstract class AbstractStatementT
final String fakeURI = "fake:URI";
final Resource S = resource();
final Property P = property( "PP");
- Model model = getModelProducer().newModel();
final RDFNode O = model.createTypedLiteral("42", fakeURI);
final Statement st = model.createStatement(S, P, O);
Assert.assertTrue(st.toString().indexOf(fakeURI) > 0);
@@ -122,7 +141,7 @@ public abstract class AbstractStatementT
@Test
public void testStatmentMap1Selectors()
{
- Statement s = statement(getModelProducer().newModel(), "sub pred obj");
+ Statement s = createModelStatement("sub pred obj");
Assert.assertEquals(resource("sub"),
Statement.Util.getSubject.map1(s));
Assert.assertEquals(resource("pred"),
@@ -153,7 +172,7 @@ public abstract class AbstractStatementT
public void testTripleWrapper()
{
assertInstanceOf(FrontsTriple.class,
- statement(getModelProducer().newModel(), "s p o"));
+ createModelStatement( "s p o"));
}
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/DefaultModelTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/DefaultModelTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/DefaultModelTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/DefaultModelTest.java Sat Sep 21 20:11:59 2013
@@ -19,11 +19,13 @@
package com.hp.hpl.jena.rdf.model;
+import org.junit.Test;
+
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
import com.hp.hpl.jena.testing_framework.ModelProducerInterface;
-public class DefaultModelTest extends AbstractModelTest
+public class DefaultModelTest extends AbstractModelContractTests
{
ModelProducerInterface producer = new AbstractModelProducer(){
@@ -39,6 +41,14 @@ public class DefaultModelTest extends Ab
@Override
public ModelProducerInterface getModelProducer() {
return producer;
+ }
+
+
+ @Override
+ @Test
+ public void testIndependent() {
+ // TODO Auto-generated method stub
+
}
}
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/RecordingModelListener.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/RecordingModelListener.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/RecordingModelListener.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/RecordingModelListener.java Sat Sep 21 20:11:59 2013
@@ -23,6 +23,7 @@ import static com.hp.hpl.jena.testing_fr
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
import org.junit.Assert;
@@ -85,7 +86,7 @@ public class RecordingModelListener impl
}
}
- List<Object> history = new ArrayList<Object>();
+ private List<Object> history = new ArrayList<Object>();
@Override
public void addedStatement( Statement s )
@@ -137,14 +138,22 @@ public void removedStatement( Statement
protected void record( String tag, Object info )
{ history.add( tag ); history.add( info ); }
- public boolean has( Object [] things )
+ public boolean has( Object ... things )
{ return history.equals( Arrays.asList( things ) ); }
- public void assertHas( Object [] things )
+ public void assertHas( Object ... things )
{
if (has( things ) == false)
Assert.fail( "expected " + Arrays.asList( things ) + " but got " + history );
- }
+ }
+
+ public void assertEmpty()
+ {
+ if (history.size() > 0)
+ {
+ Assert.fail( "Should be no history but got "+history );
+ }
+ }
public boolean has( List<?> things )
{ return history.equals( things ); }
@@ -157,14 +166,17 @@ public void removedStatement( Statement
public void assertHas( List<?> things )
{ if (has( things ) == false) Assert.fail( "expected " + things + " but got " + history ); }
-
- public void assertHasStart( Object [] start )
+
+ public void assertContains( Object... things )
+ { if (contains( things ) == false) Assert.fail( "expected " + things + " but got " + history ); }
+
+ public void assertHasStart( Object... start )
{
List<Object> L = Arrays.asList( start );
if (hasStart( L ) == false) Assert.fail( "expected " + L + " at the beginning of " + history );
}
- public void assertHasEnd( Object [] end )
+ public void assertHasEnd( Object... end )
{
List<Object> L = Arrays.asList( end );
if (hasEnd( L ) == false) Assert.fail( "expected " + L + " at the end of " + history );
@@ -173,4 +185,42 @@ public void removedStatement( Statement
public void clear()
{ history.clear(); }
+ public boolean contains( Object ...objects )
+ {
+ for (int i=0;i<history.size();i++)
+ {
+ if (history.get(i).equals( objects[0]))
+ {
+ boolean found = true;
+ for (int j=1;j<objects.length;j++)
+ {
+ if (i+j >= history.size())
+ {
+ found = false;
+ break;
+ }
+ if (! history.get(i+j).equals(objects[j]))
+ {
+ found = false;
+ break;
+ }
+ }
+ if (found)
+ {
+ return true;
+ }
+ }
+
+ }
+ return false;
+
+ }
+
+ public Iterator<Object> from( Object start )
+ {
+ Iterator<Object> iter = history.iterator();
+ while (iter.hasNext() && !iter.next().equals( start ))
+ ; // loop
+ return iter;
+ }
}
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/IteratorTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/IteratorTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/IteratorTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/IteratorTest.java Sat Sep 21 20:11:59 2013
@@ -1,7 +1,7 @@
package com.hp.hpl.jena.rdf.model.temp;
import com.hp.hpl.jena.rdf.model.AbstractIteratorTest;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/LiteralTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/LiteralTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/LiteralTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/LiteralTest.java Sat Sep 21 20:11:59 2013
@@ -1,7 +1,7 @@
package com.hp.hpl.jena.rdf.model.temp;
import com.hp.hpl.jena.rdf.model.AbstractLiteralTest;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelConTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelConTest.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelConTest.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelConTest.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,30 @@
+package com.hp.hpl.jena.rdf.model.temp;
+
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.AbstractModelConContractTests;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
+import com.hp.hpl.jena.testing_framework.ModelProducerInterface;
+
+
+
+public class ModelConTest extends AbstractModelConContractTests {
+
+ AbstractModelProducer producer = new AbstractModelProducer()
+ {
+
+ @Override
+ protected Model createNewModel() {
+ return ModelFactory.createDefaultModel();
+ }
+
+ };
+
+ @Override
+ public ModelProducerInterface getModelProducer() {
+ return producer;
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelConTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelGraphInterfaceTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelGraphInterfaceTest.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelGraphInterfaceTest.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelGraphInterfaceTest.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,46 @@
+package com.hp.hpl.jena.rdf.model.temp;
+
+import org.junit.After;
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.AbstractModelConContractTests;
+import com.hp.hpl.jena.rdf.model.AbstractModelGraphInterfaceContractTests;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.ModelGraphInterface;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
+import com.hp.hpl.jena.testing_framework.ModelProducerInterface;
+
+
+
+public class ModelGraphInterfaceTest extends AbstractModelGraphInterfaceContractTests {
+
+ AbstractModelProducer producer = new AbstractModelProducer()
+ {
+
+ @Override
+ protected Model createNewModel() {
+ return ModelFactory.createDefaultModel();
+ }
+
+ };
+
+ private Model model;
+
+
+ @After
+ final public void afterModelGraphInterfaceTest() {
+ producer.closeModels();
+ model = null;
+ }
+
+ @Override
+ protected ModelGraphInterface getModelGraphInterface() {
+ if (model == null)
+ {
+ model = producer.newModel();
+ }
+ return model;
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelGraphInterfaceTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListStatementTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListStatementTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListStatementTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListStatementTest.java Sat Sep 21 20:11:59 2013
@@ -1,7 +1,7 @@
package com.hp.hpl.jena.rdf.model.temp;
import com.hp.hpl.jena.rdf.model.AbstractListStatementsTest;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListSubjectsTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListSubjectsTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListSubjectsTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListSubjectsTest.java Sat Sep 21 20:11:59 2013
@@ -1,7 +1,7 @@
package com.hp.hpl.jena.rdf.model.temp;
import com.hp.hpl.jena.rdf.model.AbstractListSubjectsTest;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelLockTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelLockTest.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelLockTest.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelLockTest.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,30 @@
+package com.hp.hpl.jena.rdf.model.temp;
+
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.AbstractLockContractTests;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
+import com.hp.hpl.jena.testing_framework.ModelProducerInterface;
+
+
+
+public class ModelLockTest extends AbstractLockContractTests {
+
+ AbstractModelProducer producer = new AbstractModelProducer()
+ {
+
+ @Override
+ protected Model createNewModel() {
+ return ModelFactory.createDefaultModel();
+ }
+
+ };
+
+ @Override
+ public ModelProducerInterface getModelProducer() {
+ return producer;
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelLockTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelPrefixMappingTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelPrefixMappingTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelPrefixMappingTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelPrefixMappingTest.java Sat Sep 21 20:11:59 2013
@@ -1,7 +1,7 @@
package com.hp.hpl.jena.rdf.model.temp;
import com.hp.hpl.jena.rdf.model.AbstractModelPrefixMappingTest;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelSuite.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelSuite.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelSuite.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelSuite.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,27 @@
+package com.hp.hpl.jena.rdf.model.temp;
+
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+import com.hp.hpl.jena.rdf.model.AbstractModelContractSuite;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
+
+
+@RunWith(Suite.class)
+public class ModelSuite extends AbstractModelContractSuite {
+
+ @BeforeClass
+ public static void beforeClass() {
+ setModelProducer(new ModelProducer());
+ }
+
+ public static class ModelProducer extends AbstractModelProducer {
+ @Override
+ protected Model createNewModel() {
+ return ModelFactory.createDefaultModel();
+ }
+ }
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelSuite.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelTest.java Sat Sep 21 20:11:59 2013
@@ -1,6 +1,8 @@
package com.hp.hpl.jena.rdf.model.temp;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
@@ -8,7 +10,7 @@ import com.hp.hpl.jena.testing_framework
-public class ModelTest extends AbstractModelTest {
+public class ModelTest extends AbstractModelContractTests {
AbstractModelProducer producer = new AbstractModelProducer()
{
@@ -24,4 +26,11 @@ public class ModelTest extends AbstractM
public ModelProducerInterface getModelProducer() {
return producer;
}
+
+ @Override
+ @Test
+ public void testIndependent() {
+ // TODO Auto-generated method stub
+
+ }
}
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFListTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFListTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFListTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFListTest.java Sat Sep 21 20:11:59 2013
@@ -1,6 +1,6 @@
package com.hp.hpl.jena.rdf.model.temp;
-import com.hp.hpl.jena.rdf.model.AbstractRDFListTest;
+import com.hp.hpl.jena.rdf.model.AbstractRDFListContractTests;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
@@ -8,7 +8,7 @@ import com.hp.hpl.jena.testing_framework
-public class RDFListTest extends AbstractRDFListTest {
+public class RDFListTest extends AbstractRDFListContractTests {
AbstractModelProducer producer = new AbstractModelProducer()
{
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFReaderFTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFReaderFTest.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFReaderFTest.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFReaderFTest.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,46 @@
+package com.hp.hpl.jena.rdf.model.temp;
+
+import org.junit.After;
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.AbstractModelConContractTests;
+import com.hp.hpl.jena.rdf.model.AbstractRDFReaderFContractTests;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.RDFReaderF;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
+import com.hp.hpl.jena.testing_framework.ModelProducerInterface;
+
+
+
+public class RDFReaderFTest extends AbstractRDFReaderFContractTests {
+
+ Model model = null;
+ AbstractModelProducer producer = new AbstractModelProducer()
+ {
+
+ @Override
+ protected Model createNewModel() {
+ return ModelFactory.createDefaultModel();
+ }
+
+ };
+
+ @Override
+ protected RDFReaderF getRDFReaderF() {
+ // TODO Auto-generated method stub
+ if (model == null)
+ {
+ model = producer.newModel();
+ }
+ return model;
+ }
+
+ @After
+ public final void afterRDFReaderFTest()
+ {
+ producer.closeModels();
+ model = null;
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFReaderFTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFWriterFTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFWriterFTest.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFWriterFTest.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFWriterFTest.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,48 @@
+package com.hp.hpl.jena.rdf.model.temp;
+
+import org.junit.After;
+import org.junit.Test;
+
+import com.hp.hpl.jena.rdf.model.AbstractModelConContractTests;
+import com.hp.hpl.jena.rdf.model.AbstractRDFReaderFContractTests;
+import com.hp.hpl.jena.rdf.model.AbstractRDFWriterFContractTests;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.RDFReaderF;
+import com.hp.hpl.jena.rdf.model.RDFWriterF;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducer;
+import com.hp.hpl.jena.testing_framework.ModelProducerInterface;
+
+
+
+public class RDFWriterFTest extends AbstractRDFWriterFContractTests {
+
+ Model model = null;
+ AbstractModelProducer producer = new AbstractModelProducer()
+ {
+
+ @Override
+ protected Model createNewModel() {
+ return ModelFactory.createDefaultModel();
+ }
+
+ };
+
+ @Override
+ protected RDFWriterF getRDFWriterF() {
+ // TODO Auto-generated method stub
+ if (model == null)
+ {
+ model = producer.newModel();
+ }
+ return model;
+ }
+
+ @After
+ public final void afterRDFWriterFTest()
+ {
+ producer.closeModels();
+ model = null;
+ }
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFWriterFTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ReifiedStatementTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ReifiedStatementTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ReifiedStatementTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ReifiedStatementTest.java Sat Sep 21 20:11:59 2013
@@ -1,6 +1,6 @@
package com.hp.hpl.jena.rdf.model.temp;
-import com.hp.hpl.jena.rdf.model.AbstractModelTest;
+import com.hp.hpl.jena.rdf.model.AbstractModelContractTests;
import com.hp.hpl.jena.rdf.model.AbstractReifiedStatementsTest;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/ModelHelper.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/ModelHelper.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/ModelHelper.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/ModelHelper.java Sat Sep 21 20:11:59 2013
@@ -18,6 +18,7 @@
package com.hp.hpl.jena.testing_framework;
+import com.hp.hpl.jena.graph.Graph;
import com.hp.hpl.jena.graph.Node;
import com.hp.hpl.jena.rdf.model.Literal;
import com.hp.hpl.jena.rdf.model.Model;
@@ -31,6 +32,9 @@ import com.hp.hpl.jena.rdf.model.StmtIte
import com.hp.hpl.jena.shared.PrefixMapping;
import com.hp.hpl.jena.util.CollectionFactory;
+import static com.hp.hpl.jena.testing_framework.ModelHelper.modelAdd;
+import static com.hp.hpl.jena.testing_framework.ModelHelper.txnBegin;
+import static com.hp.hpl.jena.testing_framework.ModelHelper.txnCommit;
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.HashSet;
@@ -68,24 +72,6 @@ public class ModelHelper extends GraphHe
return nice(n.asNode());
}
- /**
- * create a Statement in a given Model with (S, P, O) extracted by parsing a
- * string.
- *
- * @param lockModel
- * the model the statement is attached to
- * @param an
- * "S P O" string.
- * @return model.createStatement(S, P, O)
- */
- public static Statement statement(Model m, String fact) {
- StringTokenizer st = new StringTokenizer(fact);
- Resource sub = resource(st.nextToken());
- Property pred = property(st.nextToken());
- RDFNode obj = rdfNode(st.nextToken());
- return m.createStatement(sub, pred, obj);
- }
-
public static Statement statement( String fact )
{
StringTokenizer st = new StringTokenizer(fact);
@@ -95,6 +81,11 @@ public class ModelHelper extends GraphHe
return builderModel.createStatement(sub, pred, obj);
}
+ public static Statement statement( Resource s, Property p, RDFNode o )
+ {
+ return builderModel.createStatement(s, p, o);
+ }
+
public static RDFNode rdfNode(Model m, String s) {
return m.asRDFNode(NodeCreateUtils.create(s));
}
@@ -114,9 +105,9 @@ public class ModelHelper extends GraphHe
public static Resource resource( String s )
{ return (Resource) rdfNode(s); }
- public static Resource resource(Model m, String s) {
- return (Resource) rdfNode(m, s);
- }
+// public static Resource resource(Model m, String s) {
+// return (Resource) rdfNode(m, s);
+// }
public static Property property( String s )
{ return rdfNode(s).as(Property.class); }
@@ -125,26 +116,31 @@ public class ModelHelper extends GraphHe
return rdfNode(m, s).as(Property.class);
}
+ public static Literal literal(String s, String lang)
+ {
+ return builderModel.createLiteral(s, lang);
+ }
+
public static Literal literal(String s) {
return rdfNode(s).as(Literal.class);
}
- /**
- * Create an array of Statements parsed from a semi-separated string.
- *
- * @param lockModel
- * a model to serve as a statement factory
- * @param facts
- * a sequence of semicolon-separated "S P O" facts
- * @return a Statement[] of the (S P O) statements from the string
- */
- public static Statement[] statements(Model m, String facts) {
- ArrayList<Statement> sl = new ArrayList<Statement>();
- StringTokenizer st = new StringTokenizer(facts, ";");
- while (st.hasMoreTokens())
- sl.add(statement(m, st.nextToken()));
- return sl.toArray(new Statement[sl.size()]);
- }
+// /**
+// * Create an array of Statements parsed from a semi-separated string.
+// *
+// * @param lockModel
+// * a model to serve as a statement factory
+// * @param facts
+// * a sequence of semicolon-separated "S P O" facts
+// * @return a Statement[] of the (S P O) statements from the string
+// */
+// public static Statement[] statements(Model m, String facts) {
+// ArrayList<Statement> sl = new ArrayList<Statement>();
+// StringTokenizer st = new StringTokenizer(facts, ";");
+// while (st.hasMoreTokens())
+// sl.add(statement(m, st.nextToken()));
+// return sl.toArray(new Statement[sl.size()]);
+// }
/**
* Create an array of Statements parsed from a semi-separated string.
@@ -194,7 +190,9 @@ public class ModelHelper extends GraphHe
/**
* add to a model all the statements expressed by a string.
*
- * @param lockModel
+ * Does not do any transaction manipulation.
+ *
+ * @param m
* the model to be updated
* @param facts
* a sequence of semicolon-separated "S P O" facts
@@ -202,31 +200,74 @@ public class ModelHelper extends GraphHe
*/
public static Model modelAdd(Model m, String facts) {
StringTokenizer semis = new StringTokenizer(facts, ";");
- while (semis.hasMoreTokens())
- m.add(statement(semis.nextToken()));
+
+ while (semis.hasMoreTokens()) {
+ StringTokenizer st = new StringTokenizer(semis.nextToken());
+ Resource sub = resource( st.nextToken());
+ Property pred = property( st.nextToken());
+ RDFNode obj = rdfNode( st.nextToken());
+ m.add(sub,pred,obj);
+ }
+
return m;
}
+
+ /**
+ * create a memory based model with extended prefixes and initialises it with statements
+ * parsed from a string.
+ *
+ * does all insertions in a transaction.
+ *
+ * @param facts
+ * @return
+ */
+ public static Model memModel( String facts ) {
+ Model model = ModelFactory.createMemModelMaker().createFreshModel();
+ model.setNsPrefixes(PrefixMapping.Extended);
+ txnBegin( model );
+ modelAdd(model, facts);
+ txnCommit( model );
+ return model;
+ }
/**
- * makes a model with a given reiifcation style, initialised with statements
+ * Creates a model with extended prefixes and initialises it with statements
* parsed from a string.
*
+ * does all insertions in a transaction.
+ *
* @param facts
* a string in semicolon-separated "S P O" format
* @return a model containing those facts
*/
public static Model modelWithStatements(ModelProducerInterface producer,
String facts) {
- return modelAdd(createModel(producer), facts);
+ Model m = createModel(producer);
+ txnBegin( m );
+ modelAdd( m, facts );
+ txnCommit( m );
+ return m;
}
+ /**
+ * Creates a model with extended prefixes and initialises it with statements
+ * parsed from the statement iterator.
+ *
+ * does all insertions in a transaction.
+ *
+ * @param facts
+ * a string in semicolon-separated "S P O" format
+ * @return a model containing those facts
+ */
public static Model modelWithStatements( ModelProducerInterface producer, final StmtIterator it )
{
- final Model m = producer.newModel();
+ Model m = createModel(producer);
+ txnBegin( m );
while (it.hasNext())
{
m.add(it.nextStatement());
}
+ txnCommit( m );
return m;
}
@@ -240,15 +281,6 @@ public class ModelHelper extends GraphHe
}
/**
- * Answer a default model; it exists merely to abbreviate the rather long
- * explicit invocation.
- *
- * @return a new default [aka memory-based] model
- */
- // public static Model createMemModel()
- // { return ModelFactory.createDefaultModel(); }
-
- /**
* test that two models are isomorphic and fail if they are not.
*
* @param title
@@ -339,4 +371,41 @@ public class ModelHelper extends GraphHe
return "[" + Long.toString(content) + "]";
}
}
+
+ /**
+ * Begin a transaction on the model if transactions are supported.
+ *
+ * @param m
+ */
+ public static Model txnBegin(Model m) {
+ if (m.supportsTransactions()) {
+ return m.begin();
+ }
+ return m;
+ }
+
+ /**
+ * Commit the transaction on the model if transactions are supported.
+ *
+ * @param m
+ */
+ public static Model txnCommit(Model m) {
+ if (m.supportsTransactions()) {
+ return m.commit();
+ }
+ return m;
+ }
+
+ /**
+ * Rollback (abort) the transaction on the model if transactions are
+ * supported.
+ *
+ * @param m
+ */
+ public static Model txnRollback(Model m) {
+ if (m.supportsTransactions()) {
+ return m.abort();
+ }
+ return m;
+ }
}
Added: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestFileData.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestFileData.java?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestFileData.java (added)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestFileData.java Sat Sep 21 20:11:59 2013
@@ -0,0 +1,205 @@
+package com.hp.hpl.jena.testing_framework;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.StringReader;
+
+import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.NodeFactory;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.rdf.model.AnonId;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.sparql.graph.GraphFactory;
+
+
+/**
+ * Class that produces RDF and TTL data, a Graph and a Model that all contain the same data.
+ * This is used for various tests where files are read/written
+ *
+ */
+public class TestFileData {
+ private static String ttlStr()
+ {
+ String[] lines = {
+ "<http://example.com/subject> <http://example.com/predicate> <http://example.com/object> .",
+ "<e> <p5> 'verify base works' ."
+ };
+ return toDataString( lines );
+ }
+
+ private static String rdfStr()
+ {
+ String[] lines = {
+ "<rdf:RDF",
+ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"",
+ " xmlns:ex=\"http://example.com/\">",
+ " <rdf:Description rdf:about=\"http://example.com/subject\">",
+ " <ex:predicate rdf:resource=\"http://example.com/object\"/>",
+ " </rdf:Description>",
+ " <rdf:Description rdf:about=\"e\">",
+ " <ex:p5>verify base works</ex:p5>",
+ " </rdf:Description>",
+ "</rdf:RDF>"
+ };
+ return toDataString( lines );
+ }
+
+ private static String toDataString( String[] lines )
+ {
+ String eol = System.getProperty("line.separator");
+ StringBuilder sb = new StringBuilder();
+ for (String l : lines)
+ {
+ sb.append( l ).append(eol);
+ }
+ return sb.toString();
+ }
+
+ public static Graph getGraph()
+ {
+ Graph g = GraphFactory.createGraphMem();
+
+ g.add( new Triple( NodeFactory.createURI( "http://example.com/subject"),
+ NodeFactory.createURI( "http://example.com/predicate"),
+ NodeFactory.createURI( "http://example.com/object")
+ ) );
+
+ g.add( new Triple( NodeFactory.createAnon( AnonId.create("a")),
+ NodeFactory.createURI( "http://example.com/p1"),
+ NodeFactory.createAnon( AnonId.create("b"))
+ ) );
+
+ g.add( new Triple( NodeFactory.createAnon( AnonId.create("b")),
+ NodeFactory.createURI( "http://example.com/p2"),
+ NodeFactory.createLiteral( "foo" )
+ ) );
+
+ g.add( new Triple( NodeFactory.createURI( "http://example.com/ns/e"),
+ NodeFactory.createURI( "http://example.com/ns/p5"),
+ NodeFactory.createLiteral( "verify base works")
+ ) );
+
+ return g;
+ }
+
+ public static Model getModel()
+ {
+ return ModelFactory.createModelForGraph(getGraph());
+ }
+
+ public static InputStream getRDFInput()
+ {
+ return new ByteArrayInputStream( rdfStr().getBytes() );
+ }
+
+ public static InputStream getTTLInput()
+ {
+ return new ByteArrayInputStream( ttlStr().getBytes() );
+ }
+
+ public static Reader getRDFReader()
+ {
+ return new StringReader( rdfStr() );
+ }
+
+ public static Reader getTTLReader()
+ {
+ return new StringReader( ttlStr() );
+ }
+
+ public static String getRDFName() throws IOException
+ {
+ File f = File.createTempFile("tfd", ".rdf");
+ f.deleteOnExit();
+ FileOutputStream fos = new FileOutputStream( f );
+ fos.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>".getBytes());
+ fos.write( System.getProperty("line.separator").getBytes() );
+ fos.write( rdfStr().getBytes() );
+ fos.close();
+
+ return f.toURI().toURL().toExternalForm();
+ }
+
+ public static String getTTLName() throws IOException
+ {
+ File f = File.createTempFile("tfd", ".ttl");
+ f.deleteOnExit();
+ FileOutputStream fos = new FileOutputStream( f );
+ fos.write( ttlStr().getBytes() );
+ fos.close();
+
+ return f.toURI().toURL().toExternalForm();
+ }
+
+ @Test
+ public void testEquality()
+ {
+ Model ttl = ModelFactory.createDefaultModel().read( getTTLInput(), "http://example/ns/", "TTL");
+ Model rdf = ModelFactory.createDefaultModel().read( getRDFInput(), "http://example/ns/", "RDF/XML-ABBREV");
+
+ assertTrue( ttl.isIsomorphicWith( rdf ));
+ assertTrue( rdf.isIsomorphicWith( ttl ));
+ }
+
+ public static void main(String ... argv) throws Exception
+ {
+// //Model model = ModelFactory.createDefaultModel() ;
+// //String x = "<s> <p> 'verify it works' ." ;
+//
+//
+// //Reader sr = getTTLReader();
+// //model.read(sr, "http://example/", "TTL") ;
+// //model.read(sr, "", "TTL") ;
+// //model.read( getRDFInput() );
+// Model ttl = ModelFactory.createDefaultModel().read( getTTLInput(), "", "TTL");
+// Model rdf = ModelFactory.createDefaultModel().read( getRDFInput(), "", "RDF/XML-ABBREV");
+//
+// ttl.write(System.out, "RDF/XML-ABBREV") ;
+// System.out.println("-----") ;
+// // model.setNsPrefix("ex", "http://example/") ;
+// rdf.write(System.out, "N-TRIPLES") ;
+// System.out.println("-----") ;
+// System.out.println( getTTLName() );
+// System.out.println( "ttl iso rdf: "+ttl.isIsomorphicWith(rdf));
+//
+// System.out.println( getRDFName() );
+// System.out.println( "rdf iso ttl: "+rdf.isIsomorphicWith(ttl));
+
+ String[] lines = {
+ "<rdf:RDF",
+ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">",
+ " <rdf:Description rdf:about=\"e\">",
+ " <p5>verify base works</p5>",
+ " </rdf:Description>",
+ "</rdf:RDF>"
+ };
+
+ String eol = System.getProperty("line.separator");
+ StringBuilder sb = new StringBuilder();
+ for (String l : lines)
+ {
+ sb.append( l ).append(eol);
+ }
+
+ Model model = ModelFactory.createDefaultModel() ;
+
+ StringReader sr = new StringReader(sb.toString()) ;
+ model.read(sr, "http://example/") ;
+ model.write(System.out, "N-TRIPLES") ;
+ System.out.println("-----") ;
+ model.setNsPrefix("ex", "http://example/") ;
+ model.write(System.out, "RDF/XML-ABBREV", "http://another/") ;
+ }
+
+
+}
Propchange: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestFileData.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestUtils.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestUtils.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestUtils.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestUtils.java Sat Sep 21 20:11:59 2013
@@ -21,15 +21,20 @@ package com.hp.hpl.jena.testing_framewor
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.lang.reflect.*;
+import java.lang.reflect.Constructor;
import java.net.URISyntaxException;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.StringTokenizer;
import static org.junit.Assert.*;
-import java.util.*;
import com.hp.hpl.jena.util.CollectionFactory;
-import com.hp.hpl.jena.util.iterator.*;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator;
+import com.hp.hpl.jena.util.iterator.WrappedIterator;
/**
* A basis for Jena test cases which provides assertFalse and assertDiffer.
@@ -213,7 +218,7 @@ public class TestUtils {
private static URL getURL( String fn )
{
- URL u = GraphHelper.class.getClassLoader().getResource(fn);
+ URL u = TestUtils.class.getClassLoader().getResource(fn);
if (u == null) {
throw new RuntimeException(new FileNotFoundException(fn));
}
Added: jena/Experimental/new-test/src/test/resources/Copy of TestReaders.rdf
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/resources/Copy%20of%20TestReaders.rdf?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/resources/Copy of TestReaders.rdf (added)
+++ jena/Experimental/new-test/src/test/resources/Copy of TestReaders.rdf Sat Sep 21 20:11:59 2013
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<rdf:RDF
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+
+<rdfs:Class rdf:ID="Resource">
+ <rdfs:label xml:lang="en">Resource</rdfs:label>
+ <rdfs:label xml:lang="fr">Ressource</rdfs:label>
+ <rdfs:comment>The most general class</rdfs:comment>
+</rdfs:Class>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type">
+ <rdfs:label xml:lang="en">type</rdfs:label>
+ <rdfs:label xml:lang="fr">type</rdfs:label>
+ <rdfs:comment>Indicates membership of a class</rdfs:comment>
+ <rdfs:range rdf:resource="#Class"/>
+</rdf:Property>
+
+<rdf:Property rdf:ID="comment">
+ <rdfs:label xml:lang="en">comment</rdfs:label>
+ <rdfs:label xml:lang="fr">commentaire</rdfs:label>
+ <rdfs:domain rdf:resource="#Resource"/>
+ <rdfs:comment>Use this for descriptions</rdfs:comment>
+ <rdfs:range rdf:resource="#Literal"/>
+</rdf:Property>
+
+<rdf:Property rdf:ID="label">
+ <rdfs:label xml:lang="en">label</rdfs:label>
+ <rdfs:label xml:lang="fr">label</rdfs:label>
+ <rdfs:domain rdf:resource="#Resource"/>
+ <rdfs:comment>Provides a human-readable version of a rdf:resource name.</rdfs:comment>
+ <rdfs:range rdf:resource="#Literal"/>
+</rdf:Property>
+
+<rdfs:Class rdf:ID="Class">
+ <rdfs:label xml:lang="en">Class</rdfs:label>
+ <rdfs:label xml:lang="fr">Classe</rdfs:label>
+ <rdfs:comment>The concept of Class</rdfs:comment>
+ <rdfs:subClassOf rdf:resource="#Resource"/>
+</rdfs:Class>
+
+<rdf:Property rdf:ID="subClassOf">
+ <rdfs:label xml:lang="en">subClassOf</rdfs:label>
+ <rdfs:label xml:lang="fr">sousClasseDe</rdfs:label>
+ <rdfs:comment>Indicates membership of a class</rdfs:comment>
+ <rdfs:range rdf:resource="#Class"/>
+ <rdfs:domain rdf:resource="#Class"/>
+</rdf:Property>
+
+<rdf:Property rdf:ID="subPropertyOf">
+ <rdfs:label xml:lang="en">subPropertyOf</rdfs:label>
+ <rdfs:label xml:lang="fr">sousPropriétéDe</rdfs:label>
+ <rdfs:comment>Indicates specialization of properties</rdfs:comment>
+ <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
+ <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
+</rdf:Property>
+
+<rdf:Property rdf:ID="seeAlso">
+ <rdfs:label xml:lang="en">seeAlso</rdfs:label>
+ <rdfs:label xml:lang="fr">voirAussi</rdfs:label>
+ <rdfs:comment>Indicates a rdf:resource that provides information rdf:about the subject rdf:resource.</rdfs:comment>
+ <rdfs:range rdf:resource="#Resource"/>
+ <rdfs:domain rdf:resource="#Resource"/>
+</rdf:Property>
+
+<rdf:Property rdf:ID="isDefinedBy">
+ <rdfs:subPropertyOf rdf:resource="#seeAlso"/>
+ <rdfs:label xml:lang="en">isDefinedBy</rdfs:label>
+ <rdfs:label xml:lang="fr">esDéfiniPar</rdfs:label>
+ <rdfs:comment>Indicates a rdf:resource containing and defining the subject rdf:resource.</rdfs:comment>
+ <rdfs:range rdf:resource="#Resource"/>
+ <rdfs:domain rdf:resource="#Resource"/>
+</rdf:Property>
+
+<rdfs:Class rdf:ID="ConstraintResource">
+ <rdfs:label xml:lang="en">ConstraintResource</rdfs:label>
+ <rdfs:label xml:lang="fr">RessourceContrainte</rdfs:label>
+ <rdfs:subClassOf rdf:resource="#Resource"/>
+ <rdfs:comment>Resources used to express RDF Schema constraints.</rdfs:comment>
+</rdfs:Class>
+
+<rdfs:Class rdf:ID="ConstraintProperty">
+ <rdfs:label xml:lang="en">ConstraintProperty</rdfs:label>
+ <rdfs:label xml:lang="fr">PropriétéContrainte</rdfs:label>
+ <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
+ <rdfs:subClassOf rdf:resource="#ConstraintResource"/>
+ <rdfs:comment>Properties used to express RDF Schema constraints.</rdfs:comment>
+</rdfs:Class>
+
+<rdfs:ConstraintProperty rdf:ID="domain">
+ <rdfs:label xml:lang="en">domain</rdfs:label>
+ <rdfs:label xml:lang="fr">domaine</rdfs:label>
+ <rdfs:comment>This is how we associate a class with properties that its instances can have</rdfs:comment>
+</rdfs:ConstraintProperty>
+
+<rdfs:ConstraintProperty rdf:ID="range">
+ <rdfs:label xml:lang="en">range</rdfs:label>
+ <rdfs:label xml:lang="fr">étendue</rdfs:label>
+ <rdfs:comment>Properties that can be used in a schema to provide constraints</rdfs:comment>
+ <rdfs:range rdf:resource="#Class"/>
+ <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
+</rdfs:ConstraintProperty>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property">
+ <rdfs:label xml:lang="en">Property</rdfs:label>
+ <rdfs:label xml:lang="fr">Propriété</rdfs:label>
+ <rdfs:comment>The concept of a property.</rdfs:comment>
+ <rdfs:subClassOf rdf:resource="#Resource"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:ID="Literal">
+ <rdfs:label xml:lang="en">Literal</rdfs:label>
+ <rdfs:label xml:lang="fr">Littéral</rdfs:label>
+ <rdfs:comment>This represents the set of atomic values, eg. textual strings.</rdfs:comment>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement">
+ <rdfs:label xml:lang="en">Statement</rdfs:label>
+ <rdfs:label xml:lang="fr">Déclaration</rdfs:label>
+ <rdfs:subClassOf rdf:resource="#Resource"/>
+ <rdfs:comment>This represents the set of reified statements.</rdfs:comment>
+</rdfs:Class>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#subject">
+ <rdfs:label xml:lang="en">subject</rdfs:label>
+ <rdfs:label xml:lang="fr">sujet</rdfs:label>
+ <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
+ <rdfs:range rdf:resource="#Resource"/>
+</rdf:Property>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate">
+ <rdfs:label xml:lang="en">predicate</rdfs:label>
+ <rdfs:label xml:lang="fr">prédicat</rdfs:label>
+ <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
+ <rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
+</rdf:Property>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#object">
+ <rdfs:label xml:lang="en">object</rdfs:label>
+ <rdfs:label xml:lang="fr">objet</rdfs:label>
+ <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement"/>
+</rdf:Property>
+
+<rdfs:Class rdf:ID="Container">
+ <rdfs:label xml:lang="en">Container</rdfs:label>
+ <rdfs:label xml:lang="fr">Enveloppe</rdfs:label>
+ <rdfs:subClassOf rdf:resource="#Resource"/>
+ <rdfs:comment>This represents the set Containers.</rdfs:comment>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag">
+ <rdfs:label xml:lang="en">Bag</rdfs:label>
+ <rdfs:label xml:lang="fr">Ensemble</rdfs:label>
+ <rdfs:subClassOf rdf:resource="#Container"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq">
+ <rdfs:label xml:lang="en">Sequence</rdfs:label>
+ <rdfs:label xml:lang="fr">Séquence</rdfs:label>
+ <rdfs:subClassOf rdf:resource="#Container"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt">
+ <rdfs:label xml:lang="en">Alt</rdfs:label>
+ <rdfs:label xml:lang="fr">Choix</rdfs:label>
+ <rdfs:subClassOf rdf:resource="#Container"/>
+</rdfs:Class>
+
+<rdfs:Class rdf:ID="ContainerMembershipProperty">
+ <rdfs:label xml:lang="en">ContainerMembershipProperty</rdfs:label>
+ <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
+</rdfs:Class>
+
+<rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#value">
+ <rdfs:label xml:lang="en">object</rdfs:label>
+ <rdfs:label xml:lang="fr">value</rdfs:label>
+</rdf:Property>
+
+<rdf:Description rdf:about="http://www.w3.org/2000/01/rdf-schema#">
+ <rdfs:seeAlso rdf:resource="http://www.w3.org/2000/01/rdf-schema-more"/>
+</rdf:Description>
+
+</rdf:RDF>
Added: jena/Experimental/new-test/src/test/resources/TestReaders.nt
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/resources/TestReaders.nt?rev=1525287&view=auto
==============================================================================
--- jena/Experimental/new-test/src/test/resources/TestReaders.nt (added)
+++ jena/Experimental/new-test/src/test/resources/TestReaders.nt Sat Sep 21 20:11:59 2013
@@ -0,0 +1,20 @@
+
+# comment at the beginning of a line
+
+ # comment in the middle of a line
+
+# comments on
+# consecutive lines
+
+
+
+<http://subject> <http://predicate> <http://object> .
+_:a <http://test/p1> _:b .
+
+_:b <http://test/p2> "foo" .
+
+_:c <http://test/p3> "foo\"\\\n\r\tbar" .
+
+_:d <http://test/p4> "foo\u000Abar" .
+
+<e> <p5> "verify base works" .