You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2013/09/07 11:55:25 UTC

svn commit: r1520747 - /jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/

Author: claude
Date: Sat Sep  7 09:55:24 2013
New Revision: 1520747

URL: http://svn.apache.org/r1520747
Log:
first complete code/graph/impl tests

Added:
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/package-info.java
      - copied, changed from r1519250, jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/README
Removed:
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/GraphTestUtils.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/README
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestLiteralLabels.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestSimpleGraphMaker.java
Modified:
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractEventManagerTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractFindLiteralsTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphExtractTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphListenerTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphMakerTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphSuite.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractRegisterGraphListenerTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractReifierTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTestGraphMaker.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTransactionHandlerTest.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/RecordingListener.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestGraphEvents.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNode.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNodeToTriplesMap.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTriple.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTripleField.java
    jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTypedLiterals.java

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractEventManagerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractEventManagerTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractEventManagerTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractEventManagerTest.java Sat Sep  7 09:55:24 2013
@@ -23,7 +23,10 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mockito;
+
 import static org.junit.Assert.*;
 
 import com.hp.hpl.jena.graph.Graph;
@@ -33,10 +36,13 @@ import com.hp.hpl.jena.graph.GraphListen
 import com.hp.hpl.jena.graph.GraphUtil;
 import com.hp.hpl.jena.graph.Node;
 import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.sparql.graph.GraphFactory;
 import com.hp.hpl.jena.testing_framework.AbstractGraphProducerUser;
+import com.hp.hpl.jena.testing_framework.GraphEventManagerProducerInterface;
 import com.hp.hpl.jena.util.CollectionFactory;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 /**
  * AbstractTestGraph provides a bunch of basic tests for something that purports
@@ -44,40 +50,25 @@ import static com.hp.hpl.jena.graph.Grap
  * to deliver a Graph of interest.
  */
 
