You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/04/21 12:43:38 UTC

[11/39] incubator-tinkerpop git commit: TINKERPOP-491 #close added tests and sample in the docs.

TINKERPOP-491 #close added tests and sample in the docs.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/e2c61711
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/e2c61711
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/e2c61711

Branch: refs/heads/refactor-io
Commit: e2c61711bd859f7756bcd7b6a3c597cdb8768189
Parents: 107e265
Author: Daniel Kuppitz <da...@hotmail.com>
Authored: Mon Apr 20 16:57:51 2015 +0200
Committer: Daniel Kuppitz <da...@hotmail.com>
Committed: Mon Apr 20 16:57:51 2015 +0200

----------------------------------------------------------------------
 docs/src/the-traversal.asciidoc                 |  3 ++
 .../step/filter/GroovyExceptTest.groovy         | 16 ++++++++--
 .../traversal/step/filter/ExceptTest.java       | 31 +++++++++++++++-----
 3 files changed, 40 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e2c61711/docs/src/the-traversal.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/the-traversal.asciidoc b/docs/src/the-traversal.asciidoc
index 21adfe7..e2b4917 100644
--- a/docs/src/the-traversal.asciidoc
+++ b/docs/src/the-traversal.asciidoc
@@ -387,8 +387,11 @@ With `dedup()`-step (*filter*), repeatedly seen objects are removed from the tra
 ----
 g.V().values('lang')
 g.V().values('lang').dedup()
+g.V(1).repeat(bothE('created').dedup().otherV()).emit().path() <1>
 ----
 
+<1> Traverse all `created` edges, but don't touch any edge twice.
+
 If a by-step modulation is provided to `dedup()`, then the object is processed accordingly prior to determining if it has been seen or not.
 
 [gremlin-groovy,modern]

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e2c61711/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyExceptTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyExceptTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyExceptTest.groovy
index 6dddba2..03537bc 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyExceptTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/filter/GroovyExceptTest.groovy
@@ -18,12 +18,12 @@
  */
 package org.apache.tinkerpop.gremlin.process.traversal.step.filter
 
+import org.apache.tinkerpop.gremlin.process.UseEngine
+import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
 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.process.UseEngine
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__
-import org.apache.tinkerpop.gremlin.process.computer.ComputerTestHelper
 import org.apache.tinkerpop.gremlin.structure.Vertex
 
 /**
@@ -67,6 +67,12 @@ public abstract class GroovyExceptTest {
         }
 
         @Override
+        public Traversal<Vertex, Path> get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(
+                final Object v1Id) {
+            g.V(v1Id).repeat(__.bothE('created').dedup.otherV).emit.path
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_exceptXaX_name(final Object v1Id) {
             g.V(v1Id).as('a').out('created').in('created').except('a').name
         }
@@ -107,6 +113,12 @@ public abstract class GroovyExceptTest {
         }
 
         @Override
+        public Traversal<Vertex, Path> get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(
+                final Object v1Id) {
+            ComputerTestHelper.compute("g.V(${v1Id}).repeat(__.bothE('created').dedup.otherV).emit.path", g);
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_exceptXaX_name(final Object v1Id) {
             ComputerTestHelper.compute("g.V(${v1Id}).as('a').out('created').in('created').except('a').name", g);
         }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/e2c61711/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
index e7e64b7..b863f42 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/filter/ExceptTest.java
@@ -21,20 +21,14 @@ package org.apache.tinkerpop.gremlin.process.traversal.step.filter;
 import org.apache.tinkerpop.gremlin.LoadGraphWith;
 import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
 import org.apache.tinkerpop.gremlin.process.IgnoreEngine;
+import org.apache.tinkerpop.gremlin.process.UseEngine;
 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.process.UseEngine;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.apache.tinkerpop.gremlin.util.StreamFactory;
 import org.junit.Test;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
+import java.util.*;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.bothE;
@@ -59,6 +53,8 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, Path> get_g_VX1X_repeatXbothEXcreatedX_exceptXeX_aggregateXeX_otherVX_emit_path(final Object v1Id);
 
+    public abstract Traversal<Vertex, Path> get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(final Object v1Id);
+
     public abstract Traversal<Vertex, String> get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_exceptXaX_name(final Object v1Id);
 
     @Test
@@ -138,6 +134,20 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
 
     @Test
     @LoadGraphWith(MODERN)
+    @IgnoreEngine(TraversalEngine.Type.COMPUTER)
+    public void g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path() {
+        Traversal<Vertex, Path> traversal = get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(convertToVertexId("marko"));
+        printTraversalForm(traversal);
+        final List<Path> paths = traversal.toList();
+        assertEquals(4, paths.size());
+        assertEquals(1, paths.stream().filter(path -> path.size() == 3).count());
+        assertEquals(2, paths.stream().filter(path -> path.size() == 5).count());
+        assertEquals(1, paths.stream().filter(path -> path.size() == 7).count());
+        assertFalse(traversal.hasNext());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
     public void g_VX1X_asXaX_outXcreatedX_inXcreatedX_exceptXaX_name() {
         final Traversal<Vertex, String> traversal = get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_exceptXaX_name(convertToVertexId("marko"));
         printTraversalForm(traversal);
@@ -179,6 +189,11 @@ public abstract class ExceptTest extends AbstractGremlinProcessTest {
         }
 
         @Override
+        public Traversal<Vertex, Path> get_g_VX1X_repeatXbothEXcreatedX_dedup_otherVX_emit_path(final Object v1Id) {
+            return g.V(v1Id).repeat(bothE("created").dedup().otherV()).emit().path();
+        }
+
+        @Override
         public Traversal<Vertex, String> get_g_VX1X_asXaX_outXcreatedX_inXcreatedX_exceptXaX_name(final Object v1Id) {
             return g.V(v1Id).as("a").out("created").in("created").except("a").values("name");
         }