You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/01/14 23:38:37 UTC
svn commit: r1433184 [8/9] - in /jena/trunk/jena-core/src:
main/java/com/hp/hpl/jena/graph/compose/
test/java/com/hp/hpl/jena/graph/compose/test/
test/java/com/hp/hpl/jena/graph/test/ test/java/com/hp/hpl/jena/mem/test/
test/java/com/hp/hpl/jena/rdf/ar...
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleListStatements.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleListStatements.java?rev=1433184&r1=1433183&r2=1433184&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleListStatements.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleListStatements.java Mon Jan 14 22:38:35 2013
@@ -1,14 +1,14 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,205 +18,245 @@
package com.hp.hpl.jena.rdf.model.test;
-/**
- @author bwm out of kers
-*/
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.Selector;
+import com.hp.hpl.jena.rdf.model.SimpleSelector;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+import com.hp.hpl.jena.rdf.model.test.helpers.ModelHelper;
+import com.hp.hpl.jena.rdf.model.test.helpers.TestingModelFactory;
+import com.hp.hpl.jena.vocabulary.RDF;
import java.util.List;
-import com.hp.hpl.jena.rdf.model.*;
-import com.hp.hpl.jena.vocabulary.*;
+import junit.framework.Assert;
+public class TestSimpleListStatements extends AbstractModelTestBase
+{
-import junit.framework.*;
+ static boolean booleanValue = true;
-public class TestSimpleListStatements extends ModelTestBase
- {
-
- public TestSimpleListStatements( String name )
- { super( name ); }
-
- public static TestSuite suite()
- { return new TestSuite( TestSimpleListStatements.class ); }
-
- Model model = null;
-
- static boolean booleanValue = true;
- static char charValue = 'c';
- static long longValue = 456;
- static float floatValue = 5.67F;
- static double doubleValue = 6.78;
- static String stringValue ="stringValue";
- static String langValue = "en";
-
- @Override
- protected void setUp() throws java.lang.Exception {
-
- model = ModelFactory.createDefaultModel();
- model.createResource("http://example.org/boolean")
- .addLiteral(RDF.value, booleanValue);
- model.createResource("http://example.org/char")
- .addLiteral(RDF.value, charValue);
- model.createResource("http://example.org/long")
- .addLiteral(RDF.value, longValue);
- model.createResource("http://example.org/float")
- .addLiteral(RDF.value, floatValue);
- model.createResource("http://example.org/double")
- .addLiteral(RDF.value, doubleValue);
- model.createResource("http://example.org/string")
- .addProperty(RDF.value, stringValue);
- model.createResource("http://example.org/langString")
- .addProperty(RDF.value, stringValue, langValue);
-
- }
-
- @Override
- protected void tearDown() throws java.lang.Exception {
- model.close();
- model = null;
- }
-
- public void testBoolean()
- {
- List<Statement> got = model.listLiteralStatements( null, null, booleanValue ).toList();
- assertEquals( 1, got.size() );
- Statement it = got.get( 0 );
- assertEquals( resource( "http://example.org/boolean" ), it.getSubject() );
- assertEquals( model.createTypedLiteral( booleanValue ), it.getObject() );
- }
-
- public void testChar()
- {
- List<Statement> got = model.listLiteralStatements( null, null, charValue ).toList();
- assertEquals( 1, got.size() );
- Statement it = got.get( 0 );
- assertEquals( resource( "http://example.org/char" ), it.getSubject() );
- assertEquals( model.createTypedLiteral( charValue ), it.getObject() );
- }
-
- public void testLong()
- {
- List<Statement> got = model.listLiteralStatements( null, null, longValue ).toList();
- assertEquals( 1, got.size() );
- Statement it = got.get( 0 );
- assertEquals( resource( "http://example.org/long" ), it.getSubject() );
- assertEquals( model.createTypedLiteral( longValue ), it.getObject() );
- }
-
- public void testFloat()
- {
- List<Statement> got = model.listLiteralStatements( null, null, floatValue ).toList();
- assertEquals( 1, got.size() );
- Statement it = got.get( 0 );
- assertEquals( resource( "http://example.org/float" ), it.getSubject() );
- assertEquals( model.createTypedLiteral( floatValue ), it.getObject() );
- }
-
- public void testDouble()
- {
- List<Statement> got = model.listLiteralStatements( null, null, doubleValue ).toList();
- assertEquals( 1, got.size() );
- Statement it = got.get( 0 );
- assertEquals( resource( "http://example.org/double" ), it.getSubject() );
- assertEquals( model.createTypedLiteral( doubleValue ), it.getObject() );
- }
-
- public void testString() {
- StmtIterator iter = model.listStatements(null, null, stringValue);
- int i =0;
- while (iter.hasNext()) {
- i++;
- assertEquals(iter.nextStatement().getSubject().getURI(),
- "http://example.org/string");
- }
- assertEquals(1, i);
- }
-
- public void testLangString() {
- StmtIterator iter = model.listStatements(null, null,
- stringValue, langValue);
- int i =0;
- while (iter.hasNext()) {
- i++;
- assertEquals(iter.nextStatement().getSubject().getURI(),
- "http://example.org/langString");
- }
- assertEquals(1, i);
- }
-
-
- public void testAll() {
- StmtIterator iter = model.listStatements(null, null, (RDFNode) null);
- int i =0;
- while (iter.hasNext()) {
- i++;
- iter.next();
- }
- assertEquals(7, i);
- }
-
- public void testAllString() {
- StmtIterator iter = model.listStatements(null, null, (String) null);
- int i =0;
- while (iter.hasNext()) {
- i++;
- iter.next();
- }
- assertEquals(7, i);
- }
-
- public Model modelWithStatements( StmtIterator it )
- {
- Model m = ModelFactory.createDefaultModel();
- while (it.hasNext()) m.add( it.nextStatement() );
- return m;
- }
-
- public void checkReturns( String things, StmtIterator it )
- {
- Model wanted = modelWithStatements( things );
- Model got = modelWithStatements( it );
- if (wanted.isIsomorphicWith( got ) == false)
- fail( "wanted " + wanted + " got " + got );
- }
-
- public void testListStatementsSPO()
- {
- Model m = ModelFactory.createDefaultModel();
- Resource A = resource( m, "A" ), X = resource( m, "X" );
- Property P = property( m, "P" ), P1 = property( m, "P1" );
- RDFNode O = resource( m, "O" ), Y = resource( m, "Y" );
- String S1 = "S P O; S1 P O; S2 P O";
- String S2 = "A P1 B; A P1 B; A P1 C";
- String S3 = "X P1 Y; X P2 Y; X P3 Y";
- modelAdd( m, S1 );
- modelAdd( m, S2 );
- modelAdd( m, S3 );
- checkReturns( S1, m.listStatements( null, P, O ) );
- checkReturns( S2, m.listStatements( A, P1, (RDFNode) null ) );
- checkReturns( S3, m.listStatements( X, null, Y ) );
- m.close();
- }
-
- public void testListStatementsClever()
- {
- Model m = ModelFactory.createDefaultModel();
- modelAdd( m, "S P O; S P O2; S P2 O; S2 P O" );
- Selector sel = new SimpleSelector( null, null, (RDFNode) null )
- {
- @Override
- public boolean test( Statement st )
- { return
- st.getSubject().toString().length()
- + st.getPredicate().toString().length()
- + st.getObject().toString().length()
- == 15; /* eh:/S + eh:/P + eh:/O */
- }
-
- @Override
- public boolean isSimple()
- { return false; }
- };
- checkReturns( "S P O", m.listStatements( sel ) );
- }
+ static char charValue = 'c';
+ static long longValue = 456;
+ static float floatValue = 5.67F;
+ static double doubleValue = 6.78;
+ static String stringValue = "stringValue";
+ static String langValue = "en";
+
+ public TestSimpleListStatements( final TestingModelFactory modelFactory,
+ final String name )
+ {
+ super(modelFactory, name);
+ }
+
+ public void checkReturns( final String things, final StmtIterator it )
+ {
+ final Model wanted = ModelHelper.modelWithStatements(this, things);
+ final Model got = modelWithStatements(it);
+ if (wanted.isIsomorphicWith(got) == false)
+ {
+ Assert.fail("wanted " + wanted + " got " + got);
+ }
+ }
+
+ public Model modelWithStatements( final StmtIterator it )
+ {
+ final Model m = createModel();
+ while (it.hasNext())
+ {
+ m.add(it.nextStatement());
+ }
+ return m;
+ }
+
+ @Override
+ public void setUp() throws Exception
+ {
+
+ super.setUp();
+ model.createResource("http://example.org/boolean").addLiteral(
+ RDF.value, TestSimpleListStatements.booleanValue);
+ model.createResource("http://example.org/char").addLiteral(RDF.value,
+ TestSimpleListStatements.charValue);
+ model.createResource("http://example.org/long").addLiteral(RDF.value,
+ TestSimpleListStatements.longValue);
+ model.createResource("http://example.org/float").addLiteral(RDF.value,
+ TestSimpleListStatements.floatValue);
+ model.createResource("http://example.org/double").addLiteral(RDF.value,
+ TestSimpleListStatements.doubleValue);
+ model.createResource("http://example.org/string").addProperty(
+ RDF.value, TestSimpleListStatements.stringValue);
+ model.createResource("http://example.org/langString").addProperty(
+ RDF.value, TestSimpleListStatements.stringValue,
+ TestSimpleListStatements.langValue);
+
+ }
+
+ public void testAll()
+ {
+ final StmtIterator iter = model.listStatements(null, null,
+ (RDFNode) null);
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ iter.next();
+ }
+ Assert.assertEquals(7, i);
+ }
+
+ public void testAllString()
+ {
+ final StmtIterator iter = model.listStatements(null, null,
+ (String) null);
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ iter.next();
+ }
+ Assert.assertEquals(7, i);
+ }
+
+ public void testBoolean()
+ {
+ final List<Statement> got = model.listLiteralStatements(null, null,
+ TestSimpleListStatements.booleanValue).toList();
+ Assert.assertEquals(1, got.size());
+ final Statement it = got.get(0);
+ Assert.assertEquals(ModelHelper.resource("http://example.org/boolean"),
+ it.getSubject());
+ Assert.assertEquals(
+ model.createTypedLiteral(TestSimpleListStatements.booleanValue),
+ it.getObject());
+ }
+
+ public void testChar()
+ {
+ final List<Statement> got = model.listLiteralStatements(null, null,
+ TestSimpleListStatements.charValue).toList();
+ Assert.assertEquals(1, got.size());
+ final Statement it = got.get(0);
+ Assert.assertEquals(ModelHelper.resource("http://example.org/char"),
+ it.getSubject());
+ Assert.assertEquals(
+ model.createTypedLiteral(TestSimpleListStatements.charValue),
+ it.getObject());
+ }
+
+ public void testDouble()
+ {
+ final List<Statement> got = model.listLiteralStatements(null, null,
+ TestSimpleListStatements.doubleValue).toList();
+ Assert.assertEquals(1, got.size());
+ final Statement it = got.get(0);
+ Assert.assertEquals(ModelHelper.resource("http://example.org/double"),
+ it.getSubject());
+ Assert.assertEquals(
+ model.createTypedLiteral(TestSimpleListStatements.doubleValue),
+ it.getObject());
+ }
+
+ public void testFloat()
+ {
+ final List<Statement> got = model.listLiteralStatements(null, null,
+ TestSimpleListStatements.floatValue).toList();
+ Assert.assertEquals(1, got.size());
+ final Statement it = got.get(0);
+ Assert.assertEquals(ModelHelper.resource("http://example.org/float"),
+ it.getSubject());
+ Assert.assertEquals(
+ model.createTypedLiteral(TestSimpleListStatements.floatValue),
+ it.getObject());
+ }
+
+ public void testLangString()
+ {
+ final StmtIterator iter = model.listStatements(null, null,
+ TestSimpleListStatements.stringValue,
+ TestSimpleListStatements.langValue);
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ Assert.assertEquals(iter.nextStatement().getSubject().getURI(),
+ "http://example.org/langString");
+ }
+ Assert.assertEquals(1, i);
+ }
+
+ public void testListStatementsClever()
+ {
+
+ ModelHelper.modelAdd(model, "S P O; S P O2; S P2 O; S2 P O");
+ final Selector sel = new SimpleSelector(null, null, (RDFNode) null) {
+ @Override
+ public boolean isSimple()
+ {
+ return false;
+ }
+
+ @Override
+ public boolean test( final Statement st )
+ {
+ return (st.getSubject().toString().length()
+ + st.getPredicate().toString().length() + st
+ .getObject().toString().length()) == 15; /*
+ * eh:/S + eh:/P
+ * + eh:/O
+ */
+ }
+ };
+ checkReturns("S P O", model.listStatements(sel));
+ }
+
+ public void testListStatementsSPO()
+ {
+
+ final Resource A = ModelHelper.resource(model, "A"), X = ModelHelper
+ .resource(model, "X");
+ final Property P = ModelHelper.property(model, "P"), P1 = ModelHelper
+ .property(model, "P1");
+ final RDFNode O = ModelHelper.resource(model, "O"), Y = ModelHelper
+ .resource(model, "Y");
+ final String S1 = "S P O; S1 P O; S2 P O";
+ final String S2 = "A P1 B; A P1 B; A P1 C";
+ final String S3 = "X P1 Y; X P2 Y; X P3 Y";
+ ModelHelper.modelAdd(model, S1);
+ ModelHelper.modelAdd(model, S2);
+ ModelHelper.modelAdd(model, S3);
+ checkReturns(S1, model.listStatements(null, P, O));
+ checkReturns(S2, model.listStatements(A, P1, (RDFNode) null));
+ checkReturns(S3, model.listStatements(X, null, Y));
+ }
+
+ public void testLong()
+ {
+ final List<Statement> got = model.listLiteralStatements(null, null,
+ TestSimpleListStatements.longValue).toList();
+ Assert.assertEquals(1, got.size());
+ final Statement it = got.get(0);
+ Assert.assertEquals(ModelHelper.resource("http://example.org/long"),
+ it.getSubject());
+ Assert.assertEquals(
+ model.createTypedLiteral(TestSimpleListStatements.longValue),
+ it.getObject());
+ }
+
+ public void testString()
+ {
+ final StmtIterator iter = model.listStatements(null, null,
+ TestSimpleListStatements.stringValue);
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ Assert.assertEquals(iter.nextStatement().getSubject().getURI(),
+ "http://example.org/string");
+ }
+ Assert.assertEquals(1, i);
+ }
}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleSelector.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleSelector.java?rev=1433184&r1=1433183&r2=1433184&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleSelector.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestSimpleSelector.java Mon Jan 14 22:38:35 2013
@@ -1,14 +1,14 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,120 +18,127 @@
package com.hp.hpl.jena.rdf.model.test;
-/**
- @author bwm out of kers
-*/
-
-import com.hp.hpl.jena.rdf.model.*;
-import com.hp.hpl.jena.vocabulary.*;
-
-import junit.framework.*;
-
-public class TestSimpleSelector extends TestCase
- {
-
- public TestSimpleSelector( String name )
- { super( name ); }
-
- public static TestSuite suite()
- { return new TestSuite( TestSimpleSelector.class ); }
-
- Model model = null;
-
- @Override
- protected void setUp() throws java.lang.Exception {
- model = ModelFactory.createDefaultModel();
- model.createResource()
- .addProperty(RDF.type, RDFS.Resource)
- .addProperty(RDFS.label, "foo")
- .addProperty(RDF.value, "123");
- model.createResource()
- .addProperty(RDF.type, RDFS.Resource)
- .addProperty(RDFS.label, "bar")
- .addProperty(RDF.value, "123");
-
- }
-
- @Override
- protected void tearDown() throws java.lang.Exception {
- model = null;
- }
-
- /**
- A plain SimpleSelector must be simple.
- */
- public void testSimpleIsSimple()
- { assertTrue( new SimpleSelector( null, null, (RDFNode) null ).isSimple() ); }
-
- /**
- A random sub-class of SimpleSelector must not be simple.
- */
- public void testSimpleSubclassIsntSimple()
- { assertFalse( new SimpleSelector( null, null, (RDFNode) null ){}.isSimple() ); }
-
- public void testAll() {
- StmtIterator iter = model.listStatements(
- new SimpleSelector(null, null, (RDFNode) null));
- int i =0;
- while (iter.hasNext()) {
- i++;
- iter.next();
- }
- assertEquals(6, i);
- }
-
- public void testFindProperty() {
- StmtIterator iter = model.listStatements(
- new SimpleSelector(null, RDFS.label, (RDFNode) null));
- int i =0;
- while (iter.hasNext()) {
- i++;
- Statement stmt = iter.nextStatement();
- assertEquals(RDFS.label, stmt.getPredicate());
- }
- assertEquals(2, i);
- }
-
- public void testFindObject() {
- StmtIterator iter = model.listStatements(
- new SimpleSelector(null, null, RDFS.Resource));
- int i =0;
- while (iter.hasNext()) {
- i++;
- Statement stmt = iter.nextStatement();
- assertEquals(RDFS.Resource, stmt.getObject());
- }
- assertEquals(2, i);
- }
-
- public void testFindSubject() {
- StmtIterator iter = model.listStatements(
- new SimpleSelector(null, null, RDFS.Resource));
- assertTrue(iter.hasNext());
- Resource subject = iter.nextStatement()
- .getSubject();
- iter = model.listStatements(
- new SimpleSelector(subject, null, (RDFNode) null));
- int i =0;
- while (iter.hasNext()) {
- i++;
- Statement stmt = iter.nextStatement();
- assertEquals(subject, stmt.getSubject());
- }
- assertEquals(3, i);
- }
-
- public void testFindPropertyAndObject() {
- StmtIterator iter = model.listStatements(
- new SimpleSelector(null, RDF.value, 123));
- int i =0;
- while (iter.hasNext()) {
- i++;
- Statement stmt = iter.nextStatement();
- assertEquals(RDF.value, stmt.getPredicate());
- assertEquals(123, stmt.getInt());
- }
- assertEquals(2, i);
- }
-
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.SimpleSelector;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+import com.hp.hpl.jena.rdf.model.test.helpers.TestingModelFactory;
+import com.hp.hpl.jena.vocabulary.RDF;
+import com.hp.hpl.jena.vocabulary.RDFS;
+
+import junit.framework.Assert;
+
+public class TestSimpleSelector extends AbstractModelTestBase
+{
+
+ public TestSimpleSelector( final TestingModelFactory modelFactory,
+ final String name )
+ {
+ super(modelFactory, name);
+ }
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ model.createResource().addProperty(RDF.type, RDFS.Resource)
+ .addProperty(RDFS.label, "foo").addProperty(RDF.value, "123");
+ model.createResource().addProperty(RDF.type, RDFS.Resource)
+ .addProperty(RDFS.label, "bar").addProperty(RDF.value, "123");
+
+ }
+
+ public void testAll()
+ {
+ final StmtIterator iter = model.listStatements(new SimpleSelector(null,
+ null, (RDFNode) null));
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ iter.next();
+ }
+ Assert.assertEquals(6, i);
+ }
+
+ public void testFindObject()
+ {
+ final StmtIterator iter = model.listStatements(new SimpleSelector(null,
+ null, RDFS.Resource));
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ final Statement stmt = iter.nextStatement();
+ Assert.assertEquals(RDFS.Resource, stmt.getObject());
+ }
+ Assert.assertEquals(2, i);
+ }
+
+ public void testFindProperty()
+ {
+ final StmtIterator iter = model.listStatements(new SimpleSelector(null,
+ RDFS.label, (RDFNode) null));
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ final Statement stmt = iter.nextStatement();
+ Assert.assertEquals(RDFS.label, stmt.getPredicate());
+ }
+ Assert.assertEquals(2, i);
+ }
+
+ public void testFindPropertyAndObject()
+ {
+ final StmtIterator iter = model.listStatements(new SimpleSelector(null,
+ RDF.value, 123));
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ final Statement stmt = iter.nextStatement();
+ Assert.assertEquals(RDF.value, stmt.getPredicate());
+ Assert.assertEquals(123, stmt.getInt());
+ }
+ Assert.assertEquals(2, i);
+ }
+
+ public void testFindSubject()
+ {
+ StmtIterator iter = model.listStatements(new SimpleSelector(null, null,
+ RDFS.Resource));
+ Assert.assertTrue(iter.hasNext());
+ final Resource subject = iter.nextStatement().getSubject();
+ iter = model.listStatements(new SimpleSelector(subject, null,
+ (RDFNode) null));
+ int i = 0;
+ while (iter.hasNext())
+ {
+ i++;
+ final Statement stmt = iter.nextStatement();
+ Assert.assertEquals(subject, stmt.getSubject());
+ }
+ Assert.assertEquals(3, i);
+ }
+
+ /**
+ * A plain SimpleSelector must be simple.
+ */
+ public void testSimpleIsSimple()
+ {
+ Assert.assertTrue(new SimpleSelector(null, null, (RDFNode) null)
+ .isSimple());
+ }
+
+ /**
+ * A random sub-class of SimpleSelector must not be simple.
+ */
+ public void testSimpleSubclassIsntSimple()
+ {
+ Assert.assertFalse(new SimpleSelector(null, null, (RDFNode) null) {
+ }.isSimple());
+ }
+
}
Added: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementCreation.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementCreation.java?rev=1433184&view=auto
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementCreation.java (added)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementCreation.java Mon Jan 14 22:38:35 2013
@@ -0,0 +1,190 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.rdf.model.test;
+
+import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
+import com.hp.hpl.jena.rdf.model.Literal;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.test.helpers.TestingModelFactory;
+import com.hp.hpl.jena.vocabulary.RDF;
+import com.hp.hpl.jena.vocabulary.RDFS;
+
+import junit.framework.Assert;
+
+public class TestStatementCreation extends AbstractModelTestBase
+{
+
+ static final String subjURI = "http://aldabaran.hpl.hp.com/foo";
+ static final String predURI = "http://aldabaran.hpl.hp.com/bar";
+
+ protected Resource r;
+ protected Property p;
+
+ public TestStatementCreation( final TestingModelFactory modelFactory,
+ final String name )
+ {
+ super(modelFactory, name);
+ }
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ r = model.createResource(TestStatementCreation.subjURI);
+ p = model.createProperty(TestStatementCreation.predURI);
+ }
+
+ @Override
+ public void tearDown() throws Exception
+ {
+ r = null;
+ p = null;
+ super.tearDown();
+ }
+
+ public void testCreateStatementByteMax()
+ {
+ final Statement s = model.createLiteralStatement(r, p, Byte.MAX_VALUE);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(Byte.MAX_VALUE, s.getByte());
+ }
+
+ public void testCreateStatementChar()
+ {
+ final Statement s = model.createLiteralStatement(r, p, '$');
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals('$', s.getChar());
+ }
+
+ public void testCreateStatementDouble()
+ {
+ final Statement s = model.createStatement(r, p,
+ model.createTypedLiteral(12345.67890d));
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(12345.67890d, s.getDouble(), 0.0000005);
+ }
+
+ public void testCreateStatementFactory()
+ {
+ final LitTestObj tv = new LitTestObj(Long.MIN_VALUE);
+ final Statement s = model.createLiteralStatement(r, p, tv);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ // assertEquals( tv, s.getObject( new LitTestObjF() ) );
+ }
+
+ public void testCreateStatementFloat()
+ {
+ final Statement s = model.createStatement(r, p,
+ model.createTypedLiteral(123.456f));
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(123.456f, s.getFloat(), 0.0005);
+ }
+
+ public void testCreateStatementIntMax()
+ {
+ final Statement s = model.createLiteralStatement(r, p,
+ Integer.MAX_VALUE);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(Integer.MAX_VALUE, s.getInt());
+ }
+
+ public void testCreateStatementLongMax()
+ {
+ final Statement s = model.createLiteralStatement(r, p, Long.MAX_VALUE);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(Long.MAX_VALUE, s.getLong());
+ }
+
+ public void testCreateStatementResource()
+ {
+ final Resource tv = model.createResource();
+ final Statement s = model.createStatement(r, p, tv);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(tv, s.getResource());
+ }
+
+ public void testCreateStatementShortMax()
+ {
+ final Statement s = model.createLiteralStatement(r, p, Short.MAX_VALUE);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(Short.MAX_VALUE, s.getShort());
+ }
+
+ public void testCreateStatementString()
+ {
+ final String string = "this is a plain string", lang = "en";
+ final Statement s = model.createStatement(r, p, string);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(string, s.getString());
+ Assert.assertEquals(lang, model.createStatement(r, p, string, lang)
+ .getLanguage());
+ }
+
+ public void testCreateStatementTrue()
+ {
+ final Statement s = model.createLiteralStatement(r, p, true);
+ Assert.assertEquals(r, s.getSubject());
+ Assert.assertEquals(p, s.getPredicate());
+ Assert.assertEquals(true, s.getBoolean());
+ }
+
+ public void testCreateStatementTypeLiteral()
+ {
+ final Model model = ModelFactory.createDefaultModel();
+ final Resource R = model.createResource("http://example/r");
+ final Property P = model.createProperty("http://example/p");
+ model.add(R, P, "2", XSDDatatype.XSDinteger);
+ final Literal L = ResourceFactory.createTypedLiteral("2",
+ XSDDatatype.XSDinteger);
+ Assert.assertTrue(model.contains(R, P, L));
+ Assert.assertFalse(model.contains(R, P, "2"));
+ }
+
+ public void testNotReified()
+ {
+ Statement s1 = null;
+ Statement s2 = null;
+ s1 = model
+ .createStatement(model.createResource(), RDF.type, RDFS.Class);
+ Assert.assertFalse("Should not be reified", s1.isReified());
+ model.add(s1);
+ Assert.assertFalse("Should not be reified", s1.isReified());
+
+ s2 = model
+ .createStatement(model.createResource(), RDF.type, RDFS.Class);
+ Assert.assertFalse("Should not be reified", s2.isReified());
+ model.add(s2);
+ Assert.assertFalse("Should not be reified", s2.isReified());
+ }
+}
Added: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementMethods.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementMethods.java?rev=1433184&view=auto
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementMethods.java (added)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatementMethods.java Mon Jan 14 22:38:35 2013
@@ -0,0 +1,422 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.rdf.model.test;
+
+import com.hp.hpl.jena.rdf.model.Alt;
+import com.hp.hpl.jena.rdf.model.Bag;
+import com.hp.hpl.jena.rdf.model.LiteralRequiredException;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceRequiredException;
+import com.hp.hpl.jena.rdf.model.Seq;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.test.helpers.TestingModelFactory;
+import com.hp.hpl.jena.test.JenaTestBase;
+import com.hp.hpl.jena.vocabulary.RDF;
+
+import junit.framework.Assert;
+
+// import com.hp.hpl.jena.regression.Regression.*;
+
+public class TestStatementMethods extends AbstractModelTestBase
+{
+
+ protected Resource r;
+
+ public TestStatementMethods( final TestingModelFactory modelFactory,
+ final String name )
+ {
+ super(modelFactory, name);
+ }
+
+ protected void checkChangedStatementSP( final Statement changed )
+ {
+ Assert.assertEquals(r, changed.getSubject());
+ Assert.assertEquals(RDF.value, changed.getPredicate());
+ }
+
+ protected void checkCorrectStatements( final Statement sTrue,
+ final Statement changed )
+ {
+ Assert.assertFalse(model.contains(sTrue));
+ Assert.assertFalse(model.containsLiteral(r, RDF.value, true));
+ Assert.assertTrue(model.contains(changed));
+ }
+
+ protected Statement loadInitialStatement()
+ {
+ final Statement sTrue = model
+ .createLiteralStatement(r, RDF.value, true);
+ model.add(sTrue);
+ return sTrue;
+ }
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ r = model.createResource();
+ }
+
+ public void testAlt()
+ {
+ final Alt tvAlt = model.createAlt();
+ Assert.assertEquals(tvAlt, model.createStatement(r, RDF.value, tvAlt)
+ .getAlt());
+ }
+
+ public void testBag()
+ {
+ final Bag tvBag = model.createBag();
+ Assert.assertEquals(tvBag, model.createStatement(r, RDF.value, tvBag)
+ .getBag());
+ }
+
+ public void testBoolean()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value, true);
+ Assert.assertEquals(model.createTypedLiteral(true), s.getObject());
+ Assert.assertEquals(true, s.getBoolean());
+ }
+
+ public void testByte()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvByte);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvByte),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvByte, s.getLong());
+ }
+
+ public void testChangeObjectBoolean()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement sFalse = sTrue.changeLiteralObject(false);
+ checkChangedStatementSP(sFalse);
+ Assert.assertEquals(model.createTypedLiteral(false), sFalse.getObject());
+ Assert.assertEquals(false, sFalse.getBoolean());
+ checkCorrectStatements(sTrue, sFalse);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value, false));
+ }
+
+ public void testChangeObjectByte()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvByte);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvByte),
+ changed.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvByte, changed.getByte());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvByte));
+ }
+
+ public void testChangeObjectChar()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvChar);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(AbstractModelTestBase.tvChar, changed.getChar());
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvChar),
+ changed.getObject());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvChar));
+ }
+
+ public void testChangeObjectDouble()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvDouble);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvDouble),
+ changed.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvDouble,
+ changed.getDouble(), AbstractModelTestBase.dDelta);
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvDouble));
+ }
+
+ public void testChangeObjectFloat()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvFloat);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvFloat),
+ changed.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvFloat, changed.getFloat(),
+ AbstractModelTestBase.fDelta);
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvFloat));
+ }
+
+ public void testChangeObjectInt()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvInt);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvInt),
+ changed.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvInt, changed.getInt());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvInt));
+ }
+
+ public void testChangeObjectLiteral()
+ {
+ final Statement sTrue = loadInitialStatement();
+ model.remove(sTrue);
+ Assert.assertFalse(model.contains(sTrue));
+ Assert.assertFalse(model.containsLiteral(r, RDF.value, true));
+ }
+
+ // public void testResObj()
+ // {
+ // Resource tvResObj = model.createResource( new ResTestObjF() );
+ // assertEquals( tvResObj, model.createStatement( r, RDF.value, tvResObj
+ // ).getResource() );
+ // }
+
+ // public void testLitObj()
+ // {
+ // assertEquals( tvLitObj, model.createLiteralStatement( r, RDF.value,
+ // tvLitObj ).getObject( new LitTestObjF() ) );
+ // }
+
+ public void testChangeObjectLong()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvLong);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvLong),
+ changed.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvLong, changed.getLong());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvLong));
+ }
+
+ public void testChangeObjectShort()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvShort);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvShort),
+ changed.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvShort, changed.getShort());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvShort));
+ }
+
+ public void testChangeObjectString()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeObject(AbstractModelTestBase.tvString);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(AbstractModelTestBase.tvString, changed.getString());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.contains(r, RDF.value,
+ AbstractModelTestBase.tvString));
+ }
+
+ public void testChangeObjectStringWithLanguage()
+ {
+ final String lang = "en";
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue.changeObject(
+ AbstractModelTestBase.tvString, lang);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(AbstractModelTestBase.tvString, changed.getString());
+ Assert.assertEquals(lang, changed.getLanguage());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.contains(r, RDF.value,
+ AbstractModelTestBase.tvString, lang));
+ }
+
+ public void testChangeObjectYByte()
+ {
+ final Statement sTrue = loadInitialStatement();
+ final Statement changed = sTrue
+ .changeLiteralObject(AbstractModelTestBase.tvByte);
+ checkChangedStatementSP(changed);
+ Assert.assertEquals(AbstractModelTestBase.tvByte, changed.getByte());
+ checkCorrectStatements(sTrue, changed);
+ Assert.assertTrue(model.containsLiteral(r, RDF.value,
+ AbstractModelTestBase.tvByte));
+ }
+
+ public void testChar()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvChar);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvChar),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvChar, s.getChar());
+ }
+
+ public void testDouble()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvDouble);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvDouble),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvDouble, s.getDouble(),
+ AbstractModelTestBase.dDelta);
+ }
+
+ public void testFloat()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvFloat);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvFloat),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvFloat, s.getFloat(),
+ AbstractModelTestBase.fDelta);
+ }
+
+ public void testGetLiteralFailure()
+ {
+ try
+ {
+ model.createStatement(r, RDF.value, r).getLiteral();
+ Assert.fail("should trap non-literal object");
+ }
+ catch (final LiteralRequiredException e)
+ {
+ JenaTestBase.pass();
+ }
+ }
+
+ public void testGetResource()
+ {
+ Assert.assertEquals(r, model.createStatement(r, RDF.value, r)
+ .getResource());
+ }
+
+ public void testGetResourceFailure()
+ {
+ try
+ {
+ model.createLiteralStatement(r, RDF.value, false).getResource();
+ Assert.fail("should trap non-resource object");
+ }
+ catch (final ResourceRequiredException e)
+ {
+ JenaTestBase.pass();
+ }
+ }
+
+ public void testGetTrueBoolean()
+ {
+ Assert.assertEquals(true,
+ model.createLiteralStatement(r, RDF.value, true).getLiteral()
+ .getBoolean());
+ }
+
+ public void testInt()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvInt);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvInt),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvInt, s.getInt());
+ }
+
+ // public void testChangeObjectResObject()
+ // {
+ // Resource tvResObj = model.createResource( new ResTestObjF() );
+ // Statement sTrue = loadInitialStatement();
+ // Statement changed = sTrue.changeObject( tvResObj );
+ // checkChangedStatementSP( changed );
+ // assertEquals( tvResObj, changed.getResource() );
+ // checkCorrectStatements( sTrue, changed );
+ // assertTrue( model.contains( r, RDF.value, tvResObj ) );
+ // }
+
+ public void testLong()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvLong);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvLong),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvLong, s.getLong());
+ }
+
+ public void testSeq()
+ {
+ final Seq tvSeq = model.createSeq();
+ Assert.assertEquals(tvSeq, model.createStatement(r, RDF.value, tvSeq)
+ .getSeq());
+ }
+
+ public void testShort()
+ {
+ final Statement s = model.createLiteralStatement(r, RDF.value,
+ AbstractModelTestBase.tvShort);
+ Assert.assertEquals(
+ model.createTypedLiteral(AbstractModelTestBase.tvShort),
+ s.getObject());
+ Assert.assertEquals(AbstractModelTestBase.tvShort, s.getShort());
+ }
+
+ public void testString()
+ {
+ Assert.assertEquals(AbstractModelTestBase.tvString, model
+ .createStatement(r, RDF.value, AbstractModelTestBase.tvString)
+ .getString());
+ }
+
+ public void testStringWithLanguage()
+ {
+ final String lang = "fr";
+ Assert.assertEquals(
+ AbstractModelTestBase.tvString,
+ model.createStatement(r, RDF.value,
+ AbstractModelTestBase.tvString, lang).getString());
+ Assert.assertEquals(
+ lang,
+ model.createStatement(r, RDF.value,
+ AbstractModelTestBase.tvString, lang).getLanguage());
+ }
+}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatements.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatements.java?rev=1433184&r1=1433183&r2=1433184&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatements.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/TestStatements.java Mon Jan 14 22:38:35 2013
@@ -1,14 +1,14 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,125 +19,137 @@
package com.hp.hpl.jena.rdf.model.test;
import com.hp.hpl.jena.graph.FrontsTriple;
-import com.hp.hpl.jena.rdf.model.*;
-import junit.framework.*;
-
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.test.helpers.ModelHelper;
+import com.hp.hpl.jena.rdf.model.test.helpers.TestingModelFactory;
+import com.hp.hpl.jena.test.JenaTestBase;
import com.hp.hpl.jena.vocabulary.RDF;
-public class TestStatements extends ModelTestBase
- {
- public TestStatements( String name )
- { super( name ); }
-
- public static TestSuite suite()
- { return new TestSuite( TestStatements.class ); }
-
- public void testStatmentMap1Selectors()
- {
- Statement s = statement( "sub pred obj" );
- assertEquals( resource( "sub" ), Statement.Util.getSubject.map1( s ) );
- assertEquals( resource( "pred" ), Statement.Util.getPredicate.map1( s ) );
- assertEquals( resource( "obj" ), Statement.Util.getObject.map1( s ) );
- }
-
- /**
- this case came up when Chris was sorting out ReifedStatement and
- had mishacked Model.createStatement. A resource created in one
- model and incorporated into a statement asserted constructed by a
- different model should test equal to the resource extracted from that
- statement, even if it's a bnode.
- */
- public void testStuff()
- {
- Model red = ModelFactory.createDefaultModel();
- Model blue = ModelFactory.createDefaultModel();
- Resource r = red.createResource();
- Property p = red.createProperty( "" );
- Statement s = blue.createStatement( r, p, r );
- assertEquals( "subject preserved", r, s.getSubject() );
- assertEquals( "object preserved", r, s.getObject() );
- }
-
- public void testOtherStuff()
- {
- Model A = ModelFactory.createDefaultModel();
- Model B = ModelFactory.createDefaultModel();
- Resource S = A.createResource( "jena:S" );
- Resource R = A.createResource( "jena:R" );
- Property P = A.createProperty( "jena:P" );
- RDFNode O = A.createResource( "jena:O" );
- A.add( S, P, O );
- B.add( S, P, O );
- assertTrue( "X1", A.isIsomorphicWith( B ) );
- /* */
- A.add( R, RDF.subject, S );
- B.add( R, RDF.predicate, P );
- assertFalse( "X2", A.isIsomorphicWith( B ) );
- /* */
- A.add( R, RDF.predicate, P );
- B.add( R, RDF.subject, S );
- assertTrue( "X3", A.isIsomorphicWith( B ) );
- /* */
- A.add( R, RDF.object, O );
- B.add( R, RDF.type, RDF.Statement );
- assertFalse( "X4", A.isIsomorphicWith( B ) );
- /* */
- A.add( R, RDF.type, RDF.Statement );
- B.add( R, RDF.object, O );
- assertTrue( "X5", A.isIsomorphicWith( B ) );
- }
-
- public void testSet()
- {
- Model A = ModelFactory.createDefaultModel();
- Model B = ModelFactory.createDefaultModel();
- Resource S = A.createResource( "jena:S" );
- Resource R = A.createResource( "jena:R" );
- Property P = A.createProperty( "jena:P" );
- RDFNode O = A.createResource( "jena:O" );
- Statement spo = A.createStatement( S, P, O );
- A.add( spo );
- Statement sps = A.createStatement( S, P, S );
- assertEquals( sps, spo.changeObject( S ) );
- assertFalse( A.contains( spo ) );
- assertTrue( A.contains( sps ) );
- }
-
- public void testPortingBlankNodes()
- {
- Model A = ModelFactory.createDefaultModel();
- Model B = ModelFactory.createDefaultModel();
- Resource anon = A.createResource();
- Resource bAnon = anon.inModel( B );
- assertTrue( "moved resource should still be blank", bAnon.isAnon() );
- assertEquals( "move resource should equal original", anon, bAnon );
- }
-
- public void testTripleWrapper()
- {
- Model A = ModelFactory.createDefaultModel();
- assertInstanceOf( FrontsTriple.class, statement( A, "s p o" ) );
- }
-
- /**
- Feeble test that toString'ing a Statement[Impl] will display the data-type
- of its object if it has one.
- */
- public void testStatementPrintsType()
- {
- Model m = ModelFactory.createDefaultModel();
- String fakeURI = "fake:URI";
- Resource S = m.createResource( ) ;
- Property P = property( m, "PP" );
- RDFNode O = m.createTypedLiteral( "42", fakeURI);
- Statement st = m.createStatement( S, P, O );
- assertTrue( st.toString().indexOf( fakeURI ) > 0 );
- }
-
- public void testHasWellFormedXML()
- {
- assertFalse( statement( "s P 1" ).hasWellFormedXML() );
- assertFalse( statement( "S P '<x>/x>'rdf:XMLLiteral" ).hasWellFormedXML() );
- assertTrue( statement( "S P '<x></x>'rdf:XMLLiteral" ).hasWellFormedXML() );
- }
- }
+import junit.framework.Assert;
+
+public class TestStatements extends AbstractModelTestBase
+{
+ public TestStatements( final TestingModelFactory modelFactory,
+ final String name )
+ {
+ super(modelFactory, name);
+ }
+
+ public void testHasWellFormedXML()
+ {
+ Assert.assertFalse(ModelHelper.statement("s P 1").hasWellFormedXML());
+ Assert.assertFalse(ModelHelper.statement("S P '<x>/x>'rdf:XMLLiteral")
+ .hasWellFormedXML());
+ Assert.assertTrue(ModelHelper.statement("S P '<x></x>'rdf:XMLLiteral")
+ .hasWellFormedXML());
+ }
+
+ public void testOtherStuff()
+ {
+ final Model A = createModel();
+ final Model B = createModel();
+ final Resource S = A.createResource("jena:S");
+ final Resource R = A.createResource("jena:R");
+ final Property P = A.createProperty("jena:P");
+ final RDFNode O = A.createResource("jena:O");
+ A.add(S, P, O);
+ B.add(S, P, O);
+ Assert.assertTrue("X1", A.isIsomorphicWith(B));
+ /* */
+ A.add(R, RDF.subject, S);
+ B.add(R, RDF.predicate, P);
+ Assert.assertFalse("X2", A.isIsomorphicWith(B));
+ /* */
+ A.add(R, RDF.predicate, P);
+ B.add(R, RDF.subject, S);
+ Assert.assertTrue("X3", A.isIsomorphicWith(B));
+ /* */
+ A.add(R, RDF.object, O);
+ B.add(R, RDF.type, RDF.Statement);
+ Assert.assertFalse("X4", A.isIsomorphicWith(B));
+ /* */
+ A.add(R, RDF.type, RDF.Statement);
+ B.add(R, RDF.object, O);
+ Assert.assertTrue("X5", A.isIsomorphicWith(B));
+ }
+
+ public void testPortingBlankNodes()
+ {
+ final Model B = createModel();
+ final Resource anon = model.createResource();
+ final Resource bAnon = anon.inModel(B);
+ Assert.assertTrue("moved resource should still be blank",
+ bAnon.isAnon());
+ Assert.assertEquals("move resource should equal original", anon, bAnon);
+ }
+
+ public void testSet()
+ {
+ final Model A = createModel();
+ createModel();
+ 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);
+ Assert.assertEquals(sps, spo.changeObject(S));
+ Assert.assertFalse(A.contains(spo));
+ Assert.assertTrue(A.contains(sps));
+ }
+
+ /**
+ * Feeble test that toString'ing a Statement[Impl] will display the
+ * data-type
+ * of its object if it has one.
+ */
+ public void testStatementPrintsType()
+ {
+ final String fakeURI = "fake:URI";
+ final Resource S = model.createResource();
+ final Property P = ModelHelper.property(model, "PP");
+ final RDFNode O = model.createTypedLiteral("42", fakeURI);
+ final Statement st = model.createStatement(S, P, O);
+ Assert.assertTrue(st.toString().indexOf(fakeURI) > 0);
+ }
+
+ public void testStatmentMap1Selectors()
+ {
+ final Statement s = ModelHelper.statement("sub pred obj");
+ Assert.assertEquals(ModelHelper.resource("sub"),
+ Statement.Util.getSubject.map1(s));
+ Assert.assertEquals(ModelHelper.resource("pred"),
+ Statement.Util.getPredicate.map1(s));
+ Assert.assertEquals(ModelHelper.resource("obj"),
+ Statement.Util.getObject.map1(s));
+ }
+
+ /**
+ * this case came up when Chris was sorting out ReifedStatement and
+ * had mishacked Model.createStatement. A resource created in one
+ * model and incorporated into a statement asserted constructed by a
+ * different model should test equal to the resource extracted from that
+ * statement, even if it's a bnode.
+ */
+ public void testStuff()
+ {
+ final Model red = createModel();
+ final Model blue = createModel();
+ final Resource r = red.createResource();
+ final Property p = red.createProperty("");
+ final Statement s = blue.createStatement(r, p, r);
+ Assert.assertEquals("subject preserved", r, s.getSubject());
+ Assert.assertEquals("object preserved", r, s.getObject());
+ }
+
+ public void testTripleWrapper()
+ {
+ JenaTestBase.assertInstanceOf(FrontsTriple.class,
+ ModelHelper.statement(model, "s p o"));
+ }
+}
Added: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/ModelHelper.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/ModelHelper.java?rev=1433184&view=auto
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/ModelHelper.java (added)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/ModelHelper.java Mon Jan 14 22:38:35 2013
@@ -0,0 +1,231 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.rdf.model.test.helpers;
+
+import com.hp.hpl.jena.graph.Node;
+import com.hp.hpl.jena.graph.test.GraphTestBase;
+import com.hp.hpl.jena.graph.test.NodeCreateUtils;
+import com.hp.hpl.jena.rdf.model.Literal;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.test.AbstractModelTestBase;
+import com.hp.hpl.jena.shared.PrefixMapping;
+import com.hp.hpl.jena.util.CollectionFactory;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.junit.Ignore;
+
+/**
+ provides useful functionality for testing models, eg building small models
+ from strings, testing equality, etc.
+
+ Currently this class extends GraphTestBase and thus TestCase.
+
+ TODO: Refactoring should remove the TestCase dependency in future.
+
+ */
+@Ignore // ignore this class as a test case.
+public class ModelHelper extends GraphTestBase
+{
+ private ModelHelper(String name)
+ { super(name); }
+
+
+ protected static Model aModel;
+
+ static {
+ aModel = ModelFactory.createDefaultModel();
+ aModel.setNsPrefixes( PrefixMapping.Extended );
+ }
+
+ protected static final Model empty = ModelFactory.createDefaultModel();
+
+ protected static Model extendedModel(AbstractModelTestBase base)
+ {
+ Model result = base.createModel();
+ result.setNsPrefixes( PrefixMapping.Extended );
+ return result;
+ }
+
+ protected static String nice( RDFNode n )
+ { return nice( n.asNode() ); }
+
+ /**
+ create a Statement in a given Model with (S, P, O) extracted by parsing a string.
+
+ @param model 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( m, st.nextToken() );
+ Property pred = property( m, st.nextToken() );
+ RDFNode obj = rdfNode( m, st.nextToken() );
+ return m.createStatement( sub, pred, obj );
+ }
+
+ public static Statement statement( String fact )
+ { return statement( aModel, fact ); }
+
+ public static RDFNode rdfNode( Model m, String s )
+ { return m.asRDFNode( NodeCreateUtils.create( m, s ) ); }
+
+ public static <T extends RDFNode> T rdfNode( Model m, String s, Class<T> c )
+ { return rdfNode( m, s ).as( c ); }
+
+ public static Resource resource()
+ { return ResourceFactory.createResource(); }
+
+ public static Resource resource( String s )
+ { return resource( aModel, s ); }
+
+ public static Resource resource( Model m, String s )
+ { return (Resource) rdfNode( m, s ); }
+
+ public static Property property( String s )
+ { return property( aModel, s ); }
+
+ public static Property property( Model m, String s )
+ { return rdfNode( m, s ).as( Property.class ); }
+
+ public static Literal literal( Model m, String s )
+ { return rdfNode( m, s ).as( Literal.class ); }
+
+ /**
+ Create an array of Statements parsed from a semi-separated string.
+
+ @param model 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 Resources from a whitespace-separated string
+
+ @param model a model to serve as a resource factory
+ @param items a whitespace-separated sequence to feed to resource
+ @return a RDFNode[] of the parsed resources
+ */
+ public static Resource [] resources( Model m, String items )
+ {
+ ArrayList<Resource> rl = new ArrayList<Resource>();
+ StringTokenizer st = new StringTokenizer( items );
+ while (st.hasMoreTokens()) rl.add( resource( m, st.nextToken() ) );
+ return rl.toArray( new Resource[rl.size()] );
+ }
+
+ /**
+ Answer the set of resources given by the space-separated
+ <code>items</code> string. Each resource specification is interpreted
+ as per <code>resource</code>.
+ */
+ public static Set<Resource> resourceSet( String items )
+ {
+ Set<Resource> result = new HashSet<Resource>();
+ StringTokenizer st = new StringTokenizer( items );
+ while (st.hasMoreTokens()) result.add( resource( st.nextToken() ) );
+ return result;
+ }
+
+ /**
+ add to a model all the statements expressed by a string.
+
+ @param model the model to be updated
+ @param facts a sequence of semicolon-separated "S P O" facts
+ @return the updated model
+ */
+ public static Model modelAdd( Model m, String facts )
+ {
+ StringTokenizer semis = new StringTokenizer( facts, ";" );
+ while (semis.hasMoreTokens()) m.add( statement( m, semis.nextToken() ) );
+ return m;
+ }
+
+ /**
+ makes a model with a given reiifcation style, initialised with statements parsed
+ from a string.
+
+ @param facts a string in semicolon-separated "S P O" format
+ @return a model containing those facts
+ */
+ public static Model modelWithStatements( AbstractModelTestBase base, String facts )
+ { return modelAdd( createModel( base ), facts ); }
+
+ /**
+ make a model and give it Extended prefixes
+ */
+ public static Model createModel( AbstractModelTestBase base )
+ {
+ Model result = base.createModel();
+ result.setNsPrefixes( PrefixMapping.Extended );
+ return result;
+ }
+
+ /**
+ 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 a String appearing at the beginning of the failure message
+ @param wanted the model value that is expected
+ @param got the model value to check
+ @exception if the models are not isomorphic
+ */
+ public static void assertIsoModels( String title, Model wanted, Model got )
+ {
+ if (wanted.isIsomorphicWith( got ) == false)
+ {
+ Map<Node, Object> map = CollectionFactory.createHashedMap();
+ fail( title + ": expected " + nice( wanted.getGraph(), map ) + "\n but had " + nice( got.getGraph(), map ) );
+ }
+ }
+
+ /**
+ Fail if the two models are not isomorphic. See assertIsoModels(String,Model,Model).
+ */
+ public static void assertIsoModels( Model wanted, Model got )
+ { assertIsoModels( "models must be isomorphic", wanted, got ); }
+
+}
Added: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/RecordingModelListener.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/RecordingModelListener.java?rev=1433184&view=auto
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/RecordingModelListener.java (added)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/RecordingModelListener.java Mon Jan 14 22:38:35 2013
@@ -0,0 +1,227 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.rdf.model.test.helpers;
+
+import com.hp.hpl.jena.graph.test.GraphTestBase;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelChangedListener;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import junit.framework.Assert;
+/**
+ * Class to listen to model changes and record them for testing.
+ */
+public class RecordingModelListener implements ModelChangedListener
+{
+ List<Object> history = new ArrayList<Object>();
+
+ @Override
+ public void addedStatement( final Statement s )
+ {
+ record("add", s);
+ }
+
+ @Override
+ public void addedStatements( final List<Statement> statements )
+ {
+ record("addList", statements);
+ }
+
+ @Override
+ public void addedStatements( final Model m )
+ {
+ record("addModel", m);
+ }
+
+ @Override
+ public void addedStatements( final Statement[] statements )
+ {
+ record("add[]", Arrays.asList(statements));
+ }
+
+ @Override
+ public void addedStatements( final StmtIterator statements )
+ {
+ record("addIterator", GraphTestBase.iteratorToList(statements));
+ }
+
+ public void assertHas( final List<?> things )
+ {
+ if (has(things) == false)
+ {
+ Assert.fail("expected " + things + " but got " + history);
+ }
+ }
+
+ public void assertHas( final Object[] things )
+ {
+ if (has(things) == false)
+ {
+ Assert.fail("expected " + Arrays.asList(things) + " but got "
+ + history);
+ }
+ }
+
+ public void assertHasEnd( final Object[] end )
+ {
+ final List<Object> L = Arrays.asList(end);
+ if (hasEnd(L) == false)
+ {
+ Assert.fail("expected " + L + " at the end of " + history);
+ }
+ }
+
+ public void assertHasStart( final Object[] start )
+ {
+ final List<Object> L = Arrays.asList(start);
+ if (hasStart(L) == false)
+ {
+ Assert.fail("expected " + L + " at the beginning of " + history);
+ }
+ }
+
+ public static boolean checkEquality( final Object o1, final Object o2)
+ {
+ if (o1 == o2)
+ {
+ return true;
+ }
+ if (o1.getClass().isArray() && o2.getClass().isArray())
+ {
+ final Object[] o1a = (Object[])o1;
+ final Object[] o2a = (Object[])o2;
+
+ if (o1a.length == o2a.length)
+ {
+ for (int i=0;i<o1a.length;i++)
+ {
+ if (!checkEquality( o1a[i], o2a[i]))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+ else if ((o1 instanceof Collection) && (o2 instanceof Collection))
+ {
+ return checkEquality( ((Collection<Object>)o1).toArray(), ((Collection<Object>)o2).toArray() );
+
+ }
+ else if ((o1 instanceof Model) && (o2 instanceof Model))
+ {
+ return checkEquality( ((Model)o1).listStatements().toList(), ((Model)o2).listStatements().toList());
+
+ }
+ else if ((o1 instanceof Statement) && (o2 instanceof Statement))
+ {
+ return checkEquality( ((Statement)o1).asTriple(), ((Statement)o2).asTriple());
+
+ }
+ else
+ {
+ return o1.equals(o2);
+ }
+ }
+
+ public void clear()
+ {
+ history.clear();
+ }
+
+ public boolean has( final List<?> things )
+ {
+ return has(things.toArray());
+ }
+
+ public boolean has( final Object[] things )
+ {
+ return checkEquality(history.toArray(), things);
+ }
+
+ public boolean hasEnd( final List<Object> L )
+ {
+ return (L.size() <= history.size())
+ && checkEquality(L, history.subList(history.size() - L.size(),
+ history.size()));
+ }
+
+ public boolean hasStart( final List<Object> L )
+ {
+ return (L.size() <= history.size())
+ && checkEquality(L, history.subList(0, L.size()));
+ }
+
+ @Override
+ public void notifyEvent( final Model m, final Object event )
+ {
+ record("someEvent", m, event);
+ }
+
+ protected void record( final String tag, final Object info )
+ {
+ history.add(tag);
+ history.add(info);
+ }
+
+ protected void record( final String tag, final Object x, final Object y )
+ {
+ history.add(tag);
+ history.add(x);
+ history.add(y);
+ }
+
+ @Override
+ public void removedStatement( final Statement s )
+ {
+ record("remove", s);
+ }
+
+ @Override
+ public void removedStatements( final List<Statement> statements )
+ {
+ record("removeList", statements);
+ }
+
+ @Override
+ public void removedStatements( final Model m )
+ {
+ record("removeModel", m);
+ }
+
+ @Override
+ public void removedStatements( final Statement[] statements )
+ {
+ record("remove[]", Arrays.asList(statements));
+ }
+
+ @Override
+ public void removedStatements( final StmtIterator statements )
+ {
+ record("removeIterator", GraphTestBase.iteratorToList(statements));
+ }
+
+}
Added: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/TestingModelFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/TestingModelFactory.java?rev=1433184&view=auto
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/TestingModelFactory.java (added)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/rdf/model/test/helpers/TestingModelFactory.java Mon Jan 14 22:38:35 2013
@@ -0,0 +1,21 @@
+package com.hp.hpl.jena.rdf.model.test.helpers;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.shared.PrefixMapping;
+import com.hp.hpl.jena.shared.ReificationStyle;
+
+/**
+ * Interface that defines the Testing Model Factory.
+ *
+ * Implementations of this class will produce models that are to be tested by the
+ * AbstractTestPackage implementations.
+ */
+public interface TestingModelFactory
+{
+ abstract public Model createModel();
+
+ abstract public PrefixMapping getPrefixMapping();
+
+ abstract public Model createModel( Graph base );
+}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/regression/TestCaseBasic.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/regression/TestCaseBasic.java?rev=1433184&r1=1433183&r2=1433184&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/regression/TestCaseBasic.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/regression/TestCaseBasic.java Mon Jan 14 22:38:35 2013
@@ -44,6 +44,7 @@ import com.hp.hpl.jena.test.JenaTestBase
* @author bwm
* @version $Name: not supported by cvs2svn $ $Revision: 1.1 $ $Date: 2009-06-29 08:55:39 $
*/
+@Deprecated
public class TestCaseBasic extends JenaTestBase {
protected Model m1 = null;
@@ -77,337 +78,4 @@ public class TestCaseBasic extends JenaT
}
}
- public void test1() {
- try {
- Regression test = new Regression();
- test.test1(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test2() {
- try {
- Regression test = new Regression();
- test.test2(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test3() {
- try {
- Regression test = new Regression();
- test.test3(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test4() {
- try {
- Regression test = new Regression();
- test.test4(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test5() {
- try {
- Regression test = new Regression();
- test.test5(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test6() throws Exception {
- try {
- Regression test = new Regression();
- test.test6(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
- System.err.println( "PONGLE" );
- throw e;
- }
- }
-
- public void test7() {
- try {
- Regression test = new Regression();
- test.test7(m1, m2);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test8() {
- new Regression().test8( m1 );
-// try {
-// Regression test = new Regression();
-// test.test8(m1);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test9() {
- new Regression().test9( m2 );
-// try {
-// Regression test = new Regression();
-// test.test9(m2);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test10() {
- new Regression().test10( m3 );
-// try {
-// Regression test = new Regression();
-// test.test10(m3);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test11() {
- new Regression().test11( m1, m2 );
-// try {
-// Regression test = new Regression();
-// test.test11(m1, m2);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test12() {
- try {
- Regression test = new Regression();
- test.test12(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test13() {
- try {
- Regression test = new Regression();
- test.test13(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test14() {
- try {
- Regression test = new Regression();
- test.test14(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test15() {
- new Regression().test15( m1 );
-// try {
-// Regression test = new Regression();
-// test.test15(m1);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test16() {
- new Regression().test16( m1 );
-// try {
-// Regression test = new Regression();
-// test.test16(m1);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test17() {
- new Regression().test17( m1 );
-// try {
-// Regression test = new Regression();
-// test.test17(m1);
-// assertTrue(!test.getErrors());
-// } catch (Exception e) {
-// System.out.println(e);
-// assertTrue(false);
-// }
- }
-
- public void test18() {
- try {
- Regression test = new Regression();
- test.test18(m4);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test19() {
- try {
- Regression test = new Regression();
- test.test19(m2, m3);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void test97() {
- try {
- Regression test = new Regression();
- test.test97(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
- private GetModel getGetModel() {
- return new GetModel() {
-
- Model cache[] = new Model[4];
- int i = 4;
- @Override
- public Model get() {
- if (i == 4) {
- try {
- tearDown();
- setUp();
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage());
- }
- cache[0] = m1;
- cache[1] = m2;
- cache[2] = m3;
- cache[3] = m4;
- i = 0;
- }
- return cache[i++];
- }
- };
- }
- public void testMatch() {
- try {
- testMatch test = new testMatch(0xfab, getGetModel());
- test.test();
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
- /*
- * public void testWriterAndReader() { try { testWriterAndReader test = new
- * testWriterAndReader(); test.test(m1,m2,m3,m4); assertTrue(!
- * test.getErrors()); } catch (Exception e) { System.out.println(e);
- * assertTrue(false); } }
- */
- public void testNTripleReader() {
- try {
- testNTripleReader test = new testNTripleReader();
- test.test(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
- /*
- * public void testWriterInterface() { try { testWriterInterface test = new
- * testWriterInterface(); test.test(m1); assertTrue(! test.getErrors()); }
- * catch (Exception e) { System.out.println(e); assertTrue(false); } }
- */
- public void testReaderInterface() {
- try {
- testReaderInterface test = new testReaderInterface();
- test.test(m1);
- assertTrue(!test.getErrors());
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
-
- public void soaktest() { // a very crude soak test
- try {
- int errCount = 0;
-
- for (int i = 1; i <= 100; i++) {
- Regression test = new Regression();
- test0();
- test.test1(m1);
- test.test2(m1);
- test.test3(m1);
- test.test4(m1);
- test.test5(m1);
- test.test6(m1);
- test.test7(m1, m2);
- test.test8(m1);
- test.test9(m2);
- test.test10(m3);
- test.test11(m1, m2);
- test.test12(m1);
- test.test13(m1);
- test.test14(m1);
- test.test15(m1);
- test.test16(m1);
- test.test17(m1);
- test.test18(m4);
- test.test19(m2, m3);
- test.test97(m1);
- if (test.getErrors())
- errCount++;
- if ((i % 10) == 0) {
- System.out.println(
- "error count = " + errCount + " rounds = " + i);
- }
- }
- } catch (Exception e) {
- System.out.println(e);
- assertTrue(false);
- }
- }
}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java?rev=1433184&r1=1433183&r2=1433184&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java Mon Jan 14 22:38:35 2013
@@ -33,7 +33,6 @@ public class TestSharedPackage extends T
TestSuite result = new TestSuite();
result.addTest( TestPrefixMapping.suite() );
result.addTest( TestJenaException.suite() );
- result.addTest( RandomizedTestSuiteRegression.suite() );
return result;
}
}
Modified: jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/test/TestPackage.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/test/TestPackage.java?rev=1433184&r1=1433183&r2=1433184&view=diff
==============================================================================
--- jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/test/TestPackage.java (original)
+++ jena/trunk/jena-core/src/test/java/com/hp/hpl/jena/test/TestPackage.java Mon Jan 14 22:38:35 2013
@@ -49,7 +49,6 @@ public class TestPackage extends TestCas
addTest(ts, "XML Output", com.hp.hpl.jena.xmloutput.TestPackage.suite());
addTest(ts, "Util", com.hp.hpl.jena.util.TestPackage.suite());
addTest(ts, "Jena iterator", com.hp.hpl.jena.util.iterator.test.TestPackage.suite() );
- addTest(ts, "Mega", com.hp.hpl.jena.regression.MegaTestSuite.suite());
addTest(ts, "Assembler", TestAssemblerPackage.suite() );
addTest(ts, "ARP", com.hp.hpl.jena.rdf.arp.TestPackage.suite());
addTest(ts, "Vocabularies", com.hp.hpl.jena.vocabulary.test.TestVocabularies.suite() );
Added: jena/trunk/jena-core/src/test/resources/TestReaders.nt
URL: http://svn.apache.org/viewvc/jena/trunk/jena-core/src/test/resources/TestReaders.nt?rev=1433184&view=auto
==============================================================================
--- jena/trunk/jena-core/src/test/resources/TestReaders.nt (added)
+++ jena/trunk/jena-core/src/test/resources/TestReaders.nt Mon Jan 14 22:38:35 2013
@@ -0,0 +1,21 @@
+
+# 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
+bar" .
+
+