-public abstract class AbstractEventManagerTest extends
-		AbstractGraphProducerUser {
-
-	protected Graph graphWithTxn(String s) {
-		Graph g = getGraphProducer().newGraph();
-		txnBegin(g);
-		try {
-			graphAdd(g, s);
-			txnCommit(g);
-		} catch (Exception e) {
-			txnRollback(g);
-			fail(e.getMessage());
-		}
-		return g;
-	}
-
-	static final Triple[] tripleArray = tripleArray("S P O; A R B; X Q Y");
-
-	static final List<Triple> tripleList = Arrays
-			.asList(tripleArray("i lt j; p equals q"));
+public abstract class AbstractEventManagerTest {
 
-	static final Triple[] setTriples = tripleArray("scissors cut paper; paper wraps stone; stone breaks scissors");
+	protected abstract GraphEventManagerProducerInterface getEventManagerProducer();
 
-	static final Set<Triple> tripleSet = CollectionFactory
-			.createHashedSet(Arrays.asList(setTriples));
+	protected static final Triple[] tripleArray = tripleArray("S P O; A R B; X Q Y");
 
-	protected boolean canBeEmpty(Graph g) {
-		return g.isEmpty();
+	private Graph mockGraph;
+	private GraphEventManager gem;
+	
+	@Before
+	public void startup()
+	{
+		mockGraph = Mockito.mock( Graph.class );
+		gem = getEventManagerProducer().newEventManager();
+		L = new RecordingListener();
 	}
-
+	
 	@Test
 	public void testEventRegister() {
-		Graph g = getGraphProducer().newGraph();
-		GraphEventManager gem = g.getEventManager();
 		assertSame(gem, gem.register(new RecordingListener()));
 	}
 
@@ -86,187 +77,154 @@ public abstract class AbstractEventManag
 	 */
 	@Test
 	public void testEventUnregister() {
-		getGraphProducer().newGraph().getEventManager().unregister(L);
+		gem.unregister(L);
 	}
 
 	/**
 	 * Handy triple for test purposes.
 	 */
 	protected Triple SPO = NodeCreateUtils.createTriple("S P O");
-	protected RecordingListener L = new RecordingListener();
+	protected RecordingListener L;
+
 
-	/**
-	 * Utility: get a graph, register L with its manager, return the graph.
-	 */
-	protected Graph getAndRegister(GraphListener gl) {
-		Graph g = getGraphProducer().newGraph();
-		g.getEventManager().register(gl);
-		return g;
-	}
 
 	@Test
 	public void testAddTriple() {
-		Graph g = getAndRegister(L);
-		g.add(SPO);
-		L.assertHas(new Object[] { "add", g, SPO });
+		gem.register(L);
+		gem.notifyAddTriple( mockGraph, SPO );
+		L.assertHas(new Object[] { "add", mockGraph, SPO });
 	}
 
 	@Test
 	public void testDeleteTriple() {
-		Graph g = getAndRegister(L);
-		g.delete(SPO);
-		L.assertHas(new Object[] { "delete", g, SPO });
+		gem.register(L);
+		gem.notifyDeleteTriple( mockGraph,  SPO );
+		L.assertHas(new Object[] { "delete", mockGraph, SPO });
 	}
 
-	/**
-	 * Ensure that triples removed by calling .remove() on the iterator returned
-	 * by a find() will generate deletion notifications.
-	 */
-	@Test
-	public void testEventDeleteByFind() {
-		Graph g = getAndRegister(L);
-		if (g.getCapabilities().iteratorRemoveAllowed()) {
-			Triple toRemove = triple("remove this triple");
-			g.add(toRemove);
-			ExtendedIterator<Triple> rtr = g.find(toRemove);
-			assertTrue("ensure a(t least) one triple", rtr.hasNext());
-			rtr.next();
-			rtr.remove();
-			rtr.close();
-			L.assertHas(new Object[] { "add", g, toRemove, "delete", g,
-					toRemove });
-		}
-	}
+	
 
 	@Test
 	public void testTwoListeners() {
 		RecordingListener L1 = new RecordingListener();
 		RecordingListener L2 = new RecordingListener();
-		Graph g = getGraphProducer().newGraph();
-		GraphEventManager gem = g.getEventManager();
 		gem.register(L1).register(L2);
-		g.add(SPO);
-		L2.assertHas(new Object[] { "add", g, SPO });
-		L1.assertHas(new Object[] { "add", g, SPO });
+		gem.notifyAddTriple( mockGraph, SPO );	
+		L2.assertHas(new Object[] { "add", mockGraph, SPO });
+		L1.assertHas(new Object[] { "add", mockGraph, SPO });
 	}
 
 	@Test
 	public void testUnregisterWorks() {
-		Graph g = getGraphProducer().newGraph();
-		GraphEventManager gem = g.getEventManager();
 		gem.register(L).unregister(L);
-		g.add(SPO);
+		gem.notifyAddTriple( mockGraph, SPO );
 		L.assertHas(new Object[] {});
 	}
 
 	@Test
 	public void testRegisterTwice() {
-		Graph g = getAndRegister(L);
-		g.getEventManager().register(L);
-		g.add(SPO);
-		L.assertHas(new Object[] { "add", g, SPO, "add", g, SPO });
+		gem.register(L).register(L);
+		gem.notifyAddTriple( mockGraph, SPO );
+		L.assertHas(new Object[] { "add", mockGraph, SPO, "add", mockGraph, SPO });
 	}
 
 	@Test
 	public void testUnregisterOnce() {
-		Graph g = getAndRegister(L);
-		g.getEventManager().register(L).unregister(L);
-		g.delete(SPO);
-		L.assertHas(new Object[] { "delete", g, SPO });
+		gem.register(L).register(L).unregister(L);
+		gem.notifyDeleteTriple( mockGraph, SPO );
+		L.assertHas(new Object[] { "delete", mockGraph, SPO });
 	}
 
 	@Test
-	public void testBulkAddArrayEvent() {
-		Graph g = getAndRegister(L);
-		Triple[] triples = tripleArray("x R y; a P b");
-		GraphUtil.add(g, triples);
-		L.assertHas(new Object[] { "add[]", g, triples });
+	public void testAddArray() {
+		gem.register(L);
+		gem.notifyAddArray( mockGraph, tripleArray);
+		L.assertHas(new Object[] { "add[]", mockGraph, tripleArray });
 	}
 
 	@Test
-	public void testBulkAddList() {
-		Graph g = getAndRegister(L);
+	public void testAddList() {
+		gem.register(L);
 		List<Triple> elems = Arrays
-				.asList(tripleArray("bells ring loudly; pigs might fly"));
-		GraphUtil.add(g, elems);
-		L.assertHas(new Object[] { "addList", g, elems });
+				.asList(tripleArray);
+		gem.notifyAddList( mockGraph, elems);
+		L.assertHas(new Object[] { "addList", mockGraph, elems });
 	}
 
 	@Test
-	public void testBulkDeleteArray() {
-		Graph g = getAndRegister(L);
-		Triple[] triples = tripleArray("x R y; a P b");
-		GraphUtil.delete(g, triples);
-		L.assertHas(new Object[] { "delete[]", g, triples });
+	public void testDeleteArray() {
+		gem.register(L);
+		gem.notifyDeleteArray( mockGraph, tripleArray );
+		L.assertHas(new Object[] { "delete[]", mockGraph, tripleArray });
 	}
 
 	@Test
-	public void testBulkDeleteList() {
-		Graph g = getAndRegister(L);
+	public void testDeleteList() {
+		gem.register(L);
 		List<Triple> elems = Arrays
-				.asList(tripleArray("bells ring loudly; pigs might fly"));
-		GraphUtil.delete(g, elems);
-		L.assertHas(new Object[] { "deleteList", g, elems });
+				.asList(tripleArray);
+		gem.notifyDeleteList( mockGraph, elems );
+		L.assertHas(new Object[] { "deleteList", mockGraph, elems });
 	}
 
 	@Test
-	public void testBulkAddIterator() {
-		Graph g = getAndRegister(L);
-		Triple[] triples = tripleArray("I wrote this; you read that; I wrote this");
-		GraphUtil.add(g, asIterator(triples));
-		L.assertHas(new Object[] { "addIterator", g, Arrays.asList(triples) });
+	public void testAddListAsIterator() {
+		gem.register(L);
+		List<Triple> elems = Arrays
+				.asList(tripleArray);
+		gem.notifyAddIterator( mockGraph, elems );
+		L.assertHas(new Object[] { "addIterator", mockGraph, elems });
 	}
-
+	
 	@Test
-	public void testBulkDeleteIterator() {
-		Graph g = getAndRegister(L);
-		Triple[] triples = tripleArray("I wrote this; you read that; I wrote this");
-		GraphUtil.delete(g, asIterator(triples));
-		L.assertHas(new Object[] { "deleteIterator", g, Arrays.asList(triples) });
-	}
-
-	private Iterator<Triple> asIterator(Triple[] triples) {
-		return Arrays.asList(triples).iterator();
+	public void testAddIterator() {
+		gem.register(L);
+		List<Triple> elems = Arrays
+				.asList(tripleArray);
+		gem.notifyAddIterator( mockGraph, elems.iterator() );
+		L.assertHas(new Object[] { "addIterator", mockGraph, elems });
 	}
 
 	@Test
-	public void testBulkAddGraph() {
-		Graph g = getAndRegister(L);
-		Graph triples = graphWithTxn("this type graph; I type slowly");
-		GraphUtil.addInto(g, triples);
-		L.assertHas(new Object[] { "addGraph", g, triples });
+	public void testDeleteIterator() {
+		gem.register(L);
+		List<Triple> elems = Arrays
+				.asList(tripleArray);
+		gem.notifyDeleteIterator( mockGraph, elems.iterator() );
+		L.assertHas(new Object[] { "deleteIterator", mockGraph, elems });
 	}
 
 	@Test
-	public void testBulkDeleteGraph() {
-		Graph g = getAndRegister(L);
-		Graph triples = graphWithTxn("this type graph; I type slowly");
-		GraphUtil.deleteFrom(g, triples);
-		L.assertHas(new Object[] { "deleteGraph", g, triples });
+	public void testDeleteListAsIterator() {
+		gem.register(L);
+		List<Triple> elems = Arrays
+				.asList(tripleArray);
+		gem.notifyDeleteIterator( mockGraph, elems );
+		L.assertHas(new Object[] { "deleteIterator", mockGraph, elems });
 	}
-
+	
 	@Test
-	public void testGeneralEvent() {
-		Graph g = getAndRegister(L);
-		Object value = new int[] {};
-		g.getEventManager().notifyEvent(g, value);
-		L.assertHas(new Object[] { "someEvent", g, value });
+	public void testAddGraph() {
+		gem.register(L);
+		Graph other = Mockito.mock( Graph.class );
+		gem.notifyAddGraph(mockGraph, other);
+		L.assertHas(new Object[] { "addGraph", mockGraph, other });
 	}
 
 	@Test
-	public void testRemoveAllEvent() {
-		Graph g = getAndRegister(L);
-		g.clear();
-		L.assertHas(new Object[] { "someEvent", g, GraphEvents.removeAll });
+	public void testDeleteGraph() {
+		gem.register(L);
+		Graph other = Mockito.mock( Graph.class );
+		gem.notifyDeleteGraph(mockGraph, other);
+		L.assertHas(new Object[] { "deleteGraph", mockGraph, other });
 	}
 
 	@Test
-	public void testRemoveSomeEvent() {
-		Graph g = getAndRegister(L);
-		Node S = node("S"), P = node("??"), O = node("??");
-		g.remove(S, P, O);
-		Object event = GraphEvents.remove(S, P, O);
-		L.assertHas(new Object[] { "someEvent", g, event });
+	public void testGeneralEvent() {
+		gem.register(L);
+		Object value = new int[] {};
+		gem.notifyEvent(mockGraph, value);
+		L.assertHas(new Object[] { "someEvent", mockGraph, value });
 	}
 
 }

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractFindLiteralsTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractFindLiteralsTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractFindLiteralsTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractFindLiteralsTest.java Sat Sep  7 09:55:24 2013
@@ -21,7 +21,7 @@ package com.hp.hpl.jena.graph;
 import java.util.Arrays;
 import java.util.Set;
 
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 import static org.junit.Assert.*;
 
 import org.junit.After;

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphExtractTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphExtractTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphExtractTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphExtractTest.java Sat Sep  7 09:55:24 2013
@@ -18,7 +18,7 @@
 
 package com.hp.hpl.jena.graph;
 
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 import static org.junit.Assert.*;
 
 import org.junit.Test;

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphListenerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphListenerTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphListenerTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphListenerTest.java Sat Sep  7 09:55:24 2013
@@ -19,13 +19,13 @@
 package com.hp.hpl.jena.graph;
 
 
-import static com.hp.hpl.jena.graph.GraphTestUtils.assertContainsAll;
-import static com.hp.hpl.jena.graph.GraphTestUtils.assertOmitsAll;
-import static com.hp.hpl.jena.graph.GraphTestUtils.graphAddTxn;
-import static com.hp.hpl.jena.graph.GraphTestUtils.node;
-import static com.hp.hpl.jena.graph.GraphTestUtils.triple;
-import static com.hp.hpl.jena.graph.GraphTestUtils.txnBegin;
-import static com.hp.hpl.jena.graph.GraphTestUtils.txnCommit;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.assertContainsAll;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.assertOmitsAll;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.graphAddTxn;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.node;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.triple;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.txnBegin;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.txnCommit;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -41,6 +41,7 @@ import com.hp.hpl.jena.graph.impl.Simple
 import com.hp.hpl.jena.mem.GraphMem ;
 import com.hp.hpl.jena.sparql.graph.GraphFactory;
 import com.hp.hpl.jena.testing_framework.AbstractGraphProducerUser;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
 import com.hp.hpl.jena.util.iterator.ClosableIterator;
 
 /**

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphMakerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphMakerTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphMakerTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphMakerTest.java Sat Sep  7 09:55:24 2013
@@ -31,7 +31,8 @@ import com.hp.hpl.jena.graph.Node;
 import com.hp.hpl.jena.graph.Triple;
 import com.hp.hpl.jena.shared.AlreadyExistsException;
 import com.hp.hpl.jena.shared.DoesNotExistException;
-import com.hp.hpl.jena.test.TestUtils;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
+import com.hp.hpl.jena.testing_framework.TestUtils;
 
 /**
  * Abstract base class for testing graph factories. Subclasses define the method

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphSuite.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphSuite.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphSuite.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphSuite.java Sat Sep  7 09:55:24 2013
@@ -1,10 +1,19 @@
 package com.hp.hpl.jena.graph;
 
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.node;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.triple;
+import static org.junit.Assert.assertTrue;
+
 import org.junit.Ignore;
+import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
+import org.mockito.Mockito;
 
+import com.hp.hpl.jena.graph.impl.SimpleEventManager;
+import com.hp.hpl.jena.testing_framework.GraphEventManagerProducerInterface;
 import com.hp.hpl.jena.testing_framework.GraphProducerInterface;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator;
 
 
 /*
@@ -63,10 +72,61 @@ public abstract class AbstractGraphSuite
 		}
 	}
 
+	
 	public static class EventManagerTest extends AbstractEventManagerTest {
 		@Override
-		public GraphProducerInterface getGraphProducer() {
-			return AbstractGraphSuite.graphProducer;
+		protected GraphEventManagerProducerInterface getEventManagerProducer() {
+			return new GraphEventManagerProducerInterface() {
+
+				@Override
+				public GraphEventManager newEventManager() {
+					return AbstractGraphSuite.graphProducer.newGraph().getEventManager();
+				}
+			};
+		}
+		
+		/**
+		 * Utility: get a graph, register L with its manager, return the graph.
+		 */
+		protected Graph getAndRegister(GraphListener gl) {
+			Graph g = AbstractGraphSuite.graphProducer.newGraph();
+			g.getEventManager().register(gl);
+			return g;
+		}
+		
+		@Test
+		public void testRemoveAllEvent() {
+			Graph g = getAndRegister(L);
+			g.clear();
+			L.assertHas(new Object[] { "someEvent", g, GraphEvents.removeAll });
+		}
+
+		@Test
+		public void testRemoveSomeEvent() {
+			Graph g = getAndRegister(L);
+			Node S = node("S"), P = node("??"), O = node("??");
+			g.remove(S, P, O);
+			Object event = GraphEvents.remove(S, P, O);
+			L.assertHas(new Object[] { "someEvent", g, event });
+		}
+		/**
+		 * Ensure that triples removed by calling .remove() on the iterator returned
+		 * by a find() will generate deletion notifications.
+		 */
+		@Test
+		public void testEventDeleteByFind() {
+			Graph g = getAndRegister(L);
+			if (g.getCapabilities().iteratorRemoveAllowed()) {
+				Triple toRemove = triple("remove this triple");
+				g.add(toRemove);
+				ExtendedIterator<Triple> rtr = g.find(toRemove);
+				assertTrue("ensure a(t least) one triple", rtr.hasNext());
+				rtr.next();
+				rtr.remove();
+				rtr.close();
+				L.assertHas(new Object[] { "add", g, toRemove, "delete", g,
+						toRemove });
+			}
 		}
 	}
 

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractGraphTest.java Sat Sep  7 09:55:24 2013
@@ -48,7 +48,8 @@ import com.hp.hpl.jena.testing_framework
 import com.hp.hpl.jena.util.CollectionFactory;
 import com.hp.hpl.jena.util.iterator.ClosableIterator;
 import com.hp.hpl.jena.util.iterator.ExtendedIterator;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 /**
  * AbstractTestGraph provides a bunch of basic tests for something that purports

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractRegisterGraphListenerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractRegisterGraphListenerTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractRegisterGraphListenerTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractRegisterGraphListenerTest.java Sat Sep  7 09:55:24 2013
@@ -31,6 +31,7 @@ import com.hp.hpl.jena.graph.GraphListen
 import com.hp.hpl.jena.graph.Triple;
 import com.hp.hpl.jena.sparql.graph.GraphFactory;
 import com.hp.hpl.jena.testing_framework.AbstractGraphProducerUser;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
 
 /**
  * These tests are for listeners that add or delete

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractReifierTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractReifierTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractReifierTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractReifierTest.java Sat Sep  7 09:55:24 2013
@@ -19,7 +19,7 @@
 package com.hp.hpl.jena.graph;
 
 import static org.junit.Assert.*;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 import org.junit.Test;
 

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTestGraphMaker.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTestGraphMaker.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTestGraphMaker.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTestGraphMaker.java Sat Sep  7 09:55:24 2013
@@ -31,7 +31,8 @@ import com.hp.hpl.jena.graph.Node;
 import com.hp.hpl.jena.graph.Triple;
 import com.hp.hpl.jena.shared.AlreadyExistsException;
 import com.hp.hpl.jena.shared.DoesNotExistException;
-import com.hp.hpl.jena.test.TestUtils;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
+import com.hp.hpl.jena.testing_framework.TestUtils;
 
 /**
  * Abstract base class for testing graph factories. Subclasses define the method

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTransactionHandlerTest.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTransactionHandlerTest.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTransactionHandlerTest.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/AbstractTransactionHandlerTest.java Sat Sep  7 09:55:24 2013
@@ -35,7 +35,8 @@ import com.hp.hpl.jena.shared.JenaExcept
 import com.hp.hpl.jena.testing_framework.AbstractGraphProducerUser;
 import com.hp.hpl.jena.util.CollectionFactory;
 import com.hp.hpl.jena.util.FileUtils;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 /**
  * AbstractTestGraph provides a bunch of basic tests for something that purports

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/RecordingListener.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/RecordingListener.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/RecordingListener.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/RecordingListener.java Sat Sep  7 09:55:24 2013
@@ -27,6 +27,7 @@ import org.junit.Assert;
 import com.hp.hpl.jena.graph.Graph;
 import com.hp.hpl.jena.graph.GraphListener;
 import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
 
 /**
  * This testing listener records the event names and data, and provides a method

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestGraphEvents.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestGraphEvents.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestGraphEvents.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestGraphEvents.java Sat Sep  7 09:55:24 2013
@@ -19,7 +19,7 @@
 package com.hp.hpl.jena.graph;
 
 import static org.junit.Assert.*;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 import org.junit.Test;
 

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNode.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNode.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNode.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNode.java Sat Sep  7 09:55:24 2013
@@ -30,6 +30,7 @@ import com.hp.hpl.jena.rdf.model.AnonId 
 import com.hp.hpl.jena.rdf.model.impl.Util ;
 import com.hp.hpl.jena.shared.JenaException ;
 import com.hp.hpl.jena.shared.PrefixMapping ;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
 import com.hp.hpl.jena.vocabulary.DC ;
 import com.hp.hpl.jena.vocabulary.OWL ;
 import com.hp.hpl.jena.vocabulary.RSS ;

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNodeToTriplesMap.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNodeToTriplesMap.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNodeToTriplesMap.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestNodeToTriplesMap.java Sat Sep  7 09:55:24 2013
@@ -28,6 +28,7 @@ import org.junit.Test;
 
 import com.hp.hpl.jena.graph.Triple.*;
 import com.hp.hpl.jena.mem.NodeToTriplesMap;
+import com.hp.hpl.jena.testing_framework.GraphTestUtils;
 
 
 /**

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTriple.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTriple.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTriple.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTriple.java Sat Sep  7 09:55:24 2013
@@ -19,7 +19,7 @@
 package com.hp.hpl.jena.graph;
 
 import static org.junit.Assert.*;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 import org.junit.Test;
 

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTripleField.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTripleField.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTripleField.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTripleField.java Sat Sep  7 09:55:24 2013
@@ -18,7 +18,7 @@
 
 package com.hp.hpl.jena.graph;
 
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 import static org.junit.Assert.*;
 
 import org.junit.Test;

Modified: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTypedLiterals.java
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTypedLiterals.java?rev=1520747&r1=1520746&r2=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTypedLiterals.java (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/TestTypedLiterals.java Sat Sep  7 09:55:24 2013
@@ -19,7 +19,7 @@
 package com.hp.hpl.jena.graph;
 
 import static org.junit.Assert.*;
-import static com.hp.hpl.jena.graph.GraphTestUtils.*;
+import static com.hp.hpl.jena.testing_framework.GraphTestUtils.*;
 
 import java.math.BigDecimal ;
 import java.math.BigInteger ;

Copied: jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/package-info.java (from r1519250, jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/README)
URL: http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/package-info.java?p2=jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/package-info.java&p1=jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/README&r1=1519250&r2=1520747&rev=1520747&view=diff
==============================================================================
--- jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/README (original)
+++ jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/graph/package-info.java Sat Sep  7 09:55:24 2013
@@ -1,3 +1,7 @@
+package com.hp.hpl.jena.graph;
+/**
+ * General tests for Graph implementations
+ * 
 Testing guidelines/suggestions
 
 Interface tests are built so that developers may test that implementations meet the contract
@@ -17,7 +21,7 @@ the tests and provides a hook for implem
 
 In general to implement a test requires a few lines of code as is noted in the example below
 where the new Foo graph implementation is being tested.
-
+<pre>
 <code>
 public class FooGraphTest extends AbstractGraphTest {
 
@@ -39,7 +43,7 @@ public class FooGraphTest extends Abstra
 
 }
 </code>
-
+</pre>
 SUITES
 ======
 
@@ -86,7 +90,7 @@ to be run once before any of the test me
 instance of the graph producer before the suite is run so that it is provided to the enclosed
 tests. 
 
- 
+*/