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 2016/06/16 19:34:11 UTC

[41/50] tinkerpop git commit: added a new PropertiesTest that really ensures vertex property ids are handled correctly by the underlying engine. CTR.

added a new PropertiesTest that really ensures vertex property ids are handled correctly by the underlying engine. CTR.


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

Branch: refs/heads/TINKERPOP-1063
Commit: 9c8c655dd7bd324d6f1341321717491e60c2e894
Parents: 0aab69c
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Jun 14 14:17:02 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Jun 14 14:17:02 2016 -0600

----------------------------------------------------------------------
 .../step/map/GroovyPropertiesTest.groovy        |  8 ++-
 .../traversal/step/map/PropertiesTest.java      | 53 ++++++++++++++++++--
 2 files changed, 55 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c8c655d/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPropertiesTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPropertiesTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPropertiesTest.groovy
index 8ed7859..ec57cd3 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPropertiesTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyPropertiesTest.groovy
@@ -18,9 +18,10 @@
  */
 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.Traversal
+import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalScriptHelper
 import org.apache.tinkerpop.gremlin.structure.Vertex
+import org.apache.tinkerpop.gremlin.structure.VertexProperty
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -43,6 +44,11 @@ public abstract class GroovyPropertiesTest {
         public Traversal<Vertex, Object> get_g_V_hasXageX_properties_hasXid_nameIdX_value(final Object nameId) {
             TraversalScriptHelper.compute("g.V.has('age').properties().has(T.id, nameId).value()", g, "nameId", nameId)
         }
+
+        @Override
+        public Traversal<Vertex, VertexProperty<String>> get_g_V_hasXageX_propertiesXnameX() {
+            TraversalScriptHelper.compute("g.V.has('age').properties('name')", g)
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/9c8c655d/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertiesTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertiesTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertiesTest.java
index 8f9c97b..b64059a 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertiesTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertiesTest.java
@@ -21,18 +21,21 @@ 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.structure.Property;
-import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
+import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author Marko A. Rodriguez (http://markorodriguez.com)
@@ -46,6 +49,8 @@ public abstract class PropertiesTest extends AbstractGremlinProcessTest {
 
     public abstract Traversal<Vertex, Object> get_g_V_hasXageX_properties_hasXid_nameIdX_value(final Object nameId);
 
+    public abstract Traversal<Vertex, VertexProperty<String>> get_g_V_hasXageX_propertiesXnameX();
+
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_hasXageX_propertiesXname_ageX_value() {
@@ -65,7 +70,7 @@ public abstract class PropertiesTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_hasXageX_properties_hasXid_nameIdX_value() {
-        final Traversal<Vertex,Object> traversal = get_g_V_hasXageX_properties_hasXid_nameIdX_value(convertToVertexPropertyId("marko", "name").next());
+        final Traversal<Vertex, Object> traversal = get_g_V_hasXageX_properties_hasXid_nameIdX_value(convertToVertexPropertyId("marko", "name").next());
         printTraversalForm(traversal);
         checkResults(Collections.singletonList("marko"), traversal);
     }
@@ -73,11 +78,44 @@ public abstract class PropertiesTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_hasXageX_properties_hasXid_nameIdAsStringX_value() {
-        final Traversal<Vertex,Object> traversal = get_g_V_hasXageX_properties_hasXid_nameIdX_value(convertToVertexPropertyId("marko", "name").next().toString());
+        final Traversal<Vertex, Object> traversal = get_g_V_hasXageX_properties_hasXid_nameIdX_value(convertToVertexPropertyId("marko", "name").next().toString());
         printTraversalForm(traversal);
         checkResults(Collections.singletonList("marko"), traversal);
     }
 
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_hasXageX_propertiesXnameX() {
+        final Traversal<Vertex, VertexProperty<String>> traversal = get_g_V_hasXageX_propertiesXnameX();
+        printTraversalForm(traversal);
+        final Set<String> keys = new HashSet<>();
+        final Set<String> values = new HashSet<>();
+        final Set<Object> ids = new HashSet<>();
+        int counter = 0;
+        while (traversal.hasNext()) {
+            counter++;
+            final VertexProperty<String> vertexProperty = traversal.next();
+            keys.add(vertexProperty.key());
+            values.add(vertexProperty.value());
+            ids.add(vertexProperty.id());
+            assertEquals("name", vertexProperty.key());
+            assertEquals(convertToVertex(graph, vertexProperty.value()).values("name").next(), vertexProperty.value());
+            assertEquals(convertToVertex(graph, vertexProperty.value()).properties("name").next().id(), vertexProperty.id());
+            assertEquals(convertToVertex(graph, vertexProperty.value()), vertexProperty.element());
+            assertEquals(convertToVertexId(graph, vertexProperty.value()), vertexProperty.element().id());
+        }
+        assertEquals(4, counter);
+        assertEquals(1, keys.size());
+        assertTrue(keys.contains("name"));
+        assertEquals(4, values.size());
+        assertTrue(values.contains("marko"));
+        assertTrue(values.contains("vadas"));
+        assertTrue(values.contains("josh"));
+        assertTrue(values.contains("peter"));
+        assertEquals(4, ids.size());
+
+    }
+
     public static class Traversals extends PropertiesTest {
         @Override
         public Traversal<Vertex, Object> get_g_V_hasXageX_propertiesXname_ageX_value() {
@@ -93,6 +131,11 @@ public abstract class PropertiesTest extends AbstractGremlinProcessTest {
         public Traversal<Vertex, Object> get_g_V_hasXageX_properties_hasXid_nameIdX_value(final Object nameId) {
             return g.V().has("age").properties().has(T.id, nameId).value();
         }
+
+        @Override
+        public Traversal<Vertex, VertexProperty<String>> get_g_V_hasXageX_propertiesXnameX() {
+            return (Traversal<Vertex, VertexProperty<String>>) g.V().has("age").<String>properties("name");
+        }
     }
 }