package com.tinkerpop.blueprints.impls.neo4j; import com.tinkerpop.blueprints.EdgeTestSuite; import com.tinkerpop.blueprints.Graph; import com.tinkerpop.blueprints.GraphQueryTestSuite; import com.tinkerpop.blueprints.GraphTestSuite; import com.tinkerpop.blueprints.IndexTestSuite; import com.tinkerpop.blueprints.IndexableGraphTestSuite; import com.tinkerpop.blueprints.KeyIndexableGraphTestSuite; import com.tinkerpop.blueprints.TestSuite; import com.tinkerpop.blueprints.TransactionalGraphTestSuite; import com.tinkerpop.blueprints.VertexQueryTestSuite; import com.tinkerpop.blueprints.VertexTestSuite; import com.tinkerpop.blueprints.impls.GraphTest; import com.tinkerpop.blueprints.util.io.gml.GMLReaderTestSuite; import com.tinkerpop.blueprints.util.io.graphml.GraphMLReaderTestSuite; import com.tinkerpop.blueprints.util.io.graphson.GraphSONReaderTestSuite; import java.io.File; import java.lang.reflect.Method; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ public class Neo4jGraphTest extends GraphTest { /*public void testNeo4jBenchmarkTestSuite() throws Exception { this.stopWatch(); doTestSuite(new Neo4jBenchmarkTestSuite(this)); printTestPerformance("Neo4jBenchmarkTestSuite", this.stopWatch()); }*/ public void testVertexTestSuite() throws Exception { this.stopWatch(); doTestSuite(new VertexTestSuite(this)); printTestPerformance("VertexTestSuite", this.stopWatch()); } public void testEdgeTestSuite() throws Exception { this.stopWatch(); doTestSuite(new EdgeTestSuite(this)); printTestPerformance("EdgeTestSuite", this.stopWatch()); } public void testGraphTestSuite() throws Exception { this.stopWatch(); doTestSuite(new GraphTestSuite(this)); printTestPerformance("GraphTestSuite", this.stopWatch()); } public void testVertexQueryTestSuite() throws Exception { this.stopWatch(); doTestSuite(new VertexQueryTestSuite(this)); printTestPerformance("VertexQueryTestSuite", this.stopWatch()); } public void testGraphQueryTestSuite() throws Exception { this.stopWatch(); doTestSuite(new GraphQueryTestSuite(this)); printTestPerformance("GraphQueryTestSuite", this.stopWatch()); } public void testKeyIndexableGraphTestSuite() throws Exception { this.stopWatch(); doTestSuite(new KeyIndexableGraphTestSuite(this)); printTestPerformance("KeyIndexableGraphTestSuite", this.stopWatch()); } public void testIndexableGraphTestSuite() throws Exception { this.stopWatch(); doTestSuite(new IndexableGraphTestSuite(this)); printTestPerformance("IndexableGraphTestSuite", this.stopWatch()); } public void testIndexTestSuite() throws Exception { this.stopWatch(); doTestSuite(new IndexTestSuite(this)); printTestPerformance("IndexTestSuite", this.stopWatch()); } public void testTransactionalGraphTestSuite() throws Exception { this.stopWatch(); doTestSuite(new TransactionalGraphTestSuite(this)); printTestPerformance("TransactionalGraphTestSuite", this.stopWatch()); } public void testGraphMLReaderTestSuite() throws Exception { this.stopWatch(); doTestSuite(new GraphMLReaderTestSuite(this)); printTestPerformance("GraphMLReaderTestSuite", this.stopWatch()); } public void testGraphSONReaderTestSuite() throws Exception { this.stopWatch(); doTestSuite(new GraphSONReaderTestSuite(this)); printTestPerformance("GraphSONReaderTestSuite", this.stopWatch()); } public void testGMLReaderTestSuite() throws Exception { this.stopWatch(); doTestSuite(new GMLReaderTestSuite(this)); printTestPerformance("GMLReaderTestSuite", this.stopWatch()); } public void testNeo4jGraphSpecificTestSuite() throws Exception { this.stopWatch(); doTestSuite(new Neo4jGraphSpecificTestSuite(this)); printTestPerformance("Neo4jGraphSpecificTestSuite", this.stopWatch()); } public Graph generateGraph() { return generateGraph("graph"); } public Graph generateGraph(final String graphDirectoryName) { final String directory = getWorkingDirectory(); Neo4jGraph graph = new Neo4jGraph(directory + "/" + graphDirectoryName); graph.setCheckElementsInTransaction(true); return graph; } public void doTestSuite(final TestSuite testSuite) throws Exception { String directory = this.getWorkingDirectory(); deleteDirectory(new File(directory)); for (Method method : testSuite.getClass().getDeclaredMethods()) { if (method.getName().startsWith("test")) { System.out.println("Testing " + method.getName() + "..."); method.invoke(testSuite); deleteDirectory(new File(directory)); } } } private String getWorkingDirectory() { return this.computeTestDataRoot().getAbsolutePath(); } }