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 2019/06/18 18:36:38 UTC
[tinkerpop] 03/06: added more tests
This is an automated email from the ASF dual-hosted git repository.
dkuppitz pushed a commit to branch TINKERPOP-1084
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 9ca40a6b17bd8f5e0deab15cf114ff3fac2fdb36
Author: Daniel Kuppitz <da...@hotmail.com>
AuthorDate: Mon Jun 17 14:24:46 2019 -0700
added more tests
---
gremlin-test/features/branch/Branch.feature | 36 ++++++++++++++++-
.../process/traversal/step/branch/BranchTest.java | 47 ++++++++++++++++++++++
2 files changed, 82 insertions(+), 1 deletion(-)
diff --git a/gremlin-test/features/branch/Branch.feature b/gremlin-test/features/branch/Branch.feature
index 6ee261f..7bb3e04 100644
--- a/gremlin-test/features/branch/Branch.feature
+++ b/gremlin-test/features/branch/Branch.feature
@@ -89,4 +89,38 @@ Feature: Step - branch()
| person |
| person |
| software |
- | software |
\ No newline at end of file
+ | software |
+
+ Scenario: g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().hasLabel("person").
+ branch(values("age")).
+ option(P.lt(30), __.constant("young")).
+ option(P.gt(30), __.constant("old")).
+ option(Pick.none, __.constant("on the edge"))
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | young |
+ | young |
+ | old |
+ | old |
+
+ Scenario: g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().
+ branch(__.identity()).
+ option(__.hasLabel("software"), __.in("created").values("name").order().fold()).
+ option(__.has("name","vadas"), __.values("age")).
+ option(P.neq(123), __.bothE().count())
+ """
+ When iterated to list
+ Then the result should be unordered
+ | l[josh,josh,marko,peter] |
+ | d[27].i |
+ | d[12].l |
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
index 44a63bd..ed4b2e7 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/branch/BranchTest.java
@@ -29,9 +29,19 @@ import org.junit.runner.RunWith;
import java.util.Arrays;
import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+import static org.apache.tinkerpop.gremlin.process.traversal.P.gt;
+import static org.apache.tinkerpop.gremlin.process.traversal.P.lt;
+import static org.apache.tinkerpop.gremlin.process.traversal.P.neq;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.bothE;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.constant;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.has;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.identity;
+import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.in;
import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.label;
import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.values;
import static org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.any;
+import static org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent.Pick.none;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -45,6 +55,10 @@ public abstract class BranchTest extends AbstractGremlinProcessTest {
public abstract Traversal<Vertex, Object> get_g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX();
+ public abstract Traversal<Vertex, Object> get_g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX();
+
+ public abstract Traversal<Vertex, Object> get_g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX();
+
@Test
@LoadGraphWith(MODERN)
public void g_V_branchXlabel_eq_person__a_bX_optionXa__ageX_optionXb__langX_optionXb__nameX() {
@@ -69,6 +83,22 @@ public abstract class BranchTest extends AbstractGremlinProcessTest {
checkResults(Arrays.asList("java", "java", "lop", "ripple", 29, 27, 32, 35, "person", "person", "person", "person", "software", "software"), traversal);
}
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX() {
+ final Traversal<Vertex, Object> traversal = get_g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX();
+ printTraversalForm(traversal);
+ checkResults(Arrays.asList("young", "young", "old", "old"), traversal);
+ }
+
+ @Test
+ @LoadGraphWith(MODERN)
+ public void g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX() {
+ final Traversal<Vertex, Object> traversal = get_g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX();
+ printTraversalForm(traversal);
+ checkResults(Arrays.asList(Arrays.asList("josh", "josh", "marko", "peter"), 27, 12L), traversal);
+ }
+
public static class Traversals extends BranchTest {
@Override
@@ -95,5 +125,22 @@ public abstract class BranchTest extends AbstractGremlinProcessTest {
.option(0L, values("name"))
.option(any, label());
}
+
+ @Override
+ public Traversal<Vertex, Object> get_g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX() {
+ return g.V().hasLabel("person")
+ .branch(values("age"))
+ .option(lt(30), constant("young"))
+ .option(gt(30), constant("old"))
+ .option(none, constant("on the edge"));
+ }
+
+ @Override
+ public Traversal<Vertex, Object> get_g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX() {
+ return g.V().branch(identity())
+ .option(hasLabel("software"), in("created").values("name").order().fold())
+ .option(has("name","vadas"), values("age"))
+ .option(neq(123), bothE().count());
+ }
}
}
\ No newline at end of file