You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2016/09/07 10:34:14 UTC
tinkerpop git commit: Added test cases for `hasId` with predicates.
Repository: tinkerpop
Updated Branches:
refs/heads/hasStepFix 59c289175 -> 5e4d9dd89
Added test cases for `hasId` with predicates.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/5e4d9dd8
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/5e4d9dd8
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/5e4d9dd8
Branch: refs/heads/hasStepFix
Commit: 5e4d9dd89249d56b62211eda0a2435676cf46dd2
Parents: 59c2891
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Wed Sep 7 12:33:17 2016 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Wed Sep 7 12:33:17 2016 +0200
----------------------------------------------------------------------
.../traversal/step/filter/GroovyHasTest.groovy | 10 +++++++
.../process/traversal/step/filter/HasTest.java | 31 ++++++++++++++++++++
2 files changed, 41 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5e4d9dd8/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
index de8d128..b5ca538 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyHasTest.groovy
@@ -156,6 +156,16 @@ public abstract class GroovyHasTest {
}
@Override
+ public Traversal<Vertex, Vertex> get_g_V_hasIdXwithinX1_2XX(final Object v1Id, final Object v2Id) {
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasId(within(v1Id, v2Id))", "v1Id", v1Id, "v2Id", v2Id)
+ }
+
+ @Override
+ public Traversal<Vertex, Vertex> get_g_V_in_hasIdXneqX1XX(final Object v1Id) {
+ new ScriptTraversal<>(g, "gremlin-groovy", "g.V.in.hasId(neq(v1Id))", "v1Id", v1Id)
+ }
+
+ @Override
public Traversal<Vertex, String> get_g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name() {
new ScriptTraversal<>(g, "gremlin-groovy", "g.V.hasLabel('person').has('age', P.not(lte(10).and(P.not(between(11,20)))).and(lt(29).or(eq(35)))).name")
}
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/5e4d9dd8/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
index aaab647..0f160cd 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/HasTest.java
@@ -107,6 +107,10 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
public abstract Traversal<Vertex, Vertex> get_g_V_hasIdX1_2X(final Object v1Id, final Object v2Id);
+ public abstract Traversal<Vertex, Vertex> get_g_V_hasIdXwithinX1_2XX(final Object v1Id, final Object v2Id);
+
+ public abstract Traversal<Vertex, Vertex> get_g_V_in_hasIdXneqX1XX(final Object v1Id);
+
public abstract Traversal<Vertex, String> get_g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name();
@Test
@@ -386,6 +390,7 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
final Traversal<Vertex, Vertex> traversala2 = get_g_V_hasIdX1X(convertToVertexId("marko"));
final Traversal<Vertex, Vertex> traversalb1 = get_g_VX1_2X(convertToVertexId("marko"), convertToVertexId("vadas"));
final Traversal<Vertex, Vertex> traversalb2 = get_g_V_hasIdX1_2X(convertToVertexId("marko"), convertToVertexId("vadas"));
+ final Traversal<Vertex, Vertex> traversalb3 = get_g_V_hasIdXwithinX1_2XX(convertToVertexId("marko"), convertToVertexId("vadas"));
printTraversalForm(traversala1);
printTraversalForm(traversala2);
printTraversalForm(traversalb1);
@@ -394,11 +399,13 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
checkResults(Collections.singletonList(convertToVertex(graph, "marko")), traversala2);
checkResults(Arrays.asList(convertToVertex(graph, "marko"), convertToVertex(graph, "vadas")), traversalb1);
checkResults(Arrays.asList(convertToVertex(graph, "marko"), convertToVertex(graph, "vadas")), traversalb2);
+ checkResults(Arrays.asList(convertToVertex(graph, "marko"), convertToVertex(graph, "vadas")), traversalb3);
// if providers don't have their own custom GraphStep, then ignore validating compilation equality
if ((traversala1.asAdmin().getStartStep() instanceof GraphStep) &&
!traversala1.asAdmin().getStartStep().getClass().equals(GraphStep.class)) {
assertEquals(traversala1, traversala2);
assertEquals(traversalb1, traversalb2);
+ assertEquals(traversalb1, traversalb3);
assertNotEquals(traversala1, traversalb1);
assertNotEquals(traversala1, traversalb2);
assertNotEquals(traversala2, traversalb1);
@@ -414,6 +421,20 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
checkResults(Arrays.asList("peter", "vadas"), traversal);
}
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_V_in_hasIdXneqX1XX() {
+ final Traversal<Vertex, Vertex> traversal = get_g_V_in_hasIdXneqX1XX(convertToVertexId("marko"));
+ printTraversalForm(traversal);
+ int count = 0;
+ while (traversal.hasNext()) {
+ Vertex vertex = traversal.next();
+ assertTrue(vertex.value("name").equals("josh") || vertex.value("name").equals("peter"));
+ count++;
+ }
+ assertEquals(3, count);
+ }
+
private void assert_g_EX11X(final Object edgeId, final Traversal<Edge, Edge> traversal) {
printTraversalForm(traversal);
assertTrue(traversal.hasNext());
@@ -549,6 +570,16 @@ public abstract class HasTest extends AbstractGremlinProcessTest {
}
@Override
+ public Traversal<Vertex, Vertex> get_g_V_hasIdXwithinX1_2XX(final Object v1Id, final Object v2Id) {
+ return g.V().hasId(P.within(v1Id, v2Id));
+ }
+
+ @Override
+ public Traversal<Vertex, Vertex> get_g_V_in_hasIdXneqX1XX(final Object v1Id) {
+ return g.V().in().hasId(P.neq(v1Id));
+ }
+
+ @Override
public Traversal<Vertex, String> get_g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name() {
return g.V().hasLabel("person").has("age", P.not(P.lte(10).and(P.not(P.between(11, 20)))).and(P.lt(29).or(P.eq(35)))).values("name");
}