Repository: tinkerpop Updated Branches: refs/heads/master bd9dd0d25 -> e70e400e9
added a test to PathTest that fails in tp32. adding it here and will upmerge and fix in tp32/master. CTR. Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/4745fe13 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/4745fe13 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/4745fe13 Branch: refs/heads/master Commit: 4745fe13e9322f48ec9ead1d3e3b808f33498ad8 Parents: 45d34ad Author: Marko A. Rodriguez <[email protected]> Authored: Wed Nov 23 04:27:28 2016 -0700 Committer: Marko A. Rodriguez <[email protected]> Committed: Wed Nov 23 04:27:28 2016 -0700 ---------------------------------------------------------------------- .../traversal/step/map/GroovyPathTest.groovy | 7 +++- .../process/traversal/step/map/PathTest.java | 35 ++++++++++++++++++-- 2 files changed, 38 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4745fe13/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPathTest.groovy ---------------------------------------------------------------------- diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPathTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPathTest.groovy index fa0e2be..6caf246 100644 --- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPathTest.groovy +++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPathTest.groovy @@ -18,9 +18,9 @@ */ package org.apache.tinkerpop.gremlin.process.traversal.step.map -import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalScriptHelper import org.apache.tinkerpop.gremlin.process.traversal.Path import org.apache.tinkerpop.gremlin.process.traversal.Traversal +import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalScriptHelper import org.apache.tinkerpop.gremlin.structure.Vertex /** @@ -54,5 +54,10 @@ public abstract class GroovyPathTest { public Traversal<Vertex, Path> get_g_V_asXaX_hasXname_markoX_asXbX_hasXage_29X_asXcX_path() { TraversalScriptHelper.compute("g.V.as('a').has('name', 'marko').as('b').has('age', 29).as('c').path", g) } + + @Override + public Traversal<Vertex, Path> get_g_VX1X_outEXcreatedX_inV_inE_outV_path(final Object v1Id) { + TraversalScriptHelper.compute("g.V(v1Id).outE('created').inV.inE.outV.path()", g, "v1Id", v1Id) + } } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/4745fe13/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java ---------------------------------------------------------------------- diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java index ca73b55..9e18894 100644 --- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java +++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PathTest.java @@ -21,20 +21,22 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.map; import org.apache.tinkerpop.gremlin.LoadGraphWith; import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest; import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner; -import org.apache.tinkerpop.gremlin.process.IgnoreEngine; import org.apache.tinkerpop.gremlin.process.traversal.Path; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; -import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine; +import org.apache.tinkerpop.gremlin.structure.Edge; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.junit.Test; import org.junit.runner.RunWith; import java.util.HashSet; +import java.util.List; import java.util.Set; import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN; import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * @author Marko A. Rodriguez (http://markorodriguez.com) @@ -53,6 +55,8 @@ public abstract class PathTest extends AbstractGremlinProcessTest { public abstract Traversal<Vertex, Path> get_g_V_asXaX_hasXname_markoX_asXbX_hasXage_29X_asXcX_path(); + public abstract Traversal<Vertex, Path> get_g_VX1X_outEXcreatedX_inV_inE_outV_path(final Object v1Id); + @Test @LoadGraphWith(MODERN) public void g_VX1X_name_path() { @@ -133,6 +137,26 @@ public abstract class PathTest extends AbstractGremlinProcessTest { assertEquals(3, path.labels().get(0).size()); } + @Test + @LoadGraphWith(MODERN) + public void g_VX1X_outEXcreatedX_inV_inE_outV_path() { + final Traversal<Vertex, Path> traversal = get_g_VX1X_outEXcreatedX_inV_inE_outV_path(convertToVertexId("marko")); + printTraversalForm(traversal); + final List<Path> paths = traversal.toList(); + assertEquals(3, paths.size()); + for (final Path path : paths) { + assertEquals(5, path.size()); + assertEquals(convertToVertexId("marko"), ((Vertex) path.get(0)).id()); + assertEquals(convertToEdgeId("marko", "created", "lop"), ((Edge) path.get(1)).id()); + assertEquals(convertToVertexId("lop"), ((Vertex) path.get(2)).id()); + assertEquals("created", ((Edge) path.get(3)).label()); + assertTrue(convertToVertexId("josh").equals(((Vertex) path.get(4)).id()) || + convertToVertexId("peter").equals(((Vertex) path.get(4)).id()) || + convertToVertexId("marko").equals(((Vertex) path.get(4)).id())); + } + assertFalse(traversal.hasNext()); + } + public static class Traversals extends PathTest { @Override public Traversal<Vertex, Path> get_g_VX1X_name_path(final Object v1Id) { @@ -158,5 +182,10 @@ public abstract class PathTest extends AbstractGremlinProcessTest { public Traversal<Vertex, Path> get_g_V_asXaX_hasXname_markoX_asXbX_hasXage_29X_asXcX_path() { return g.V().as("a").has("name", "marko").as("b").has("age", 29).as("c").path(); } + + @Override + public Traversal<Vertex, Path> get_g_VX1X_outEXcreatedX_inV_inE_outV_path(final Object v1Id) { + return g.V(v1Id).outE("created").inV().inE().outV().path(); + } } } \ No newline at end of file
