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");
+ }
}
}