Merge branch 'TINKERPOP-1860' into TINKERPOP-1860-master

Conflicts:
        
gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovyValueMapTest.groovy
        
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java


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

Branch: refs/heads/TINKERPOP-1860-master
Commit: 13f1adbd4a012f413adaa584530a78c258e2d92d
Parents: f20e2ed 0b94b50
Author: Stephen Mallette <[email protected]>
Authored: Mon Jan 8 08:07:21 2018 -0500
Committer: Stephen Mallette <[email protected]>
Committed: Mon Jan 8 08:07:21 2018 -0500

----------------------------------------------------------------------
 .../src/main/jython/radish/feature_steps.py     |   8 +-
 gremlin-test/features/map/ValueMap.feature      |  32 ++++++
 .../traversal/step/map/ValueMapTest.java        | 106 ++++++++++++++++++-
 3 files changed, 141 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/13f1adbd/gremlin-python/src/main/jython/radish/feature_steps.py
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/13f1adbd/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
----------------------------------------------------------------------
diff --cc 
gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
index 9c13d5a,d1f08ce..6962caf
--- 
a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
+++ 
b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/ValueMapTest.java
@@@ -22,8 -22,7 +22,7 @@@ import org.apache.tinkerpop.gremlin.Loa
  import org.apache.tinkerpop.gremlin.process.AbstractGremlinProcessTest;
  import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
  import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
--import org.apache.tinkerpop.gremlin.process.traversal.TraversalEngine;
 +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
  import org.apache.tinkerpop.gremlin.structure.T;
  import org.apache.tinkerpop.gremlin.structure.Vertex;
  import org.junit.Test;
@@@ -33,9 -32,8 +32,15 @@@ import java.util.List
  import java.util.Map;
  
  import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData.MODERN;
+ import static org.hamcrest.core.Is.is;
 -import static org.junit.Assert.*;
++import static org.hamcrest.MatcherAssert.assertThat;
 +import static org.apache.tinkerpop.gremlin.structure.T.id;
 +import static org.apache.tinkerpop.gremlin.structure.T.label;
