This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit a682d16b5563abd0cfea80cd9bfbe739c6fe3d3f Author: Andy Seaborne <[email protected]> AuthorDate: Sat May 10 16:30:22 2025 +0100 Deprecate for removal: IteratorCollection --- .../src/main/java/org/apache/jena/system/G.java | 18 +++--- .../java/org/apache/jena/atlas/iterator/Iter.java | 22 ++++--- .../main/java/org/apache/jena/graph/GraphUtil.java | 19 +++--- .../apache/jena/graph/compose/CompositionBase.java | 69 ++++++++++---------- .../apache/jena/graph/impl/SimpleEventManager.java | 14 ++-- .../org/apache/jena/util/IteratorCollection.java | 5 +- .../org/apache/jena/graph/GraphContractTest.java | 8 ++- .../apache/jena/graph/RecordingGraphListener.java | 6 +- .../jena/graph/impl/TripleStoreContractTest.java | 40 ++++++------ .../jena/graph/test/AbstractTestGraphMaker.java | 75 +++++++++++----------- .../jena/graph/test/AbstractTestReifier.java | 29 +++++---- .../jena/graph/test/AbstractTestTripleStore.java | 51 +++++++-------- .../org/apache/jena/graph/test/GraphTestBase.java | 36 ++++------- .../apache/jena/graph/test/RecordingListener.java | 64 +++++++++--------- .../apache/jena/graph/test/TestFindLiterals.java | 3 +- .../jena/graph/test/TestNodeToTriplesMapMem.java | 72 +++++++++++---------- .../apache/jena/mem/TripleBunchContractTest.java | 27 ++++---- .../org/apache/jena/mem/test/TestTripleBunch.java | 29 +++++---- .../ontology/makers/GraphMakerContractTest.java | 15 +++-- .../rdf/model/test/RecordingModelListener.java | 65 ++++++++++--------- .../jena/rdf/model/test/TestModelEvents.java | 18 ++---- .../apache/jena/rdf/model/test/TestObjects.java | 17 ++--- .../jena/rdf/model/test/TestResourceMethods.java | 19 +++--- .../apache/jena/rdf/model/test/TestResources.java | 20 +++--- .../model/test/helpers/RecordingModelListener.java | 13 ++-- .../apache/jena/testing_framework/GraphHelper.java | 53 ++++++--------- .../apache/jena/util/TestIteratorCollection.java | 33 +++++----- .../jena/util/iterator/test/TestAndThen.java | 51 +++++++-------- .../jena/util/iterator/test/TestFilters.java | 16 ++--- 29 files changed, 452 insertions(+), 455 deletions(-) diff --git a/jena-arq/src/main/java/org/apache/jena/system/G.java b/jena-arq/src/main/java/org/apache/jena/system/G.java index c0b7a66f30..6d91a2999e 100644 --- a/jena-arq/src/main/java/org/apache/jena/system/G.java +++ b/jena-arq/src/main/java/org/apache/jena/system/G.java @@ -18,6 +18,13 @@ package org.apache.jena.system; +import static org.apache.jena.graph.Node.ANY; + +import java.util.*; +import java.util.function.Consumer; +import java.util.function.Predicate; +import java.util.function.Supplier; + import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.atlas.lib.Copyable; import org.apache.jena.datatypes.RDFDatatype; @@ -30,16 +37,8 @@ import org.apache.jena.sparql.core.Quad; import org.apache.jena.sparql.graph.NodeConst; import org.apache.jena.sparql.util.graph.GNode; import org.apache.jena.sparql.util.graph.GraphList; -import org.apache.jena.util.IteratorCollection; import org.apache.jena.util.iterator.ExtendedIterator; -import java.util.*; -import java.util.function.Consumer; -import java.util.function.Predicate; -import java.util.function.Supplier; - -import static org.apache.jena.graph.Node.ANY; - /** * A library of functions for working with {@link Graph graphs}. Internally, all * {@link ExtendedIterator ExtendedIterators} used, run to completion or have @@ -975,8 +974,7 @@ public class G { } private static void addIteratorWorker( Graph graph, Iterator<Triple> it ) { - List<Triple> s = IteratorCollection.iteratorToList( it ); - addIteratorWorkerDirect(graph, s.iterator()); + addIteratorWorkerDirect(graph, it); } private static void addIteratorWorkerDirect( Graph graph, Iterator<Triple> it ) { diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java index aabbba5929..c057a313c5 100644 --- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java +++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java @@ -221,24 +221,28 @@ public class Iter<T> implements IteratorCloseable<T> { } // ---- collect - /** See {@link Stream#collect(Supplier, BiConsumer, BiConsumer)}, except without the {@code BiConsumer<R, R> combiner} */ - public static <T,R> R collect(Iterator<T> iter, Supplier<R> supplier, BiConsumer<R, ? super T> accumulator) { - R result = supplier.get(); - iter.forEachRemaining(elt -> accumulator.accept(result, elt)); - return result; - } - /** See {@link Stream#collect(Collector)} */ public static <T, R, A> R collect(Iterator<T> iter, Collector<? super T, A, R> collector) { A a = collect(iter, collector.supplier(), collector.accumulator()); return collector.finisher().apply(a); } + /** See {@link Stream#collect(Supplier, BiConsumer, BiConsumer)}, except without the {@code BiConsumer<R, R> combiner} */ + public static <T,R> R collect(Iterator<T> iter, Supplier<R> supplier, BiConsumer<R, ? super T> accumulator) { + R result = supplier.get(); + apply(iter, elt -> accumulator.accept(result, elt)); + return result; + } + /** Act on elements of an iterator. * @see #map(Iterator, Function) */ - public static <T> void apply(Iterator<? extends T> stream, Consumer<T> action) { - stream.forEachRemaining(action); + public static <T> void apply(Iterator<? extends T> iter, Consumer<T> action) { + try { + iter.forEachRemaining(action); + } finally { + Iter.close(iter); + } } // ---- Filter diff --git a/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java b/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java index 4a60d74b49..b542458a88 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java +++ b/jena-core/src/main/java/org/apache/jena/graph/GraphUtil.java @@ -25,7 +25,6 @@ import java.util.Set; import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.impl.GraphWithPerform; -import org.apache.jena.util.IteratorCollection; import org.apache.jena.util.iterator.ExtendedIterator; import org.apache.jena.util.iterator.WrappedIterator; @@ -123,28 +122,28 @@ public class GraphUtil public static void add(Graph graph, Iterator<Triple> it) { if ( OldStyle && graph instanceof GraphWithPerform ) { // Materialize for the notify. - List<Triple> s = IteratorCollection.iteratorToList(it) ; + List<Triple> s = Iter.toList(it) ; addIteratorWorkerDirect(graph, s.iterator()); graph.getEventManager().notifyAddIterator(graph, s) ; } else addIteratorWorker(graph, it); } - + /** Add triples into the destination (arg 1) from the source (arg 2)*/ public static void addInto(Graph dstGraph, Graph srcGraph ) { if ( dstGraph == srcGraph && ! dstGraph.getEventManager().listening() ) return ; dstGraph.getPrefixMapping().setNsPrefixes(srcGraph.getPrefixMapping()) ; - addIteratorWorker(dstGraph, findAll( srcGraph )); + addIteratorWorker(dstGraph, findAll( srcGraph )); dstGraph.getEventManager().notifyAddGraph( dstGraph, srcGraph ); } - - private static void addIteratorWorker( Graph graph, Iterator<Triple> it ) { - List<Triple> s = IteratorCollection.iteratorToList( it ); + + private static void addIteratorWorker( Graph graph, Iterator<Triple> it ) { + List<Triple> s = Iter.toList(it); addIteratorWorkerDirect(graph, s.iterator()); } - + private static void addIteratorWorkerDirect( Graph graph, Iterator<Triple> it ) { if ( OldStyle && graph instanceof GraphWithPerform ) { GraphWithPerform g = (GraphWithPerform)graph; @@ -179,7 +178,7 @@ public class GraphUtil public static void delete(Graph graph, Iterator<Triple> it) { if ( OldStyle && graph instanceof GraphWithPerform ) { // Materialize for the notify. - List<Triple> s = IteratorCollection.iteratorToList(it) ; + List<Triple> s = Iter.toList(it); ; deleteIteratorWorkerDirect(graph, s.iterator()); graph.getEventManager().notifyDeleteIterator(graph, s) ; } else @@ -264,7 +263,7 @@ public class GraphUtil * modification" safe - it internally takes a copy of the iterator. */ private static void deleteIteratorWorker(Graph graph, Iterator<Triple> it) { - List<Triple> s = IteratorCollection.iteratorToList(it) ; + List<Triple> s = Iter.toList(it) ; deleteIteratorWorkerDirect(graph, s.iterator()); } diff --git a/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java b/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java index a28fec4c7b..faf28a4ef9 100755 --- a/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java +++ b/jena-core/src/main/java/org/apache/jena/graph/compose/CompositionBase.java @@ -21,17 +21,14 @@ package org.apache.jena.graph.compose; -// Imports -/////////////// import java.util.*; import java.util.function.Predicate; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.* ; import org.apache.jena.graph.impl.* ; -import org.apache.jena.util.IteratorCollection ; import org.apache.jena.util.iterator.* ; - /** * <p> * Base class for graphs that are composed of multiple sub-graphs. This is to provide @@ -44,39 +41,39 @@ public abstract class CompositionBase extends GraphBase /** * <p> * Answer a {@link Predicate} that will reject any element that is a member of iterator i. - * As a side-effect, i will be closed. + * As a side-effect, i will be closed. * </p> - * + * * @param i A closable iterator * @return A Predicate that will accept any object not a member of i. */ public static <T> Predicate<T> reject( final ClosableIterator<? extends T> i ) { - final Set< ? extends T> suppress = IteratorCollection.iteratorToSet( i ); + final Set< ? extends T> suppress = Iter.toSet( i ); return o -> !suppress.contains( o ); } - + /** * <p> * Answer an iterator over the elements of iterator a that are not members of iterator b. * As a side-effect, iterator b will be closed. * </p> - * + * * @param a An iterator that will be filtered by rejecting the elements of b - * @param b A closable iterator + * @param b A closable iterator * @return The iteration of elements in a but not in b. */ public static <T> ClosableIterator<T> butNot( final ClosableIterator<T> a, final ClosableIterator<? extends T> b ) { return new FilterIterator<>( reject( b ), a ); } - + /** * <p> * Answer an iterator that will record every element delived by <code>next()</code> in - * the set <code>seen</code>. + * the set <code>seen</code>. * </p> - * + * * @param i A closable iterator * @param seen A set that will record each element of i in turn * @return An iterator that records the elements of i. @@ -88,29 +85,29 @@ public abstract class CompositionBase extends GraphBase @Override public void remove() { i.remove(); } - + @Override public boolean hasNext() - { return i.hasNext(); } - + { return i.hasNext(); } + @Override public T next() - { T x = i.next(); - try { seen.add( x ); } catch (OutOfMemoryError e) { throw e; } return x; } - + { T x = i.next(); + try { seen.add( x ); } catch (OutOfMemoryError e) { throw e; } return x; } + @Override public void close() { i.close(); } }; } - + //static final Object absent = new Object(); - + /** * <p> - * Answer an iterator over the elements of iterator i that are not in the set <code>seen</code>. + * Answer an iterator over the elements of iterator i that are not in the set <code>seen</code>. * </p> - * + * * @param i An extended iterator * @param seen A set of objects * @return An iterator over the elements of i that are not in the set <code>seen</code>. @@ -119,7 +116,7 @@ public abstract class CompositionBase extends GraphBase { return i.filterDrop( seen::contains ); } - + /** Answer an iterator over the elements of <code>i</code> that are not in the graph <code>seen</code>. @@ -128,34 +125,34 @@ public abstract class CompositionBase extends GraphBase { return i.filterDrop( seen::contains ); } - + /** * <p> - * Answer a {@link Predicate} that will accept any object that is an element of - * iterator i. As a side-effect, i will be evaluated and closed. + * Answer a {@link Predicate} that will accept any object that is an element of + * iterator i. As a side-effect, i will be evaluated and closed. * </p> - * - * @param i A closable iterator + * + * @param i A closable iterator * @return A Predicate that will accept any object in iterator i. */ public static <T> Predicate<T> ifIn( final ClosableIterator<T> i ) { - final Set<T> allow = IteratorCollection.iteratorToSet( i ); + final Set<T> allow = Iter.toSet( i ); return allow::contains; } - + /** * <p> - * Answer a {@link Predicate} that will accept any triple that is an edge of - * graph g. + * Answer a {@link Predicate} that will accept any triple that is an edge of + * graph g. * </p> - * - * @param g A graph + * + * @param g A graph * @return A Predicate that will accept any triple that is an edge in g. */ public static Predicate<Triple> ifIn( final Graph g ) { return g::contains; } - + } diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/SimpleEventManager.java b/jena-core/src/main/java/org/apache/jena/graph/impl/SimpleEventManager.java index fe5b42bf97..5b40f47516 100644 --- a/jena-core/src/main/java/org/apache/jena/graph/impl/SimpleEventManager.java +++ b/jena-core/src/main/java/org/apache/jena/graph/impl/SimpleEventManager.java @@ -18,12 +18,16 @@ package org.apache.jena.graph.impl; -import java.util.*; +import java.util.Iterator; +import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import org.apache.jena.graph.*; +import org.apache.jena.atlas.iterator.Iter; +import org.apache.jena.graph.Graph; +import org.apache.jena.graph.GraphEventManager; +import org.apache.jena.graph.GraphListener; +import org.apache.jena.graph.Triple; import org.apache.jena.mem.TrackingTripleIterator; -import org.apache.jena.util.IteratorCollection; import org.apache.jena.util.iterator.ExtendedIterator; /** @@ -104,7 +108,7 @@ public class SimpleEventManager implements GraphEventManager @Override public void notifyAddIterator(Graph g, Iterator<Triple> it) { - notifyAddIterator(g, IteratorCollection.iteratorToList(it)); + notifyAddIterator(g, Iter.toList(it)); } @Override @@ -139,7 +143,7 @@ public class SimpleEventManager implements GraphEventManager @Override public void notifyDeleteIterator(Graph g, Iterator<Triple> it) { - notifyDeleteIterator(g, IteratorCollection.iteratorToList(it)); + notifyDeleteIterator(g, Iter.toList(it)); } @Override diff --git a/jena-core/src/main/java/org/apache/jena/util/IteratorCollection.java b/jena-core/src/main/java/org/apache/jena/util/IteratorCollection.java index a6dd8eefb9..08e5e8c302 100644 --- a/jena-core/src/main/java/org/apache/jena/util/IteratorCollection.java +++ b/jena-core/src/main/java/org/apache/jena/util/IteratorCollection.java @@ -23,11 +23,14 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.util.iterator.NiceIterator ; /** + * @deprecated Use {@link Iter#toList(Iterator)} and {@link Iter#toSet(Iterator)} */ +@Deprecated(forRemoval = true) public class IteratorCollection { /** @@ -35,7 +38,7 @@ public class IteratorCollection */ private IteratorCollection() {} - + /** Answer the elements of the given iterator as a set. The iterator is consumed by the operation. Even if an exception is thrown, the iterator will be closed. diff --git a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java index 7433e1fd31..a7a04e0c69 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java +++ b/jena-core/src/test/java/org/apache/jena/graph/GraphContractTest.java @@ -30,6 +30,9 @@ import java.util.List; import java.util.Set; import java.util.function.Function; +import org.junit.After; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.impl.LiteralLabelFactory; import org.apache.jena.mem.TrackingTripleIterator; import org.apache.jena.rdf.model.Model; @@ -42,7 +45,6 @@ import org.apache.jena.testing_framework.AbstractGraphProducer; import org.apache.jena.testing_framework.NodeCreateUtils; import org.apache.jena.util.iterator.ClosableIterator; import org.apache.jena.util.iterator.ExtendedIterator; -import org.junit.After; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xenei.junit.contract.Contract; @@ -822,7 +824,7 @@ public class GraphContractTest<T extends Graph> "Should have found 4 elements, does %s really implement literal typing", g.getClass()), 4, - iteratorToSet( + Iter.toSet( g.find(Node.ANY, P, NodeCreateUtils.create("42"))) .size()); txnRollback(g); @@ -960,7 +962,7 @@ public class GraphContractTest<T extends Graph> String.format( "Should have found 4 elements, does %s really implement literal typing", g.getClass()), - 4, iteratorToSet(g.find(Triple.create(Node.ANY, P, + 4, Iter.toSet(g.find(Triple.create(Node.ANY, P, NodeCreateUtils.create("42")))).size()); txnRollback(g); } diff --git a/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java b/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java index 73767214a3..cf7eee127f 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java +++ b/jena-core/src/test/java/org/apache/jena/graph/RecordingGraphListener.java @@ -21,8 +21,8 @@ package org.apache.jena.graph; import java.util.Iterator; import java.util.List; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.testing_framework.AbstractRecordingListener; -import org.apache.jena.testing_framework.GraphHelper; /** * This testing listener records the event names and data, and provides a method @@ -48,7 +48,7 @@ public class RecordingGraphListener extends AbstractRecordingListener implements @Override public void notifyAddIterator(Graph g, Iterator<Triple> it) { - record("addIterator", g, GraphHelper.iteratorToList(it)); + record("addIterator", g, Iter.toList(it)); } @Override @@ -73,7 +73,7 @@ public class RecordingGraphListener extends AbstractRecordingListener implements @Override public void notifyDeleteIterator(Graph g, Iterator<Triple> it) { - record("deleteIterator", g, GraphHelper.iteratorToList(it)); + record("deleteIterator", g, Iter.toList(it)); } @Override diff --git a/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java b/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java index 1d5a100a8c..10ca00458b 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java +++ b/jena-core/src/test/java/org/apache/jena/graph/impl/TripleStoreContractTest.java @@ -18,14 +18,18 @@ package org.apache.jena.graph.impl; +import static org.apache.jena.testing_framework.GraphHelper.nodeSet; +import static org.apache.jena.testing_framework.GraphHelper.triple; +import static org.apache.jena.testing_framework.GraphHelper.tripleSet; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + import org.junit.After; import org.junit.Before; + +import org.apache.jena.atlas.iterator.Iter; import org.xenei.junit.contract.Contract; import org.xenei.junit.contract.ContractTest; - -import static org.junit.Assert.*; - -import static org.apache.jena.testing_framework.GraphHelper.*; import org.xenei.junit.contract.IProducer; /** @@ -36,7 +40,7 @@ import org.xenei.junit.contract.IProducer; public class TripleStoreContractTest<T extends TripleStore> { protected TripleStore store; - + private IProducer<T> producer; public TripleStoreContractTest() { @@ -71,23 +75,23 @@ public class TripleStoreContractTest<T extends TripleStore> { assertEquals(false, store.isEmpty()); assertEquals(1, store.size()); assertEquals(true, store.contains(triple("x P y"))); - assertEquals(nodeSet("x"), iteratorToSet(store.listSubjects())); - assertEquals(nodeSet("y"), iteratorToSet(store.listObjects())); + assertEquals(nodeSet("x"), Iter.toSet(store.listSubjects())); + assertEquals(nodeSet("y"), Iter.toSet(store.listObjects())); assertEquals(tripleSet("x P y"), - iteratorToSet(store.find(triple("?? ?? ??")))); + Iter.toSet(store.find(triple("?? ?? ??")))); } @ContractTest public void testListSubjects() { someStatements(store); - assertEquals(nodeSet("a x _z r q"), iteratorToSet(store.listSubjects())); + assertEquals(nodeSet("a x _z r q"), Iter.toSet(store.listSubjects())); } @ContractTest public void testListObjects() { someStatements(store); assertEquals(nodeSet("b y i _j _t 17"), - iteratorToSet(store.listObjects())); + Iter.toSet(store.listObjects())); } @ContractTest @@ -111,17 +115,17 @@ public class TripleStoreContractTest<T extends TripleStore> { public void testFind() { someStatements(store); assertEquals(tripleSet(""), - iteratorToSet(store.find(triple("no such thing")))); + Iter.toSet(store.find(triple("no such thing")))); assertEquals(tripleSet("a P b; a P i"), - iteratorToSet(store.find(triple("a P ??")))); + Iter.toSet(store.find(triple("a P ??")))); assertEquals(tripleSet("a P b; x P y; a P i"), - iteratorToSet(store.find(triple("?? P ??")))); + Iter.toSet(store.find(triple("?? P ??")))); assertEquals(tripleSet("x P y; x R y"), - iteratorToSet(store.find(triple("x ?? y")))); + Iter.toSet(store.find(triple("x ?? y")))); assertEquals(tripleSet("_z Q _j"), - iteratorToSet(store.find(triple("?? ?? _j")))); + Iter.toSet(store.find(triple("?? ?? _j")))); assertEquals(tripleSet("q R 17"), - iteratorToSet(store.find(triple("?? ?? 17")))); + Iter.toSet(store.find(triple("?? ?? 17")))); } @ContractTest @@ -131,10 +135,10 @@ public class TripleStoreContractTest<T extends TripleStore> { store.add(triple("king before queen")); store.delete(triple("ace before king")); assertEquals(tripleSet("king before queen; nothing before ace"), - iteratorToSet(store.find(triple("?? ?? ??")))); + Iter.toSet(store.find(triple("?? ?? ??")))); store.delete(triple("king before queen")); assertEquals(tripleSet("nothing before ace"), - iteratorToSet(store.find(triple("?? ?? ??")))); + Iter.toSet(store.find(triple("?? ?? ??")))); } protected void someStatements(TripleStore ts) { diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestGraphMaker.java b/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestGraphMaker.java index e3072b392d..2ae73e31f6 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestGraphMaker.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestGraphMaker.java @@ -20,6 +20,7 @@ package org.apache.jena.graph.test; import java.util.Set; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; @@ -43,15 +44,15 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase { public AbstractTestGraphMaker( String name ) { super( name ); } - + public abstract GraphMaker getGraphMaker(); - + private GraphMaker gf; - + @Override public void setUp() { gf = getGraphMaker(); } - + @Override public void tearDown() { gf.close(); } @@ -67,22 +68,22 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase assertSame( g1, gf.getGraph() ); g1.close(); } - + public void testCreateGraph() { - assertDiffer( "each created graph must differ", gf.createGraph(), gf.createGraph() ); + assertDiffer( "each created graph must differ", gf.createGraph(), gf.createGraph() ); } - + public void testAnyName() { gf.createGraph( "plain" ).close(); gf.createGraph( "with.dot" ).close(); gf.createGraph( "http://electric-hedgehog.net/topic#marker" ).close(); } - + /** - Test that we can't create a graph with the same name twice. - */ + Test that we can't create a graph with the same name twice. + */ public void testCannotCreateTwice() { String name = jName( "bonsai" ); @@ -95,10 +96,10 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase catch (AlreadyExistsException e) {} } - + private String jName( String name ) { return "jena-test-AbstractTestGraphMaker-" + name; } - + public void testCanCreateTwice() { String name = jName( "bridge" ); @@ -108,17 +109,17 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase Graph g3 = gf.createGraph( name ); assertTrue( "graphs should be the same", sameGraph( g1, g3 ) ); } - + /** Test that we cannot open a graph that does not exist. - */ + */ public void testCannotOpenUncreated() { String name = jName( "noSuchGraph" ); try { gf.openGraph( name, true ); fail( name + " should not exist" ); } - catch (DoesNotExistException e) { } + catch (DoesNotExistException e) { } } - + /** Test that we *can* open a graph that hasn't been created */ @@ -129,20 +130,20 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase g1.close(); gf.openGraph( name, true ); } - + /** Utility - test that a graph with the given name exists. - */ + */ private void testExists( String name ) { assertTrue( name + " should exist", gf.hasGraph( name ) ); } - - + + /** Utility - test that no graph with the given name exists. */ private void testDoesNotExist( String name ) { assertFalse( name + " should exist", gf.hasGraph( name ) ); } - + /** Test that we can find a graph once its been created. We need to know if two graphs are "the same" here: we have a temporary @@ -159,7 +160,7 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase assertTrue( "should find alpha", sameGraph( g1, g2 ) ); assertTrue( "should find beta", sameGraph( h1, h2 ) ); } - + /** Weak test for "same graph": adding this to one is visible in t'other. Stopgap for use in testCanFindCreatedGraph. @@ -172,7 +173,7 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase g2.add( Triple.create( O, P, S ) ); return g2.contains( S, P, O ) && g1.contains( O, P, S ); } - + /** Test that we can remove a graph from the factory without disturbing another graph's binding. @@ -188,7 +189,7 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase testExists( beta ); testDoesNotExist( alpha ); } - + public void testHasnt() { assertFalse( "no such graph", gf.hasGraph( "john" ) ); @@ -199,18 +200,18 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase assertTrue( "john now exists", gf.hasGraph( "john" ) ); assertFalse( "no such graph", gf.hasGraph( "paul" ) ); assertFalse( "no such graph", gf.hasGraph( "george" ) ); - /* */ + /* */ gf.createGraph( "paul", true ); assertTrue( "john still exists", gf.hasGraph( "john" ) ); assertTrue( "paul now exists", gf.hasGraph( "paul" ) ); assertFalse( "no such graph", gf.hasGraph( "george" ) ); - /* */ + /* */ gf.removeGraph( "john" ); assertFalse( "john has been removed", gf.hasGraph( "john" ) ); assertTrue( "paul still exists", gf.hasGraph( "paul" ) ); assertFalse( "no such graph", gf.hasGraph( "george" ) ); } - + public void testCarefulClose() { Graph x = gf.createGraph( "x" ); @@ -220,34 +221,34 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase y.add( triple( "p RR q" ) ); y.close(); } - + /** Test that a maker with no graphs lists no names. */ public void testListNoGraphs() - { + { Set<String> s = gf.listGraphs().toSet(); if (s.size() > 0) fail( "found names from 'empty' graph maker: " + s ); } - + /** Test that a maker with three graphs inserted lists those three grapsh; we don't mind what order they appear in. We also use funny names to ensure that the spelling - that goes in is the one that comes out [should really be in a separate test]. - */ + that goes in is the one that comes out [should really be in a separate test]. + */ public void testListThreeGraphs() { String x = "x", y = "y/sub", z = "z:boo"; Graph X = gf.createGraph( x ); Graph Y = gf.createGraph( y ); Graph Z = gf.createGraph( z ); Set<String> wanted = setOfStrings( x + " " + y + " " + z ); - assertEquals( wanted, iteratorToSet( gf.listGraphs() ) ); + assertEquals( wanted, Iter.toSet( gf.listGraphs() ) ); X.close(); Y.close(); Z.close(); } - + /** Test that a maker with some things put in and then some removed gets the right - things listed. + things listed. */ public void testListAfterDelete() { String x = "x_y", y = "y//zub", z = "a:b/c"; @@ -255,9 +256,9 @@ public abstract class AbstractTestGraphMaker extends GraphTestBase Graph Y = gf.createGraph( y ); Graph Z = gf.createGraph( z ); gf.removeGraph( x ); - Set<String> s = iteratorToSet( gf.listGraphs() ); + Set<String> s = Iter.toSet( gf.listGraphs() ); assertEquals( setOfStrings( y + " " + z ), s ); X.close(); Y.close(); Z.close(); } - + } diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestReifier.java b/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestReifier.java index 6f8d4de26c..6c3da8ed1f 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestReifier.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestReifier.java @@ -18,6 +18,7 @@ package org.apache.jena.graph.test; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.* ; import org.apache.jena.rdf.model.impl.ReifierStd ; import org.apache.jena.shared.AlreadyReifiedException ; @@ -25,7 +26,7 @@ import org.apache.jena.shared.CannotReifyException ; import org.apache.jena.vocabulary.RDF ; /** - Abstract base class for reification tests. + Abstract base class for reification tests. */ public abstract class AbstractTestReifier extends GraphTestBase { @@ -65,12 +66,12 @@ public abstract class AbstractTestReifier extends GraphTestBase g.add( NodeCreateUtils.createTriple( "x rdf:subject s" ) ); assertEquals( 1, g.size() ); g.add( NodeCreateUtils.createTriple( "x rdf:predicate p" ) ); - assertEquals( 2, g.size() ); + assertEquals( 2, g.size() ); g.add( NodeCreateUtils.createTriple( "x rdf:object o" ) ); - assertEquals( 3, g.size() ); + assertEquals( 3, g.size() ); g.add( NodeCreateUtils.createTriple( "x rdf:type rdf:Statement" ) ); assertEquals( 4, g.size() ); - assertTrue( ReifierStd.hasTriple(g, triple( "s p o" ) ) ); + assertTrue( ReifierStd.hasTriple(g, triple( "s p o" ) ) ); } /** @@ -95,19 +96,19 @@ public abstract class AbstractTestReifier extends GraphTestBase Graph g = getGraph(); graphAdd( g, "x rdf:subject A; x rdf:predicate P; x rdf:object O; x rdf:type rdf:Statement" ); assertEquals( triple( "A P O" ), ReifierStd.getTriple(g, node( "x" ) ) ); - graphAdd( g, "x rdf:subject BOOM" ); + graphAdd( g, "x rdf:subject BOOM" ); assertEquals( null, ReifierStd.getTriple( g, node( "x" ) ) ); } public void testReificationSubjectClash() { testReificationClash( "x rdf:subject SS" ); - } + } public void testReificationPredicateClash() { testReificationClash( "x rdf:predicate PP" ); - } + } public void testReificationObjectClash() { @@ -131,7 +132,7 @@ public abstract class AbstractTestReifier extends GraphTestBase */ public void testManifestQuads() { - Graph g = getGraph(); + Graph g = getGraph(); ReifierStd.reifyAs(g, node( "A" ), triple( "S P O" ) ) ; String reified = "A rdf:type rdf:Statement; A rdf:subject S; A rdf:predicate P; A rdf:object O"; assertIsomorphic( graphWith( reified ), g ); @@ -141,7 +142,7 @@ public abstract class AbstractTestReifier extends GraphTestBase { Graph g = getGraph(); ReifierStd.reifyAs( g, node( "A" ), triple( "S P O" ) ); - assertTrue( ReifierStd.findEither( g , ALL, false ).hasNext() ); + assertTrue( ReifierStd.findEither( g , ALL, false ).hasNext() ); } public void testRetrieveTriplesByNode() @@ -167,7 +168,7 @@ public abstract class AbstractTestReifier extends GraphTestBase ReifierStd.reifyAs( G, N, T ); assertTrue( "R must have T", ReifierStd.hasTriple( G, T ) ); assertFalse( "R must not have T2", ReifierStd.hasTriple( G, T2 ) ); - } + } public void testReifyAs() { @@ -183,7 +184,7 @@ public abstract class AbstractTestReifier extends GraphTestBase ReifierStd.reifyAs( G, node("x"), triple( "cows eat grass" ) ); ReifierStd.reifyAs( G, node("y"), triple( "pigs can fly" ) ); ReifierStd.reifyAs( G, node("z"), triple( "dogs may bark" ) ); - assertEquals( "", nodeSet( "z y x" ), iteratorToSet( ReifierStd.allNodes(G) ) ); + assertEquals( "", nodeSet( "z y x" ), Iter.toSet( ReifierStd.allNodes(G) ) ); } public void testRemoveByNode() @@ -210,7 +211,7 @@ public abstract class AbstractTestReifier extends GraphTestBase ReifierStd.reifyAs( G, X, triple( "x R y" ) ); ReifierStd.reifyAs( G, X, triple( "x R y" ) ); try { ReifierStd.reifyAs( G, X, triple( "x R z" ) ); fail( "did not detect already reified node" ); } - catch (AlreadyReifiedException e) { } + catch (AlreadyReifiedException e) { } } public void testKevinCaseA() @@ -218,7 +219,7 @@ public abstract class AbstractTestReifier extends GraphTestBase Graph G = getGraph(); Node X = node( "x" ), a = node( "a" ), b = node( "b" ), c = node( "c" ); G.add( Triple.create( X, RDF.Nodes.type, RDF.Nodes.Statement ) ); - ReifierStd.reifyAs( G, X, Triple.create( a, b, c ) ); + ReifierStd.reifyAs( G, X, Triple.create( a, b, c ) ); } public void testKevinCaseB() @@ -279,7 +280,7 @@ public abstract class AbstractTestReifier extends GraphTestBase { testReifierFind( "x rdf:predicate P; x rdf:subject S; x rdf:object O; x rdf:type rdf:Statement" ); } public void testReifierFindFilter() - { + { Graph g = getGraph(); graphAdd( g, "s rdf:subject S" ); assertEquals( tripleSet( "" ), ReifierStd.findExposed( g, triple( "s otherPredicate S" ) ).toSet() ); diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestTripleStore.java b/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestTripleStore.java index df89d46e3e..e0c7c62049 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestTripleStore.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/AbstractTestTripleStore.java @@ -18,6 +18,7 @@ package org.apache.jena.graph.test; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.impl.TripleStore ; /** @@ -27,46 +28,46 @@ public abstract class AbstractTestTripleStore extends GraphTestBase { public AbstractTestTripleStore( String name ) { super( name ); } - + /** - Subclasses must over-ride to return a new empty TripleStore. + Subclasses must over-ride to return a new empty TripleStore. */ public abstract TripleStore getTripleStore(); - + protected TripleStore store; - + @Override public void setUp() { store = getTripleStore(); } - + public void testEmpty() { testEmpty( store ); } - + public void testAddOne() { store.add( triple( "x P y" ) ); assertEquals( false, store.isEmpty() ); assertEquals( 1, store.size() ); assertEquals( true, store.contains( triple( "x P y" ) ) ); - assertEquals( nodeSet( "x" ), iteratorToSet( store.listSubjects() ) ); - assertEquals( nodeSet( "y" ), iteratorToSet( store.listObjects() ) ); - assertEquals( tripleSet( "x P y" ), iteratorToSet( store.find( triple( "?? ?? ??" ) ) ) ); + assertEquals( nodeSet( "x" ), Iter.toSet( store.listSubjects() ) ); + assertEquals( nodeSet( "y" ), Iter.toSet( store.listObjects() ) ); + assertEquals( tripleSet( "x P y" ), Iter.toSet( store.find( triple( "?? ?? ??" ) ) ) ); } public void testListSubjects() { someStatements( store ); - assertEquals( nodeSet( "a x _z r q" ), iteratorToSet( store.listSubjects() ) ); + assertEquals( nodeSet( "a x _z r q" ), Iter.toSet( store.listSubjects() ) ); } - + public void testListObjects() { someStatements( store ); - assertEquals( nodeSet( "b y i _j _t 17" ), iteratorToSet( store.listObjects() ) ); + assertEquals( nodeSet( "b y i _j _t 17" ), Iter.toSet( store.listObjects() ) ); } - + public void testContains() { someStatements( store ); @@ -83,29 +84,29 @@ public abstract class AbstractTestTripleStore extends GraphTestBase assertEquals( false, store.contains( triple( "b Z r" ) ) ); assertEquals( false, store.contains( triple( "_a P x" ) ) ); } - + public void testFind() { someStatements( store ); - assertEquals( tripleSet( "" ), iteratorToSet( store.find( triple( "no such thing" ) ) ) ); - assertEquals( tripleSet( "a P b; a P i" ), iteratorToSet( store.find( triple( "a P ??" ) ) ) ); - assertEquals( tripleSet( "a P b; x P y; a P i" ), iteratorToSet( store.find( triple( "?? P ??" ) ) ) ); - assertEquals( tripleSet( "x P y; x R y" ), iteratorToSet( store.find( triple( "x ?? y" ) ) ) ); - assertEquals( tripleSet( "_z Q _j" ), iteratorToSet( store.find( triple( "?? ?? _j" ) ) ) ); - assertEquals( tripleSet( "q R 17" ), iteratorToSet( store.find( triple( "?? ?? 17" ) ) ) ); + assertEquals( tripleSet( "" ), Iter.toSet( store.find( triple( "no such thing" ) ) ) ); + assertEquals( tripleSet( "a P b; a P i" ), Iter.toSet( store.find( triple( "a P ??" ) ) ) ); + assertEquals( tripleSet( "a P b; x P y; a P i" ), Iter.toSet( store.find( triple( "?? P ??" ) ) ) ); + assertEquals( tripleSet( "x P y; x R y" ), Iter.toSet( store.find( triple( "x ?? y" ) ) ) ); + assertEquals( tripleSet( "_z Q _j" ), Iter.toSet( store.find( triple( "?? ?? _j" ) ) ) ); + assertEquals( tripleSet( "q R 17" ), Iter.toSet( store.find( triple( "?? ?? 17" ) ) ) ); } - + public void testRemove() { store.add( triple( "nothing before ace" ) ); store.add( triple( "ace before king" ) ); store.add( triple( "king before queen" ) ); store.delete( triple( "ace before king" ) ); - assertEquals( tripleSet( "king before queen; nothing before ace" ), iteratorToSet( store.find( triple( "?? ?? ??" ) ) ) ); + assertEquals( tripleSet( "king before queen; nothing before ace" ), Iter.toSet( store.find( triple( "?? ?? ??" ) ) ) ); store.delete( triple( "king before queen" ) ); - assertEquals( tripleSet( "nothing before ace" ), iteratorToSet( store.find( triple( "?? ?? ??" ) ) ) ); + assertEquals( tripleSet( "nothing before ace" ), Iter.toSet( store.find( triple( "?? ?? ??" ) ) ) ); } - + public void someStatements( TripleStore ts ) { ts.add( triple( "a P b" ) ); @@ -116,7 +117,7 @@ public abstract class AbstractTestTripleStore extends GraphTestBase ts.add( triple( "r S _t" ) ); ts.add( triple( "q R 17" ) ); } - + public void testEmpty( TripleStore ts ) { assertEquals( true, ts.isEmpty() ); diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/GraphTestBase.java b/jena-core/src/test/java/org/apache/jena/graph/test/GraphTestBase.java index 6c789f1500..096bf8685a 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/GraphTestBase.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/GraphTestBase.java @@ -26,14 +26,7 @@ import java.io.FileNotFoundException; import java.lang.reflect.Constructor ; import java.net.URISyntaxException; import java.net.URL; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.StringTokenizer; +import java.util.*; import org.apache.jena.graph.* ; import org.apache.jena.ontology.impl.TestListSyntaxCategories ; @@ -41,7 +34,6 @@ import org.apache.jena.shared.JenaException ; import org.apache.jena.shared.PrefixMapping ; import org.apache.jena.test.JenaTestBase ; import org.apache.jena.util.CollectionFactory ; -import org.apache.jena.util.IteratorCollection ; import org.apache.jena.util.iterator.ExtendedIterator ; public class GraphTestBase extends JenaTestBase @@ -69,21 +61,17 @@ public class GraphTestBase extends JenaTestBase public static Node node( String x ) { return NodeCreateUtils.create( x ); } - /** - Answer a set containing the elements from the iterator <code>it</code>; - a shorthand for <code>IteratorCollection.iteratorToSet(it)</code>, - which see. - */ - public static <T> Set<T> iteratorToSet( Iterator<? extends T> it ) - { return IteratorCollection.iteratorToSet( it ); } - - /** - Answer a list containing the elements from the iterator <code>it</code>, - in order; a shorthand for <code>IteratorCollection.iteratorToList(it)</code>, - which see. - */ - public static <T> List<T> iteratorToList( Iterator<? extends T> it ) - { return IteratorCollection.iteratorToList( it ); } +// /** +// Answer a set containing the elements from the iterator <code>it</code>. +// */ +// public static <T> Set<T> Iter.toSet( Iterator<? extends T> it ) +// { return Iter.toSet( it ); } +// +// /** +// Answer a list containing the elements from the iterator <code>it</code>. +// */ +// public static <T> List<T> Iter.toList( Iterator<? extends T> it ) +// { return Iter.toList( it ); } /** Answer a set of the nodes described (as per <code>node()</code>) by diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/RecordingListener.java b/jena-core/src/test/java/org/apache/jena/graph/test/RecordingListener.java index bf6f6e4618..3d961d9ddf 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/RecordingListener.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/RecordingListener.java @@ -23,99 +23,101 @@ import java.util.Arrays ; import java.util.Iterator ; import java.util.List ; +import org.junit.Assert ; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.GraphListener ; import org.apache.jena.graph.Triple ; -import org.junit.Assert ; /** This testing listener records the event names and data, and provides - a method for comparing the actual with the expected history. -*/ + a method for comparing the actual with the expected history. +*/ public class RecordingListener implements GraphListener { public List<Object> history = new ArrayList<>(); - + @Override public void notifyAddTriple( Graph g, Triple t ) { record( "add", g, t ); } - + @Override public void notifyAddArray( Graph g, Triple [] triples ) { record( "add[]", g, triples ); } - + @Override public void notifyAddList( Graph g, List<Triple> triples ) { record( "addList", g, triples ); } - + @Override public void notifyAddIterator( Graph g, Iterator<Triple> it ) - { record( "addIterator", g, GraphTestBase.iteratorToList( it ) ); } - + { record( "addIterator", g, Iter.toList( it ) ); } + @Override public void notifyAddGraph( Graph g, Graph added ) { record( "addGraph", g, added ); } - + @Override public void notifyDeleteTriple( Graph g, Triple t ) { record( "delete", g, t ); } - + @Override public void notifyDeleteArray( Graph g, Triple [] triples ) { record( "delete[]", g, triples ); } - + @Override public void notifyDeleteList( Graph g, List<Triple> triples ) { record( "deleteList", g, triples ); } - + @Override public void notifyDeleteIterator( Graph g, Iterator<Triple> it ) - { record( "deleteIterator", g, GraphTestBase.iteratorToList( it ) ); } - + { record( "deleteIterator", g, Iter.toList( it ) ); } + @Override public void notifyDeleteGraph( Graph g, Graph removed ) { record( "deleteGraph", g, removed ); } - + @Override public void notifyEvent( Graph source, Object event ) { record( "someEvent", source, event ); } - + protected void record( String tag, Object x, Object y ) { history.add( tag ); history.add( x ); history.add( y ); } - + protected void record( String tag, Object info ) { history.add( tag ); history.add( info ); } - + public void clear() { history.clear(); } public boolean has( List<Object> things ) - { return Arrays.deepEquals(history.toArray(), things.toArray() ); } - + { return Arrays.deepEquals(history.toArray(), things.toArray() ); } + public boolean hasStart( List<Object> L ) { return L.size() <= history.size() && L.equals( history.subList( 0, L.size() ) ); } - + public boolean hasEnd( List<Object> L ) { return L.size() <= history.size() && L.equals( history.subList( history.size() - L.size(), history.size() ) ); } - + public boolean has( Object [] things ) - { return Arrays.deepEquals(history.toArray(), things ); } - + { return Arrays.deepEquals(history.toArray(), things ); } + public void assertHas( List<Object> things ) - { if (has( things ) == false) Assert.fail( "expected " + things + " but got " + history ); } - + { if (has( things ) == false) Assert.fail( "expected " + things + " but got " + history ); } + public void assertHas( Object [] things ) { assertHas( Arrays.asList( things ) ); } - + 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 ) { List<Object> L = Arrays.asList( end ); - if (hasEnd( L ) == false) Assert.fail( "expected " + L + " at the end of " + history ); + if (hasEnd( L ) == false) Assert.fail( "expected " + L + " at the end of " + history ); } } diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java index 3af9d43d06..d782773aab 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestFindLiterals.java @@ -21,6 +21,7 @@ package org.apache.jena.graph.test; import java.util.Set; import junit.framework.TestSuite; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Graph; import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; @@ -161,6 +162,6 @@ public class TestFindLiterals extends GraphTestBase { g.add( Triple.create( SS, P, as ) ); g.add( Triple.create( SI, P, ai ) ); g.add( Triple.create( SL, P, al ) ); - assertEquals( 4, iteratorToSet( g.find( Node.ANY, P, NodeCreateUtils.create( "42" ) ) ).size() ); + assertEquals( 4, Iter.toSet( g.find( Node.ANY, P, NodeCreateUtils.create( "42" ) ) ).size() ); } } diff --git a/jena-core/src/test/java/org/apache/jena/graph/test/TestNodeToTriplesMapMem.java b/jena-core/src/test/java/org/apache/jena/graph/test/TestNodeToTriplesMapMem.java index 0efbb8b215..7ea76213a6 100644 --- a/jena-core/src/test/java/org/apache/jena/graph/test/TestNodeToTriplesMapMem.java +++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestNodeToTriplesMapMem.java @@ -18,11 +18,17 @@ package org.apache.jena.graph.test; -import java.util.*; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; import junit.framework.TestSuite; -import org.apache.jena.graph.* ; -import org.apache.jena.graph.Triple.* ; +import org.apache.jena.atlas.iterator.Iter; +import org.apache.jena.graph.Node; +import org.apache.jena.graph.NodeFactory; +import org.apache.jena.graph.Node_URI; +import org.apache.jena.graph.Triple; +import org.apache.jena.graph.Triple.Field; import org.apache.jena.mem.NodeToTriplesMapMem ; /** @@ -34,88 +40,88 @@ public class TestNodeToTriplesMapMem extends GraphTestBase { public TestNodeToTriplesMapMem(String name ) { super( name ); } - + public static TestSuite suite() { return new TestSuite( TestNodeToTriplesMapMem.class ); } - + protected NodeToTriplesMapMem ntS = new NodeToTriplesMapMem( Field.fieldSubject, Field.fieldPredicate, Field.fieldObject ); - + protected NodeToTriplesMapMem ntP = new NodeToTriplesMapMem( Field.fieldPredicate, Field.fieldObject, Field.fieldSubject ); - + protected NodeToTriplesMapMem ntO = new NodeToTriplesMapMem( Field.fieldObject, Field.fieldPredicate, Field.fieldSubject ); protected static final Node x = node( "x" ); - + protected static final Node y = node( "y" ); - + public void testZeroSize() { testZeroSize( "fresh NTM", ntS ); } - + protected void testZeroSize( String title, NodeToTriplesMapMem nt ) { assertEquals( title + " should have size 0", 0, nt.size() ); assertEquals( title + " should be isEmpty()", true, nt.isEmpty() ); assertEquals( title + " should have empty domain", false, nt.domain().hasNext() ); } - + public void testAddOne() { ntS.add( triple( "x P y" ) ); testJustOne( x, ntS ); } - + public void testAddOneTwice() { addTriples( ntS, "x P y; x P y" ); testJustOne( x, ntS ); } - + protected void testJustOne( Node x, NodeToTriplesMapMem nt ) { assertEquals( 1, nt.size() ); assertEquals( false, nt.isEmpty() ); - assertEquals( just( x ), iteratorToSet( nt.domain() ) ); + assertEquals( just( x ), Iter.toSet( nt.domain() ) ); } - + public void testAddTwoUnshared() { addTriples( ntS, "x P a; y Q b" ); assertEquals( 2, ntS.size() ); assertEquals( false, ntS.isEmpty() ); - assertEquals( both( x, y ), iteratorToSet( ntS.domain() ) ); + assertEquals( both( x, y ), Iter.toSet( ntS.domain() ) ); } - + public void testAddTwoShared() { addTriples( ntS, "x P a; x Q b" ); assertEquals( 2, ntS.size() ); assertEquals( false, ntS.isEmpty() ); - assertEquals( just( x ), iteratorToSet( ntS.domain() ) ); + assertEquals( just( x ), Iter.toSet( ntS.domain() ) ); } - + public void testClear() { addTriples( ntS, "x P a; x Q b; y R z" ); ntS.clear(); testZeroSize( "cleared NTM", ntS ); } - + public void testAllIterator() { String triples = "x P b; y P d; y P f"; addTriples( ntS, triples ); - assertEquals( tripleSet( triples ), iteratorToSet( ntS.iterateAll() ) ); + assertEquals( tripleSet( triples ), Iter.toSet( ntS.iterateAll() ) ); } - + public void testOneIterator() { addTriples( ntS, "x P b; y P d; y P f" ); assertEquals( tripleSet( "x P b" ), ntS.iterator( x, null ).toSet() ); assertEquals( tripleSet( "y P d; y P f" ), ntS.iterator( y, null ).toSet() ); } - + public void testRemove() { addTriples( ntS, "x P b; y P d; y R f" ); @@ -123,7 +129,7 @@ public class TestNodeToTriplesMapMem extends GraphTestBase assertEquals( 2, ntS.size() ); assertEquals( tripleSet( "x P b; y R f" ), ntS.iterateAll().toSet() ); } - + public void testRemoveByIterator() { addTriples( ntS, "x nice a; a nasty b; x nice c" ); @@ -199,21 +205,21 @@ public class TestNodeToTriplesMapMem extends GraphTestBase ntS.remove( triple( "x P a" ) ); assertEquals( tripleSet( "y Q b; z R c" ), ntS.iterateAll().toSet() ); } - + public void testUnspecificRemoveP() { addTriples( ntP, "x P a; y Q b; z R c" ); ntP.remove( triple( "y Q b" ) ); assertEquals( tripleSet( "x P a; z R c" ), ntP.iterateAll().toSet() ); } - + public void testUnspecificRemoveO() { addTriples( ntO, "x P a; y Q b; z R c" ); ntO.remove( triple( "z R c" ) ); assertEquals( tripleSet( "x P a; y Q b" ), ntO.iterateAll().toSet() ); } - + public void testAddBooleanResult() { assertEquals( true, ntS.add( triple( "x P y" ) ) ); @@ -225,7 +231,7 @@ public class TestNodeToTriplesMapMem extends GraphTestBase assertEquals( true, ntS.add( triple( "y R s" ) ) ); assertEquals( false, ntS.add( triple( "y R s" ) ) ); } - + public void testRemoveBooleanResult() { assertEquals( false, ntS.remove( triple( "x P y" ) ) ); @@ -234,7 +240,7 @@ public class TestNodeToTriplesMapMem extends GraphTestBase assertEquals( true, ntS.remove( triple( "x P y" ) ) ); assertEquals( false, ntS.remove( triple( "x P y" ) ) ); } - + public void testContains() { addTriples( ntS, "x P y; a P b" ); @@ -246,9 +252,9 @@ public class TestNodeToTriplesMapMem extends GraphTestBase assertFalse( ntS.contains( triple( "e T f" ) ) ); assertFalse( ntS.contains( triple( "_x F 17" ) ) ); } - + // TODO more here - + protected void addTriples( NodeToTriplesMapMem nt, String facts ) { Triple [] t = tripleArray( facts ); @@ -257,7 +263,7 @@ public class TestNodeToTriplesMapMem extends GraphTestBase nt.add( aT ); } } - + protected static <T> Set<T> just( T x ) { Set<T> result = new HashSet<>(); @@ -271,5 +277,5 @@ public class TestNodeToTriplesMapMem extends GraphTestBase result.add( y ); return result; } - + } diff --git a/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java b/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java index e47249f013..09063c9421 100644 --- a/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java +++ b/jena-core/src/test/java/org/apache/jena/mem/TripleBunchContractTest.java @@ -17,24 +17,25 @@ */ package org.apache.jena.mem; -import static org.junit.Assert.*; -import static org.apache.jena.testing_framework.GraphHelper.*; +import static org.apache.jena.testing_framework.GraphHelper.triple; +import static org.apache.jena.testing_framework.GraphHelper.tripleSet; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; -import java.util.ArrayList; -import java.util.ConcurrentModificationException; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import org.junit.After; import org.junit.Before; -import org.xenei.junit.contract.Contract; -import org.xenei.junit.contract.ContractTest; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Triple; -import org.xenei.junit.contract.IProducer; import org.apache.jena.testing_framework.NodeCreateUtils; import org.apache.jena.util.iterator.ExtendedIterator; +import org.xenei.junit.contract.Contract; +import org.xenei.junit.contract.ContractTest; +import org.xenei.junit.contract.IProducer; /** * Test triple bunch implementations - NOT YET FINISHED @@ -83,7 +84,7 @@ public class TripleBunchContractTest { testingBunch.add(tripleSPO); assertEquals(1, testingBunch.size()); assertTrue(testingBunch.contains(tripleSPO)); - assertEquals(listOf(tripleSPO), iteratorToList(testingBunch.iterator())); + assertEquals(listOf(tripleSPO), Iter.toList(testingBunch.iterator())); } @ContractTest @@ -94,7 +95,7 @@ public class TripleBunchContractTest { assertTrue(testingBunch.contains(tripleSPO)); assertTrue(testingBunch.contains(tripleXQY)); assertEquals(setOf(tripleSPO, tripleXQY), - iteratorToSet(testingBunch.iterator())); + Iter.toSet(testingBunch.iterator())); } @ContractTest @@ -114,7 +115,7 @@ public class TripleBunchContractTest { assertEquals(1, testingBunch.size()); assertFalse(testingBunch.contains(tripleSPO)); assertTrue(testingBunch.contains(tripleXQY)); - assertEquals(listOf(tripleXQY), iteratorToList(testingBunch.iterator())); + assertEquals(listOf(tripleXQY), Iter.toList(testingBunch.iterator())); } @ContractTest diff --git a/jena-core/src/test/java/org/apache/jena/mem/test/TestTripleBunch.java b/jena-core/src/test/java/org/apache/jena/mem/test/TestTripleBunch.java index 7fb3c02c14..21a83635f9 100644 --- a/jena-core/src/test/java/org/apache/jena/mem/test/TestTripleBunch.java +++ b/jena-core/src/test/java/org/apache/jena/mem/test/TestTripleBunch.java @@ -23,6 +23,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Triple ; import org.apache.jena.graph.test.GraphTestBase ; import org.apache.jena.mem.* ; @@ -40,9 +41,9 @@ public abstract class TestTripleBunch extends GraphTestBase { super( name ); } protected static final TripleBunch emptyBunch = new ArrayBunch(); - + protected abstract TripleBunch getBunch(); - + public void testEmptyBunch() { TripleBunch b = getBunch(); @@ -58,9 +59,9 @@ public abstract class TestTripleBunch extends GraphTestBase b.add( tripleSPO ); assertEquals( 1, b.size() ); assertTrue( b.contains( tripleSPO ) ); - assertEquals( listOf( tripleSPO ), iteratorToList( b.iterator() ) ); + assertEquals( listOf( tripleSPO ), Iter.toList( b.iterator() ) ); } - + public void testAddElements() { TripleBunch b = getBunch(); @@ -69,9 +70,9 @@ public abstract class TestTripleBunch extends GraphTestBase assertEquals( 2, b.size() ); assertTrue( b.contains( tripleSPO ) ); assertTrue( b.contains( tripleXQY ) ); - assertEquals( setOf( tripleSPO, tripleXQY ), iteratorToSet( b.iterator() ) ); + assertEquals( setOf( tripleSPO, tripleXQY ), Iter.toSet( b.iterator() ) ); } - + public void testRemoveOnlyElement() { TripleBunch b = getBunch(); @@ -81,7 +82,7 @@ public abstract class TestTripleBunch extends GraphTestBase assertFalse( b.contains( tripleSPO ) ); assertFalse( b.iterator().hasNext() ); } - + public void testRemoveFirstOfTwo() { TripleBunch b = getBunch(); @@ -91,7 +92,7 @@ public abstract class TestTripleBunch extends GraphTestBase assertEquals( 1, b.size() ); assertFalse( b.contains( tripleSPO ) ); assertTrue( b.contains( tripleXQY ) ); - assertEquals( listOf( tripleXQY ), iteratorToList( b.iterator() ) ); + assertEquals( listOf( tripleXQY ), Iter.toList( b.iterator() ) ); } public void testTableGrows() @@ -102,7 +103,7 @@ public abstract class TestTripleBunch extends GraphTestBase b.add( triple( "a I b" ) ); b.add( triple( "c J d" ) ); } - + public void testIterator() { TripleBunch b = getBunch(); @@ -111,7 +112,7 @@ public abstract class TestTripleBunch extends GraphTestBase b.add( triple( "e R f" ) ); assertEquals( tripleSet( "a P b; c Q d; e R f" ), b.iterator().toSet() ); } - + public void testIteratorRemoveOneItem() { TripleBunch b = getBunch(); @@ -122,7 +123,7 @@ public abstract class TestTripleBunch extends GraphTestBase while (it.hasNext()) if (it.next().equals( triple( "c Q d") )) it.remove(); assertEquals( tripleSet( "a P b; e R f" ), b.iterator().toSet() ); } - + public void testIteratorRemoveAlltems() { TripleBunch b = getBunch(); @@ -133,21 +134,21 @@ public abstract class TestTripleBunch extends GraphTestBase while (it.hasNext()) it.removeNext(); assertEquals( tripleSet( "" ), b.iterator().toSet() ); } - + protected List<Triple> listOf( Triple x ) { List<Triple> result = new ArrayList<>(); result.add( x ); return result; } - + protected Set<Triple> setOf( Triple x, Triple y ) { Set<Triple> result = setOf( x ); result.add( y ); return result; } - + protected Set<Triple> setOf( Triple x ) { Set<Triple> result = new HashSet<>(); diff --git a/jena-core/src/test/java/org/apache/jena/ontology/makers/GraphMakerContractTest.java b/jena-core/src/test/java/org/apache/jena/ontology/makers/GraphMakerContractTest.java index 61d82e8e32..165872029c 100644 --- a/jena-core/src/test/java/org/apache/jena/ontology/makers/GraphMakerContractTest.java +++ b/jena-core/src/test/java/org/apache/jena/ontology/makers/GraphMakerContractTest.java @@ -19,12 +19,13 @@ package org.apache.jena.ontology.makers; import static org.junit.Assert.*; + import java.util.Set; import org.junit.After; import org.junit.Before; -import org.xenei.junit.contract.Contract; -import org.xenei.junit.contract.ContractTest; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Graph; import org.apache.jena.graph.Node; import org.apache.jena.graph.Triple; @@ -32,8 +33,10 @@ import org.apache.jena.ontology.models.GraphMaker; import org.apache.jena.shared.AlreadyExistsException; import org.apache.jena.shared.DoesNotExistException; import org.apache.jena.testing_framework.GraphHelper; -import org.xenei.junit.contract.IProducer; import org.apache.jena.testing_framework.TestUtils; +import org.xenei.junit.contract.Contract; +import org.xenei.junit.contract.ContractTest; +import org.xenei.junit.contract.IProducer; /** * GraphMaker contract test. @@ -170,7 +173,7 @@ public class GraphMakerContractTest { * Test that we can find a graph once its been created. We need to know if * two graphs are "the same" here: we have a temporary work-around but it is * not sound. - * + * */ @ContractTest public void testCanFindCreatedGraph() { @@ -267,7 +270,7 @@ public class GraphMakerContractTest { Graph Y = graphMaker.createGraph(y); Graph Z = graphMaker.createGraph(z); Set<String> wanted = TestUtils.setOfStrings(x + " " + y + " " + z); - assertEquals(wanted, GraphHelper.iteratorToSet(graphMaker.listGraphs())); + assertEquals(wanted, Iter.toSet(graphMaker.listGraphs())); X.close(); Y.close(); Z.close(); @@ -284,7 +287,7 @@ public class GraphMakerContractTest { Graph Y = graphMaker.createGraph(y); Graph Z = graphMaker.createGraph(z); graphMaker.removeGraph(x); - Set<String> s = GraphHelper.iteratorToSet(graphMaker.listGraphs()); + Set<String> s = Iter.toSet(graphMaker.listGraphs()); assertEquals(TestUtils.setOfStrings(y + " " + z), s); X.close(); Y.close(); diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/RecordingModelListener.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/RecordingModelListener.java index a93b0e71e2..8d21941478 100644 --- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/RecordingModelListener.java +++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/RecordingModelListener.java @@ -22,101 +22,102 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.apache.jena.graph.test.GraphTestBase ; +import org.junit.Assert; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.Model ; import org.apache.jena.rdf.model.ModelChangedListener ; import org.apache.jena.rdf.model.Statement ; import org.apache.jena.rdf.model.StmtIterator ; -import org.junit.Assert; public class RecordingModelListener implements ModelChangedListener { List<Object> history = new ArrayList<>(); - + @Override public void addedStatement( Statement s ) { record( "add", s ); } - + @Override public void addedStatements( Statement [] statements ) { record( "add[]", Arrays.asList( statements ) ); } - + @Override public void addedStatements( List<Statement> statements ) { record( "addList", statements ); } - + @Override public void addedStatements( StmtIterator statements ) - { record( "addIterator", GraphTestBase.iteratorToList( statements ) ); } - + { record( "addIterator", Iter.toList( statements ) ); } + @Override public void addedStatements( Model m ) { record( "addModel", m ); } - + @Override public void removedStatements( Statement [] statements ) { record( "remove[]", Arrays.asList( statements ) ); } - + @Override public void removedStatement( Statement s ) { record( "remove", s ); } - + @Override public void removedStatements( List<Statement> statements ) { record( "removeList", statements ); } - + @Override public void removedStatements( StmtIterator statements ) - { record( "removeIterator", GraphTestBase.iteratorToList( statements ) ); } - + { record( "removeIterator", Iter.toList( statements ) ); } + @Override public void removedStatements( Model m ) { record( "removeModel", m ); } - + @Override public void notifyEvent( Model m, Object event ) { record( "someEvent", m, event ); } - + protected void record( String tag, Object x, Object y ) { history.add( tag ); history.add( x ); history.add( y ); } - + 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 ) { if (has( things ) == false) Assert.fail( "expected " + Arrays.asList( things ) + " but got " + history ); - } - + } + public boolean has( List<?> things ) - { return history.equals( things ); } - + { return history.equals( things ); } + public boolean hasStart( List<Object> L ) { return L.size() <= history.size() && L.equals( history.subList( 0, L.size() ) ); } - + public boolean hasEnd( List<Object> L ) { return L.size() <= history.size() && L.equals( history.subList( history.size() - L.size(), history.size() ) ); } - + public void assertHas( List<?> things ) - { if (has( things ) == false) Assert.fail( "expected " + things + " but got " + history ); } - + { if (has( 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 ) { List<Object> L = Arrays.asList( end ); - if (hasEnd( L ) == false) Assert.fail( "expected " + L + " at the end of " + history ); + if (hasEnd( L ) == false) Assert.fail( "expected " + L + " at the end of " + history ); } - + public void clear() { history.clear(); } diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModelEvents.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModelEvents.java index 33e2bbb4d6..9a89c7233d 100644 --- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModelEvents.java +++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModelEvents.java @@ -6,9 +6,9 @@ * 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. @@ -18,14 +18,11 @@ package org.apache.jena.rdf.model.test; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; -import org.apache.jena.graph.test.GraphTestBase ; +import org.junit.Assert; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.listeners.ChangedListener ; import org.apache.jena.rdf.listeners.NullListener ; import org.apache.jena.rdf.listeners.ObjectListener ; @@ -38,7 +35,6 @@ import org.apache.jena.rdf.model.impl.StmtIteratorImpl ; import org.apache.jena.rdf.model.test.helpers.ModelHelper ; import org.apache.jena.rdf.model.test.helpers.RecordingModelListener ; import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ; -import org.junit.Assert; /** * Tests for model events and listeners. @@ -65,7 +61,7 @@ public class TestModelEvents extends AbstractModelTestBase } if (x instanceof Iterator<?>) { - return GraphTestBase.iteratorToList((Iterator<?>) x); + return Iter.toList((Iterator<?>) x); } return x; } diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestObjects.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestObjects.java index eb0a65d993..c647c0d62c 100644 --- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestObjects.java +++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestObjects.java @@ -6,9 +6,9 @@ * 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. @@ -22,12 +22,13 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.apache.jena.graph.test.GraphTestBase ; +import org.junit.Assert; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.* ; import org.apache.jena.rdf.model.test.helpers.ModelHelper ; import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ; import org.apache.jena.vocabulary.RDF ; -import org.junit.Assert; public class TestObjects extends AbstractModelTestBase { @@ -145,13 +146,13 @@ public class TestObjects extends AbstractModelTestBase final Set<Literal> wanted = literalsUpto(TestObjects.numberSubjects * TestObjects.numberPredicates); Assert.assertEquals(wanted, - GraphTestBase.iteratorToSet(model.listObjects())); + Iter.toSet(model.listObjects())); } public void testListObjectsOfPropertyByProperty() { fill(model); - final List<RDFNode> L = GraphTestBase.iteratorToList(model + final List<RDFNode> L = Iter.toList(model .listObjectsOfProperty(ModelHelper .property(TestObjects.predicatePrefix + "0/p"))); Assert.assertEquals(TestObjects.numberSubjects, L.size()); @@ -167,7 +168,7 @@ public class TestObjects extends AbstractModelTestBase { model.addLiteral(s, RDF.value, i); } - final List<RDFNode> L = GraphTestBase.iteratorToList(model + final List<RDFNode> L = Iter.toList(model .listObjectsOfProperty(s, RDF.value)); Assert.assertEquals(size, L.size()); final Set<Literal> wanted = literalsUpto(size); @@ -188,7 +189,7 @@ public class TestObjects extends AbstractModelTestBase final List<Resource> L = model.listSubjects().toList(); Assert.assertEquals(TestObjects.numberSubjects, L.size()); final Set<Resource> wanted = subjectSet(TestObjects.numberSubjects); - Assert.assertEquals(wanted, GraphTestBase.iteratorToSet(L.iterator())); + Assert.assertEquals(wanted, Iter.toSet(L.iterator())); } } diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResourceMethods.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResourceMethods.java index 6b6210521c..77ae1074e8 100644 --- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResourceMethods.java +++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResourceMethods.java @@ -6,9 +6,9 @@ * 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. @@ -18,7 +18,9 @@ package org.apache.jena.rdf.model.test; -import org.apache.jena.graph.test.GraphTestBase ; +import org.junit.Assert; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.Literal ; import org.apache.jena.rdf.model.RDFNode ; import org.apache.jena.rdf.model.Resource ; @@ -27,7 +29,6 @@ import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ; import org.apache.jena.shared.PropertyNotFoundException ; import org.apache.jena.test.JenaTestBase ; import org.apache.jena.vocabulary.RDF ; -import org.junit.Assert; public class TestResourceMethods extends AbstractModelTestBase { @@ -96,13 +97,9 @@ public class TestResourceMethods extends AbstractModelTestBase public void testCountsCorrect() { - Assert.assertEquals(13, - GraphTestBase.iteratorToList(model.listStatements()).size()); - Assert.assertEquals(13, - GraphTestBase.iteratorToList(r.listProperties(RDF.value)) - .size()); - Assert.assertEquals(0, - GraphTestBase.iteratorToList(r.listProperties(RDF.type)).size()); + Assert.assertEquals(13, Iter.toList(model.listStatements()).size()); + Assert.assertEquals(13, Iter.toList(r.listProperties(RDF.value)).size()); + Assert.assertEquals(0, Iter.toList(r.listProperties(RDF.type)).size()); } public void testDouble() diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java index 02a3bfd7cb..0d74fd3761 100644 --- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java +++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestResources.java @@ -21,14 +21,15 @@ package org.apache.jena.rdf.model.test; import java.util.HashSet; import java.util.Set; -import org.apache.jena.graph.test.GraphTestBase ; +import org.junit.Assert; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.* ; import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ; import org.apache.jena.shared.InvalidPropertyURIException ; import org.apache.jena.shared.PropertyNotFoundException ; import org.apache.jena.test.JenaTestBase ; import org.apache.jena.vocabulary.RDF ; -import org.junit.Assert; public class TestResources extends AbstractModelTestBase { @@ -260,24 +261,21 @@ public class TestResources extends AbstractModelTestBase JenaTestBase.pass(); } // - Assert.assertEquals(13, - GraphTestBase.iteratorToSet(r.listProperties(RDF.value)).size()); - Assert.assertEquals(setOf(r), GraphTestBase.iteratorToSet(r - .listProperties(RDF.value).mapWith(Statement::getSubject))); + Assert.assertEquals(13, Iter.toSet(r.listProperties(RDF.value)).size()); + Assert.assertEquals(setOf(r), Iter.toSet(r.listProperties(RDF.value).mapWith(Statement::getSubject))); // - Assert.assertEquals(0, GraphTestBase.iteratorToSet(r.listProperties(p)) + Assert.assertEquals(0, Iter.toSet(r.listProperties(p)) .size()); Assert.assertEquals( new HashSet<Resource>(), - GraphTestBase.iteratorToSet(r.listProperties(p).mapWith( + Iter.toSet(r.listProperties(p).mapWith( Statement::getSubject))); // Assert.assertEquals(13 + numProps, - GraphTestBase.iteratorToSet(r.listProperties()).size()); + Iter.toSet(r.listProperties()).size()); Assert.assertEquals( setOf(r), - GraphTestBase.iteratorToSet(r.listProperties().mapWith( - Statement::getSubject))); + Iter.toSet(r.listProperties().mapWith(Statement::getSubject))); // r.removeProperties(); Assert.assertEquals(0, r.listProperties().toList().size()); diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/helpers/RecordingModelListener.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/helpers/RecordingModelListener.java index 20cb6c42f5..e2cfe7a652 100644 --- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/helpers/RecordingModelListener.java +++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/helpers/RecordingModelListener.java @@ -6,9 +6,9 @@ * 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. @@ -23,12 +23,13 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import org.apache.jena.graph.test.GraphTestBase ; +import org.junit.Assert; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.Model ; import org.apache.jena.rdf.model.ModelChangedListener ; import org.apache.jena.rdf.model.Statement ; import org.apache.jena.rdf.model.StmtIterator ; -import org.junit.Assert; /** * Class to listen to model changes and record them for testing. */ @@ -63,7 +64,7 @@ public class RecordingModelListener implements ModelChangedListener @Override public void addedStatements( final StmtIterator statements ) { - record("addIterator", GraphTestBase.iteratorToList(statements)); + record("addIterator", Iter.toList(statements)); } public void assertHas( final List<?> things ) @@ -221,7 +222,7 @@ public class RecordingModelListener implements ModelChangedListener @Override public void removedStatements( final StmtIterator statements ) { - record("removeIterator", GraphTestBase.iteratorToList(statements)); + record("removeIterator", Iter.toList(statements)); } } diff --git a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java index 7688ea4cb7..4c7cc68ac8 100644 --- a/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java +++ b/jena-core/src/test/java/org/apache/jena/testing_framework/GraphHelper.java @@ -21,28 +21,17 @@ package org.apache.jena.testing_framework; /** * Foo set of static test helpers. Generally included as a static. */ - -import static org.junit.Assert.*; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.StringTokenizer; - -import org.apache.jena.graph.GraphMemFactory; -import org.apache.jena.graph.Graph; -import org.apache.jena.graph.GraphUtil; -import org.apache.jena.graph.Node; -import org.apache.jena.graph.Triple; +import java.util.*; + +import org.apache.jena.graph.*; import org.apache.jena.shared.JenaException; import org.apache.jena.shared.PrefixMapping; import org.apache.jena.util.CollectionFactory; -import org.apache.jena.util.IteratorCollection; import org.apache.jena.util.iterator.ExtendedIterator; public class GraphHelper extends TestUtils { @@ -55,23 +44,19 @@ public class GraphHelper extends TestUtils { return NodeCreateUtils.create(x); } - /** - * Answer a set containing the elements from the iterator <code>it</code>; a - * shorthand for <code>IteratorCollection.iteratorToSet(it)</code>, which - * see. - */ - public static <T> Set<T> iteratorToSet(Iterator<? extends T> it) { - return IteratorCollection.iteratorToSet(it); - } - - /** - * Answer a list containing the elements from the iterator <code>it</code>, - * in order; a shorthand for - * <code>IteratorCollection.iteratorToList(it)</code>, which see. - */ - public static <T> List<T> iteratorToList(Iterator<? extends T> it) { - return IteratorCollection.iteratorToList(it); - } +// /** +// * Answer a set containing the elements from the iterator <code>it</code>. +// */ +// public static <T> Set<T> Iter.toSet(Iterator<? extends T> it) { +// return Iter.toSet(it); +// } +// +// /** +// * Answer a list containing the elements from the iterator <code>it</code>. +// */ +// public static <T> List<T> Iter.toList(Iterator<? extends T> it) { +// return Iter.toList(it); +// } /** * Answer a set of the nodes described (as per <code>node()</code>) by the diff --git a/jena-core/src/test/java/org/apache/jena/util/TestIteratorCollection.java b/jena-core/src/test/java/org/apache/jena/util/TestIteratorCollection.java index dbdb9b49c5..d0395446d9 100644 --- a/jena-core/src/test/java/org/apache/jena/util/TestIteratorCollection.java +++ b/jena-core/src/test/java/org/apache/jena/util/TestIteratorCollection.java @@ -31,6 +31,7 @@ import org.apache.jena.util.iterator.NullIterator ; import org.apache.jena.util.iterator.SingletonIterator ; import org.apache.jena.util.iterator.WrappedIterator ; +@SuppressWarnings("removal") public class TestIteratorCollection extends GraphTestBase { public TestIteratorCollection( String name ) @@ -38,24 +39,24 @@ public class TestIteratorCollection extends GraphTestBase public static TestSuite suite() { return new TestSuite( TestIteratorCollection.class ); } - + public void testEmptyToEmptySet() { assertEquals( CollectionFactory.createHashedSet(), IteratorCollection.iteratorToSet( NullIterator.instance() ) ); } - + public void testSingletonToSingleSet() { - assertEquals( oneSet( "single" ), iteratorToSet( new SingletonIterator<>( "single" ) ) ); + assertEquals( oneSet( "single" ), IteratorCollection.iteratorToSet( new SingletonIterator<>( "single" ) ) ); } - + public void testLotsToSet() { Object [] elements = new Object[] {"now", "is", "the", "time"}; Iterator<Object> it = Arrays.asList( elements ).iterator(); assertEquals( setLots( elements ), IteratorCollection.iteratorToSet( it ) ); } - + public void testCloseForSet() { testCloseForSet( new Object[] {} ); @@ -64,13 +65,13 @@ public class TestIteratorCollection extends GraphTestBase testCloseForSet( new Object[] {"another", "one", "plus", Boolean.FALSE} ); testCloseForSet( new Object[] {"the", "king", "is", "in", "his", "counting", "house"} ); } - + protected void testCloseForSet( Object[] objects ) { final boolean [] closed = {false}; - Iterator<Object> iterator = new WrappedIterator<Object>( Arrays.asList( objects ).iterator() ) + Iterator<Object> iterator = new WrappedIterator<Object>( Arrays.asList( objects ).iterator() ) { @Override public void close() { super.close(); closed[0] = true; } }; - iteratorToSet( iterator ); + IteratorCollection.iteratorToSet( iterator ); assertTrue( closed[0] ); } @@ -78,18 +79,18 @@ public class TestIteratorCollection extends GraphTestBase { assertEquals( new ArrayList<>(), IteratorCollection.iteratorToList( NullIterator.instance() ) ); } - + public void testSingletonToSingletonList() { assertEquals( oneList( "just one" ), IteratorCollection.iteratorToList( new SingletonIterator<>( "just one" ) ) ); } - + public void testLotsToList() { List<Object> list = Arrays.asList( new Object[] {"to", "be", "or", "not", "to", "be"} ); assertEquals( list, IteratorCollection.iteratorToList( list.iterator() ) ); } - + public void testCloseForList() { testCloseForList( new Object[] {} ); @@ -98,13 +99,13 @@ public class TestIteratorCollection extends GraphTestBase testCloseForList( new Object[] {"another", "one", "plus", Boolean.FALSE} ); testCloseForList( new Object[] {"the", "king", "is", "in", "his", "counting", "house"} ); } - + protected void testCloseForList( Object[] objects ) { final boolean [] closed = {false}; - Iterator<Object> iterator = new WrappedIterator<Object>( Arrays.asList( objects ).iterator() ) + Iterator<Object> iterator = new WrappedIterator<Object>( Arrays.asList( objects ).iterator() ) { @Override public void close() { super.close(); closed[0] = true; } }; - iteratorToList( iterator ); + IteratorCollection.iteratorToList( iterator ); assertTrue( closed[0] ); } @@ -114,7 +115,7 @@ public class TestIteratorCollection extends GraphTestBase result.add( x ); return result; } - + protected Set<Object> setLots( Object [] elements ) { Set<Object> result = new HashSet<>(); @@ -124,7 +125,7 @@ public class TestIteratorCollection extends GraphTestBase } return result; } - + protected List<Object> oneList( Object x ) { List<Object> result = new ArrayList<>(); diff --git a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestAndThen.java b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestAndThen.java index 8dea408bc2..f755ce11e4 100644 --- a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestAndThen.java +++ b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestAndThen.java @@ -21,6 +21,7 @@ package org.apache.jena.util.iterator.test; import java.util.List ; import junit.framework.TestSuite ; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.test.ModelTestBase ; import org.apache.jena.util.iterator.ExtendedIterator ; import org.apache.jena.util.iterator.NiceIterator ; @@ -30,19 +31,19 @@ public class TestAndThen extends ModelTestBase { public TestAndThen( String name ) { super( name ); } - + public static TestSuite suite() { return new TestSuite( TestAndThen.class ); } public void testAndThen() - { + { ExtendedIterator<String> L = iteratorOfStrings( "a b c" ); ExtendedIterator<String> R = iteratorOfStrings( "d e f" ); assertInstanceOf( NiceIterator.class, L ); assertInstanceOf( NiceIterator.class, R ); - assertEquals( listOfStrings( "a b c d e f" ), iteratorToList( L.andThen( R ) ) ); + assertEquals( listOfStrings( "a b c d e f" ), Iter.toList( L.andThen( R ) ) ); } - + public void testAndThenExtension() { ExtendedIterator<String> L = iteratorOfStrings( "a b c" ); @@ -52,9 +53,9 @@ public class TestAndThen extends ModelTestBase ExtendedIterator<String> LRX = LR.andThen( X ); assertSame( LR, LRX ); List<String> aToI = listOfStrings( "a b c d e f g h i" ); - assertEquals( aToI, iteratorToList( LRX ) ); + assertEquals( aToI, Iter.toList( LRX ) ); } - + public void testClosingConcatenationClosesRemainingIterators() { LoggingClosableIterator<String> L = new LoggingClosableIterator<>( iteratorOfStrings( "only" ) ); @@ -66,77 +67,77 @@ public class TestAndThen extends ModelTestBase assertTrue( "middle iterator should have been closed", M.isClosed() ); assertTrue( "final iterator should have been closed", R.isClosed() ); } - + public void testRemove1() { List<String> L = listOfStrings("a b c"); List<String> R = listOfStrings("d e f"); - + ExtendedIterator<String> Lit = WrappedIterator.create(L.iterator()); ExtendedIterator<String> Rit = WrappedIterator.create(R.iterator()); - + ExtendedIterator<String> LR = Lit.andThen( Rit ) ; - + while (LR.hasNext()) { String s = LR.next(); - + if ("c".equals(s)) { LR.hasNext(); // test for JENA-60 LR.remove(); } } - + assertEquals("ab", concatAsString(L)); assertEquals("def", concatAsString(R)); } - + public void testRemove2() { List<String> L = listOfStrings("a b c"); List<String> R = listOfStrings("d e f"); - + ExtendedIterator<String> Lit = WrappedIterator.create(L.iterator()); ExtendedIterator<String> Rit = WrappedIterator.create(R.iterator()); - + ExtendedIterator<String> LR = Lit.andThen( Rit ) ; - + while (LR.hasNext()) { String s = LR.next(); - + if ("d".equals(s)) { LR.hasNext(); // test for JENA-60 LR.remove(); } } - + assertEquals("abc", concatAsString(L)); assertEquals("ef", concatAsString(R)); } - + public void testRemove3() { List<String> L = listOfStrings("a b c"); List<String> R = listOfStrings("d e f"); - + ExtendedIterator<String> Lit = WrappedIterator.create(L.iterator()); ExtendedIterator<String> Rit = WrappedIterator.create(R.iterator()); - + ExtendedIterator<String> LR = Lit.andThen( Rit ) ; - + while (LR.hasNext()) { LR.next(); } LR.remove(); - + assertEquals("abc", concatAsString(L)); assertEquals("de", concatAsString(R)); } - + private String concatAsString(List<String> strings) { String toReturn = ""; @@ -146,5 +147,5 @@ public class TestAndThen extends ModelTestBase } return toReturn; } - + } diff --git a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java index 66e589c137..dccafad0fb 100644 --- a/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java +++ b/jena-core/src/test/java/org/apache/jena/util/iterator/test/TestFilters.java @@ -18,31 +18,31 @@ package org.apache.jena.util.iterator.test; -import java.util.*; +import java.util.Iterator; import java.util.function.Predicate; import junit.framework.TestSuite; - +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.rdf.model.test.ModelTestBase ; -import org.apache.jena.util.iterator.* ; +import org.apache.jena.util.iterator.FilterIterator; public class TestFilters extends ModelTestBase { public TestFilters( String name ) { super( name ); } - + public static TestSuite suite() { return new TestSuite( TestFilters.class ); } - protected Predicate<String> containsA = o -> contains( o, 'a' ); - + protected Predicate<String> containsA = o -> contains( o, 'a' ); + public void testFilterIterator() { Iterator<String> i = iteratorOfStrings( "there's an a in some animals" ); Iterator<String> it = new FilterIterator<>( containsA, i ); - assertEquals( listOfStrings( "an a animals" ), iteratorToList( it ) ); + assertEquals( listOfStrings( "an a animals" ), Iter.toList( it ) ); } - + protected boolean contains( Object o, char ch ) { return o.toString().indexOf( ch ) > -1; } }
