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 2018/05/31 20:38:28 UTC

[09/16] tinkerpop git commit: TINKERPOP-1968 Make Pop tests more GLV friendly

TINKERPOP-1968 Make Pop tests more GLV friendly

The java/groovy tests were nicer before, but they don't translate to GLV tests well. Had to change them to get them off the ignore list.


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

Branch: refs/heads/TINKERPOP-1968
Commit: fa631e98381f283ef8d684c0a458fae8afe3529c
Parents: f6d76f9
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Sat May 19 07:16:09 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu May 31 16:18:09 2018 -0400

----------------------------------------------------------------------
 .../traversal/step/map/GroovySelectTest.groovy  |  80 +++++-
 gremlin-test/features/map/Select.feature        | 135 ++++++++++
 .../process/traversal/step/map/SelectTest.java  | 245 ++++++++++++++++---
 .../gremlin/process/FeatureCoverageTest.java    |   5 -
 4 files changed, 409 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fa631e98/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovySelectTest.groovy
----------------------------------------------------------------------
diff --git a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovySelectTest.groovy b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovySelectTest.groovy
index 104322d..6f5b73b 100644
--- a/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovySelectTest.groovy
+++ b/gremlin-groovy-test/src/main/groovy/org/apache/tinkerpop/gremlin/process/traversal/step/map/GroovySelectTest.groovy
@@ -177,27 +177,83 @@ public abstract class GroovySelectTest {
         // TINKERPOP-619: select should not throw
 
         @Override
-        public Traversal<Vertex, Object> get_g_V_selectXaX(final Pop pop) {
-            final String root = "g.V."
-            new ScriptTraversal<>(g, "gremlin-groovy", root + (null == pop ? "select('a')" : "select(${pop}, 'a')"))
+        public Traversal<Vertex, Object> get_g_V_selectXaX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select('a')")
         }
 
         @Override
-        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXa_bX(final Pop pop) {
-            final String root = "g.V."
-            new ScriptTraversal<>(g, "gremlin-groovy", root + (null == pop ? "select('a', 'b')" : "select(${pop}, 'a', 'b')"))
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXa_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select('a', 'b')")
         }
 
         @Override
-        public Traversal<Vertex, Object> get_g_V_valueMap_selectXpop_aX(final Pop pop) {
-            final String root = "g.V.valueMap."
-            new ScriptTraversal<>(g, "gremlin-groovy", root + (null == pop ? "select('a')" : "select(${pop}, 'a')"))
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXaX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select('a')")
         }
 
         @Override
-        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXpop_a_bX(final Pop pop) {
-            final String root = "g.V.valueMap."
-            new ScriptTraversal<>(g, "gremlin-groovy", root + (null == pop ? "select('a', 'b')" : "select(${pop}, 'a', 'b')"))
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXa_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select('a', 'b')")
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_selectXfirst_aX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select(Pop.first, 'a')")
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXfirst_a_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select(Pop.first, 'a', 'b')")
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXfirst_aX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select(Pop.first, 'a')")
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXfirst_a_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select(Pop.first, 'a', 'b')")
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_selectXlast_aX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select(Pop.last, 'a')")
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXlast_a_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select(Pop.last, 'a', 'b')")
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXlast_aX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select(Pop.last, 'a')")
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXlast_a_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select(Pop.last, 'a', 'b')")
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_selectXall_aX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select(Pop.all, 'a')")
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXall_a_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.select(Pop.all, 'a', 'b')")
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXall_aX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select(Pop.all, 'a')")
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXall_a_bX() {
+            new ScriptTraversal<>(g, "gremlin-groovy", "g.V.valueMap().select(Pop.all, 'a', 'b')")
         }
 
         // when labels don't exist

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fa631e98/gremlin-test/features/map/Select.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/Select.feature b/gremlin-test/features/map/Select.feature
index 1e45a0e..db79c15 100644
--- a/gremlin-test/features/map/Select.feature
+++ b/gremlin-test/features/map/Select.feature
@@ -535,3 +535,138 @@ Feature: Step - select()
     Then the result should be unordered
       | result |
       | d[0].l |
+
+  Scenario: g_V_selectXa_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select("a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXaX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select("a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXa_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select("a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_selectXfirst_aX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select(Pop.first, "a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_selectXfirst_a_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select(Pop.first, "a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXfirst_aX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select(Pop.first, "a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXfirst_a_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select(Pop.first, "a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_selectXlast_aX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select(Pop.last, "a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_selectXlast_a_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select(Pop.last, "a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXlast_aX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select(Pop.last, "a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXlast_a_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select(Pop.last, "a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_selectXall_aX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select(Pop.all, "a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_selectXall_a_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().select(Pop.all, "a","b")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXall_aX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select(Pop.all, "a")
+      """
+    When iterated to list
+    Then the result should be empty
+
+  Scenario: g_V_valueMap_selectXall_a_bX
+    Given the modern graph
+    And the traversal of
+      """
+      g.V().valueMap().select(Pop.all, "a","b")
+      """
+    When iterated to list
+    Then the result should be empty
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fa631e98/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
index 3d778e4..73f8687 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/SelectTest.java
@@ -24,7 +24,6 @@ import org.apache.tinkerpop.gremlin.process.GremlinProcessRunner;
 import org.apache.tinkerpop.gremlin.process.traversal.Order;
 import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
@@ -111,13 +110,37 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
 
     // TINKERPOP-619: select should not throw
 
-    public abstract Traversal<Vertex, Object> get_g_V_selectXaX(final Pop pop);
+    public abstract Traversal<Vertex, Object> get_g_V_selectXaX();
 
-    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_selectXa_bX(final Pop pop);
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_selectXa_bX();
 
-    public abstract Traversal<Vertex, Object> get_g_V_valueMap_selectXpop_aX(final Pop pop);
+    public abstract Traversal<Vertex, Object> get_g_V_valueMap_selectXaX();
 
-    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXpop_a_bX(final Pop pop);
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXa_bX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_selectXfirst_aX();
+
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_selectXfirst_a_bX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_valueMap_selectXfirst_aX();
+
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXfirst_a_bX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_selectXlast_aX();
+
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_selectXlast_a_bX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_valueMap_selectXlast_aX();
+
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXlast_a_bX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_selectXall_aX();
+
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_selectXall_a_bX();
+
+    public abstract Traversal<Vertex, Object> get_g_V_valueMap_selectXall_aX();
+
+    public abstract Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXall_a_bX();
 
     public abstract Traversal<Vertex, Vertex> get_g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX(final Object v1Id);
 
@@ -512,41 +535,129 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_selectXaX() {
-        POPS.forEach(pop -> {
-            final Traversal<Vertex, Object> traversal = get_g_V_selectXaX(pop);
-            printTraversalForm(traversal);
-            assertEquals(Collections.emptyList(), traversal.toList());
-        });
+        final Traversal<Vertex, Object> traversal = get_g_V_selectXaX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
     }
 
     @Test
     @LoadGraphWith(MODERN)
     public void g_V_selectXa_bX() {
-        POPS.forEach(pop -> {
-            final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_selectXa_bX(pop);
-            printTraversalForm(traversal);
-            assertEquals(Collections.emptyList(), traversal.toList());
-        });
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_selectXa_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valueMap_selectXaX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_valueMap_selectXaX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valueMap_selectXa_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMap_selectXa_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_selectXfirst_aX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_selectXfirst_aX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_selectXfirst_a_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_selectXfirst_a_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valueMap_selectXfirst_aX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_valueMap_selectXfirst_aX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valueMap_selectXfirst_a_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMap_selectXfirst_a_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_selectXlast_aX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_selectXlast_aX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_selectXlast_a_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_selectXlast_a_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valueMap_selectXlast_aX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_valueMap_selectXlast_aX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_valueMap_selectXlast_a_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMap_selectXlast_a_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_selectXall_aX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_selectXall_aX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
+    }
+
+    @Test
+    @LoadGraphWith(MODERN)
+    public void g_V_selectXall_a_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_selectXall_a_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
     }
 
     @Test
     @LoadGraphWith(MODERN)
-    public void g_V_valueMap_selectXpop_aX() {
-        POPS.forEach(pop -> {
-            final Traversal<Vertex, Object> traversal = get_g_V_valueMap_selectXpop_aX(pop);
-            printTraversalForm(traversal);
-            assertEquals(Collections.emptyList(), traversal.toList());
-        });
+    public void g_V_valueMap_selectXall_aX() {
+        final Traversal<Vertex, Object> traversal = get_g_V_valueMap_selectXall_aX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
     }
 
     @Test
     @LoadGraphWith(MODERN)
-    public void g_V_valueMap_selectXpop_a_bX() {
-        POPS.forEach(pop -> {
-            final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMap_selectXpop_a_bX(pop);
-            printTraversalForm(traversal);
-            assertEquals(Collections.emptyList(), traversal.toList());
-        });
+    public void g_V_valueMap_selectXall_a_bX() {
+        final Traversal<Vertex, Map<String, Object>> traversal = get_g_V_valueMap_selectXall_a_bX();
+        printTraversalForm(traversal);
+        assertEquals(Collections.emptyList(), traversal.toList());
     }
 
     // when labels don't exist
@@ -803,27 +914,83 @@ public abstract class SelectTest extends AbstractGremlinProcessTest {
         // TINKERPOP-619: select should not throw
 
         @Override
-        public Traversal<Vertex, Object> get_g_V_selectXaX(final Pop pop) {
-            final GraphTraversal<Vertex, Vertex> root = g.V();
-            return null == pop ? root.select("a") : root.select(pop, "a");
+        public Traversal<Vertex, Object> get_g_V_selectXaX() {
+            return g.V().select("a");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXa_bX() {
+            return g.V().select("a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXaX() {
+            return g.V().valueMap().select("a");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXa_bX() {
+            return g.V().valueMap().select("a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_selectXfirst_aX() {
+            return g.V().select(Pop.first, "a");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXfirst_a_bX() {
+            return g.V().select(Pop.first, "a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXfirst_aX() {
+            return g.V().valueMap().select(Pop.first, "a");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXfirst_a_bX() {
+            return g.V().valueMap().select(Pop.first, "a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_selectXlast_aX() {
+            return g.V().select(Pop.last, "a");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXlast_a_bX() {
+            return g.V().select(Pop.last, "a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXlast_aX() {
+            return g.V().valueMap().select(Pop.last, "a");
+        }
+
+        @Override
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXlast_a_bX() {
+            return g.V().valueMap().select(Pop.last, "a", "b");
+        }
+
+        @Override
+        public Traversal<Vertex, Object> get_g_V_selectXall_aX() {
+            return g.V().select(Pop.all, "a");
         }
 
         @Override
-        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXa_bX(final Pop pop) {
-            final GraphTraversal<Vertex, Vertex> root = g.V();
-            return null == pop ? root.select("a", "b") : root.select(pop, "a", "b");
+        public Traversal<Vertex, Map<String, Object>> get_g_V_selectXall_a_bX() {
+            return g.V().select(Pop.all, "a", "b");
         }
 
         @Override
-        public Traversal<Vertex, Object> get_g_V_valueMap_selectXpop_aX(final Pop pop) {
-            final GraphTraversal<Vertex, Map<String, Object>> root = g.V().valueMap();
-            return null == pop ? root.select("a") : root.select(pop, "a");
+        public Traversal<Vertex, Object> get_g_V_valueMap_selectXall_aX() {
+            return g.V().valueMap().select(Pop.all, "a");
         }
 
         @Override
-        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXpop_a_bX(final Pop pop) {
-            final GraphTraversal<Vertex, Map<String, Object>> root = g.V().valueMap();
-            return null == pop ? root.select("a", "b") : root.select(pop, "a", "b");
+        public Traversal<Vertex, Map<String, Object>> get_g_V_valueMap_selectXall_a_bX() {
+            return g.V().valueMap().select(Pop.all, "a", "b");
         }
 
         // when labels don't exist

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/fa631e98/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
index 670cae9..5c2d8ed 100644
--- a/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
+++ b/gremlin-test/src/test/java/org/apache/tinkerpop/gremlin/process/FeatureCoverageTest.java
@@ -105,11 +105,6 @@ public class FeatureCoverageTest {
             // GLV suite doesn't support property identifiers and related assertions
             "g_V_hasXageX_properties_hasXid_nameIdX_value",
             "g_V_hasXageX_properties_hasXid_nameIdAsStringX_value",
-            // Pop tests not organized right for GLVs
-            "g_V_valueMap_selectXpop_aX",
-            "g_V_selectXa_bX",
-            "g_V_valueMap_selectXpop_a_bX",
-            "g_V_selectXaX",
             // assertion doesn't seem to want to work right for embedded lists
             "g_V_asXa_bX_out_asXcX_path_selectXkeysX",
             // ugh - BigInteger?