- import static org.junit.Assert.*;
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.assertNull;
++import static org.junit.Assert.assertNotNull;
++import static org.junit.Assert.assertTrue;
++import static org.junit.Assert.assertFalse;
  
  /**
   * @author Marko A. Rodriguez (http://markorodriguez.com)
@@@ -46,10 -44,12 +51,14 @@@ public abstract class ValueMapTest exte
  
      public abstract Traversal<Vertex, Map<String, List>> get_g_V_valueMap();
  
 -    public abstract Traversal<Vertex, Map<String, Object>> 
get_g_V_valueMapXtrueX();
++    public abstract Traversal<Vertex, Map<Object, Object>> 
get_g_V_valueMapXtrueX();
+ 
      public abstract Traversal<Vertex, Map<String, List>> 
get_g_V_valueMapXname_ageX();
  
 -    public abstract Traversal<Vertex, Map<String, Object>> 
get_g_V_valueMapXtrue_name_ageX();
 +    public abstract Traversal<Vertex, Map<Object, Object>> 
get_g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX();
 +
++    public abstract Traversal<Vertex, Map<Object, Object>> 
get_g_V_valueMapXtrue_name_ageX();
+ 
      public abstract Traversal<Vertex, Map<String, List<String>>> 
get_g_VX1X_outXcreatedX_valueMap(final Object v1Id);
  
      @Test
@@@ -84,6 -84,43 +93,43 @@@
  
      @Test
      @LoadGraphWith(MODERN)
+     public void g_V_valueMapXtrueX() {
 -        final Traversal<Vertex, Map<String, Object>> traversal = 
get_g_V_valueMapXtrueX();
++        final Traversal<Vertex, Map<Object, Object>> traversal = 
get_g_V_valueMapXtrueX();
+         printTraversalForm(traversal);
+         int counter = 0;
+         while (traversal.hasNext()) {
+             counter++;
 -            final Map<String, Object> values = traversal.next();
++            final Map<Object, Object> values = traversal.next();
+             final String name = (String) ((List) values.get("name")).get(0);
+             assertEquals(4, values.size());
+             assertThat(values.containsKey(T.id), is(true));
+             if (name.equals("marko")) {
+                 assertEquals(29, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("josh")) {
+                 assertEquals(32, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("peter")) {
+                 assertEquals(35, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("vadas")) {
+                 assertEquals(27, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("lop")) {
+                 assertEquals("java", ((List) values.get("lang")).get(0));
+                 assertEquals("software", values.get(T.label));
+             } else if (name.equals("ripple")) {
+                 assertEquals("java", ((List) values.get("lang")).get(0));
+                 assertEquals("software", values.get(T.label));
+             } else {
+                 throw new IllegalStateException("It is not possible to reach 
here: " + values);
+             }
+         }
+         assertEquals(6, counter);
+     }
+ 
+     @Test
+     @LoadGraphWith(MODERN)
      public void g_V_valueMapXname_ageX() {
          final Traversal<Vertex, Map<String, List>> traversal = 
get_g_V_valueMapXname_ageX();
          printTraversalForm(traversal);
@@@ -119,6 -156,48 +165,48 @@@
  
      @Test
      @LoadGraphWith(MODERN)
+     public void g_V_valueMapXtrue_name_ageX() {
 -        final Traversal<Vertex, Map<String, Object>> traversal = 
get_g_V_valueMapXtrue_name_ageX();
++        final Traversal<Vertex, Map<Object, Object>> traversal = 
get_g_V_valueMapXtrue_name_ageX();
+         printTraversalForm(traversal);
+         int counter = 0;
+         while (traversal.hasNext()) {
+             counter++;
 -            final Map<String, Object> values = traversal.next();
++            final Map<Object, Object> values = traversal.next();
+             final String name = (String) ((List) values.get("name")).get(0);
+             assertThat(values.containsKey(T.id), is(true));
+             if (name.equals("marko")) {
+                 assertEquals(4, values.size());
+                 assertEquals(29, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("josh")) {
+                 assertEquals(4, values.size());
+                 assertEquals(32, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("peter")) {
+                 assertEquals(4, values.size());
+                 assertEquals(35, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("vadas")) {
+                 assertEquals(4, values.size());
+                 assertEquals(27, ((List) values.get("age")).get(0));
+                 assertEquals("person", values.get(T.label));
+             } else if (name.equals("lop")) {
+                 assertEquals(3, values.size());
+                 assertNull(values.get("lang"));
+                 assertEquals("software", values.get(T.label));
+             } else if (name.equals("ripple")) {
+                 assertEquals(3, values.size());
+                 assertNull(values.get("lang"));
+                 assertEquals("software", values.get(T.label));
+             } else {
+                 throw new IllegalStateException("It is not possible to reach 
here: " + values);
+             }
+         }
+         assertEquals(6, counter);
+     }
+ 
+     @Test
+     @LoadGraphWith(MODERN)
      public void g_VX1X_outXcreatedX_valueMap() {
          final Traversal<Vertex, Map<String, List<String>>> traversal = 
get_g_VX1X_outXcreatedX_valueMap(convertToVertexId("marko"));
          printTraversalForm(traversal);
@@@ -131,29 -210,6 +219,29 @@@
  
      }
  
 +    /**
 +     * TINKERPOP-1483
 +     */
 +    @Test
 +    @LoadGraphWith(MODERN)
 +    public void g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX() {
 +      final Traversal<Vertex,Map<Object,Object>> 
gt=get_g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX();
 +      int cnt = 0;
 +      while(gt.hasNext()){
 +              final Map<Object,Object> m = gt.next();
 +              assertTrue(m.size() > 0);
 +              for (Object o : m.keySet()){
 +                      assertNotNull(m.get(o));
 +              }
 +              assertTrue(m.containsKey(id));
 +              assertTrue(m.containsKey(label));
 +              assertEquals("person",m.get(label));
 +              cnt++;
 +      }
 +      // check we had results
 +      assertTrue(cnt > 0);
 +    }
-     
++
      public static class Traversals extends ValueMapTest {
          @Override
          public Traversal<Vertex, Map<String, List>> get_g_V_valueMap() {
@@@ -161,18 -217,23 +249,28 @@@
          }
  
          @Override
 -        public Traversal<Vertex, Map<String, Object>> 
get_g_V_valueMapXtrueX() {
++        public Traversal<Vertex, Map<Object, Object>> 
get_g_V_valueMapXtrueX() {
+             return g.V().valueMap(true);
+         }
+ 
+         @Override
          public Traversal<Vertex, Map<String, List>> 
get_g_V_valueMapXname_ageX() {
              return g.V().valueMap("name", "age");
          }
  
          @Override
 -        public Traversal<Vertex, Map<String, Object>> 
get_g_V_valueMapXtrue_name_ageX() {
++        public Traversal<Vertex, Map<Object, Object>> 
get_g_V_valueMapXtrue_name_ageX() {
+             return g.V().valueMap(true, "name", "age");
+         }
+ 
+         @Override
          public Traversal<Vertex, Map<String, List<String>>> 
get_g_VX1X_outXcreatedX_valueMap(final Object v1Id) {
              return g.V(v1Id).out("created").valueMap();
          }
-         
++
 +        @Override
 +        public Traversal<Vertex, Map<Object, Object>> 
get_g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX() {
 +              return 
g.V().hasLabel("person").filter(__.outE("created")).valueMap(true);
 +        }
      }
  }

Reply via email to