Package com.tinkerpop.blueprints.impls.sparksee

Source Code of com.tinkerpop.blueprints.impls.sparksee.SparkseeGraphTest

package com.tinkerpop.blueprints.impls.sparksee;

import com.tinkerpop.blueprints.EdgeTestSuite;
import com.tinkerpop.blueprints.Graph;
import com.tinkerpop.blueprints.TransactionalGraphTestSuite;
import com.tinkerpop.blueprints.GraphQueryTestSuite;
import com.tinkerpop.blueprints.GraphTestSuite;
import com.tinkerpop.blueprints.TestSuite;
import com.tinkerpop.blueprints.VertexQueryTestSuite;
import com.tinkerpop.blueprints.VertexTestSuite;
import com.tinkerpop.blueprints.impls.GraphTest;
import com.tinkerpop.blueprints.util.io.graphml.GraphMLReaderTestSuite;
import com.tinkerpop.blueprints.util.io.graphson.GraphSONReaderTestSuite;

import java.lang.reflect.Method;

/**
* @author <a href="http://www.sparsity-technologies.com">Sparsity
*         Technologies</a>
*/
public class SparkseeGraphTest extends GraphTest {

    /*public void testSparkseeBenchmarkTestSuite() throws Exception {
        this.stopWatch();
        doTestSuite(new SparkseeBenchmarkTestSuite(this));
        printTestPerformance("SparkseeBenchmarkTestSuite", 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 testTransactionalGraphTestSuite() throws Exception {
        this.stopWatch();
        doTestSuite(new TransactionalGraphTestSuite(this));
        printTestPerformance("TransactionalGraphTestSuite", this.stopWatch());
    }

    public void testGraphQueryTestSuite() throws Exception {
        this.stopWatch();
        doTestSuite(new GraphQueryTestSuite(this));
        printTestPerformance("GraphQueryTestSuite", this.stopWatch());
    }

    /*
    This test does not work because Sparksee properties are restricted to
    the scope of a node/edge type. Thus, when using the KeyIndexableGraph
    APIs it is required to previously set the label where the key property
    is defined, as it is shown in the testKeyIndex below.
    */
    public void testKeyIndexableGraphTestSuite() throws Exception {
        this.stopWatch();
        doTestSuite(new SparkseeKeyIndexableGraphTestSuite(this));
        printTestPerformance("KeyIndexableGraphTestSuite", 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());
    }

    /*
    the GML Reader won't work with Sparksee because of our test approach.  the test uses the toy
    tinkergraph which has a mix of data types for the "weight" property on the edge...dex does
    not allow an attribute with the same name to have values with different data types so it
    blows up the test.
    public void testGMLReaderTestSuite() throws Exception {
        this.stopWatch();
        doTestSuite(new GMLReaderTestSuite(this));
        printTestPerformance("GMLReaderTestSuite", this.stopWatch());
    }
    */

    //
    // Sparksee specific test
    //
    public void testSparkseeSpecificTestSuite() throws Exception {
        this.stopWatch();
        doTestSuite(new SparkseeGraphSpecificTestSuite(this));
        printTestPerformance("SparkseeGraphSpecificTestSuite", this.stopWatch());
    }

    public Graph generateGraph() {
        return generateGraph(false);
    }

    public Graph generateGraph(boolean create) {
        return this.generateGraph(create, "blueprints_sparksee_test.gdb");
    }

    public Graph generateGraph(final String graphDirectoryName) {
        return this.generateGraph(false, graphDirectoryName);
    }

    public Graph generateGraph(boolean create, final String graphDirectoryName) {
        String db = this.computeTestDataRoot() + "/" + graphDirectoryName;
        if (create) {
            deleteDirectory(this.computeTestDataRoot());
        }

        return new SparkseeGraph(db, "./blueprints-sparksee.cfg");
    }

    public void doTestSuite(final TestSuite testSuite) throws Exception {
        deleteDirectory(this.computeTestDataRoot());
        for (Method method : testSuite.getClass().getDeclaredMethods()) {
            if (method.getName().startsWith("test")) {
                System.out.println("Testing " + method.getName() + "...");
                method.invoke(testSuite);
                deleteDirectory(this.computeTestDataRoot());
            }
        }
    }
}
TOP

Related Classes of com.tinkerpop.blueprints.impls.sparksee.SparkseeGraphTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.