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 2023/01/11 17:01:14 UTC

[tinkerpop] branch master updated: TINKERPOP-2622 Enabled tests that had ordering issues

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/master by this push:
     new 4d347ce69e TINKERPOP-2622 Enabled tests that had ordering issues
     new 2d67cf6068 Merge branch '3.6-dev'
4d347ce69e is described below

commit 4d347ce69e1d14bc7c539e6ba55c7a4a32c3c6f7
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Wed Jan 11 11:59:00 2023 -0500

    TINKERPOP-2622 Enabled tests that had ordering issues
    
    Didn't need to really build out new test framework functionality to get the test turned back on. Just needed to modify the tests slightly to make better use of existing assertion mechanisms or make minor modifications to the tests themselves. CTR
---
 .../test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs |  4 ++--
 gremlin-go/driver/cucumber/gremlin.go                   |  4 ++--
 .../gremlin-javascript/test/cucumber/gremlin.js         |  4 ++--
 gremlin-python/src/main/python/radish/gremlin.py        |  4 ++--
 .../tinkerpop/gremlin/test/features/map/Index.feature   |  3 ++-
 .../tinkerpop/gremlin/test/features/map/Order.feature   |  9 +++++----
 .../gremlin/test/features/sideEffect/Group.feature      | 16 +++++++++++++---
 .../gremlin/spark/SparkGraphFeatureIntegrateTest.java   | 16 ----------------
 .../tinkerpop/gremlin/tinkergraph/TinkerGraphWorld.java | 17 -----------------
 9 files changed, 28 insertions(+), 49 deletions(-)

diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index f5ec6f889f..23a3414e82 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -711,10 +711,10 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_properties_order_byXkey_descX_key", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Properties<object>().Order().By(T.Key,Order.Desc).Key()}}, 
                {"g_V_hasLabelXpersonX_order_byXvalueXageX_descX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Order().By((IFunction) p["l1"],Order.Desc).Values<object>("name")}}, 
                {"g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_orderXlocalX_byXvaluesX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Group<object,object>().By("name").By(__.OutE().Values<object>("weight").Sum<object>()).Order(Scope.Local).By(Column.Values)}}, 
-               {"g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Map<object>(__.BothE().Values<object>("weight").Order().By(Order.Asc).Fold()).Order().By(__.Sum<object>(Scope.Local),Order.Desc)}}, 
+               {"g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX_byXcountXlocalX_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Map<object>(__.BothE().Values<object>("weight").Order().By(Order.Asc).Fold()).Order().By(__.Sum<object>(Scope.Local),Order.Desc).By(__.Count(Scope.Local),Order.Desc)}}, 
                {"g_V_group_byXlabelX_byXname_order_byXdescX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(T.Label).By(__.Values<object>("name").Order().By(Order.Desc).Fold())}}, 
                {"g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_unfold_order_byXvalues_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Group<object,object>().By("name").By(__.OutE().Values<object>("weight").Sum<object>()).Unfold<object>().Order().By(Column.Values,Order.Desc)}}, 
-               {"g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Map<object>(__.BothE().Values<object>("weight").Fold()).Sum<object>(Scope.Local).As("s").Select<object>("v","s").Order().By(__.Select<object>("s"),Order.Desc)}}, 
+               {"g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX_byXselectXvX_nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Map<object>(__.BothE().Values<object>("weight").Fold()).Sum<object>(Scope.Local).As("s").Select<object>("v","s").Order().By(__.Select<object>("s"),Order.Desc).By(__.Select<object>("v").Values<object>("name"))}}, 
                {"g_V_hasLabelXpersonX_fold_orderXlocalX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Fold().Order(Scope.Local).By("age")}}, 
                {"g_V_both_hasLabelXpersonX_order_byXage_descX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().HasLabel("person").Order().By("age",Order.Desc).Values<object>("name")}}, 
                {"g_V_order_byXoutE_count_descX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Order().By(__.OutE().Count(),Order.Desc).By("name")}}, 
diff --git a/gremlin-go/driver/cucumber/gremlin.go b/gremlin-go/driver/cucumber/gremlin.go
index 61be61c851..420abb1246 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -682,10 +682,10 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_properties_order_byXkey_descX_key": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Properties().Order().By(gremlingo.T.Key, gremlingo.Order.Desc).Key()}}, 
     "g_V_hasLabelXpersonX_order_byXvalueXageX_descX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Order().By(p["l1"], gremlingo.Order.Desc).Values("name")}}, 
     "g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_orderXlocalX_byXvaluesX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Group().By("name").By(gremlingo.T__.OutE().Values("weight").Sum()).Order(gremlingo.Scope.Local).By(gremlingo.Column.Values)}}, 
-    "g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Map(gremlingo.T__.BothE().Values("weight").Order().By(gremlingo.Order.Asc).Fold()).Order().By(gremlingo.T__.Sum(gremlingo.Scope.Local), gremlingo.Order.Desc)}}, 
+    "g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX_byXcountXlocalX_descX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Map(gremlingo.T__.BothE().Values("weight").Order().By(gremlingo.Order.Asc).Fold()).Order().By(gremlingo.T__.Sum(gremlingo.Scope.Local), gremlingo.Order.Desc).By(gremlingo.T__.Count(gremlingo.Scope.Local), gremlingo.Order.Desc)}}, 
     "g_V_group_byXlabelX_byXname_order_byXdescX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Group().By(gremlingo.T.Label).By(gremlingo.T__.Values("name").Order().By(gremlingo.Order.Desc).Fold())}}, 
     "g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_unfold_order_byXvalues_descX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Group().By("name").By(gremlingo.T__.OutE().Values("weight").Sum()).Unfold().Order().By(gremlingo.Column.Values, gremlingo.Order.Desc)}}, 
-    "g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Map(gremlingo.T__.BothE().Values("weight").Fold()).Sum(gremlingo.Scope.Local).As("s").Select("v", "s").Order().By(gremlingo.T__.Select("s"), gremlingo.Order.Desc)}}, 
+    "g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX_byXselectXvX_nameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Map(gremlingo.T__.BothE().Values("weight").Fold()).Sum(gremlingo.Scope.Local).As("s").Select("v", "s").Order().By(gremlingo.T__.Select("s"), gremlingo.Order.Desc).By(gremlingo.T__.Select("v").Values("name"))}}, 
     "g_V_hasLabelXpersonX_fold_orderXlocalX_byXageX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Fold().Order(gremlingo.Scope.Local).By("age")}}, 
     "g_V_both_hasLabelXpersonX_order_byXage_descX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Both().HasLabel("person").Order().By("age", gremlingo.Order.Desc).Values("name")}}, 
     "g_V_order_byXoutE_count_descX_byXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Order().By(gremlingo.T__.OutE().Count(), gremlingo.Order.Desc).By("name")}}, 
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index eed028e2f0..6c90c71287 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@ -701,10 +701,10 @@ const gremlins = {
     g_V_properties_order_byXkey_descX_key: [function({g}) { return g.V().properties().order().by(T.key,Order.desc).key() }], 
     g_V_hasLabelXpersonX_order_byXvalueXageX_descX_name: [function({g, l1}) { return g.V().hasLabel("person").order().by(l1,Order.desc).values("name") }], 
     g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_orderXlocalX_byXvaluesX: [function({g}) { return g.V().hasLabel("person").group().by("name").by(__.outE().values("weight").sum()).order(Scope.local).by(Column.values) }], 
-    g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX: [function({g}) { return g.V().map(__.bothE().values("weight").order().by(Order.asc).fold()).order().by(__.sum(Scope.local),Order.desc) }], 
+    g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX_byXcountXlocalX_descX: [function({g}) { return g.V().map(__.bothE().values("weight").order().by(Order.asc).fold()).order().by(__.sum(Scope.local),Order.desc).by(__.count(Scope.local),Order.desc) }], 
     g_V_group_byXlabelX_byXname_order_byXdescX_foldX: [function({g}) { return g.V().group().by(T.label).by(__.values("name").order().by(Order.desc).fold()) }], 
     g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_unfold_order_byXvalues_descX: [function({g}) { return g.V().hasLabel("person").group().by("name").by(__.outE().values("weight").sum()).unfold().order().by(Column.values,Order.desc) }], 
-    g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX: [function({g}) { return g.V().as("v").map(__.bothE().values("weight").fold()).sum(Scope.local).as("s").select("v","s").order().by(__.select("s"),Order.desc) }], 
+    g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX_byXselectXvX_nameX: [function({g}) { return g.V().as("v").map(__.bothE().values("weight").fold()).sum(Scope.local).as("s").select("v","s").order().by(__.select("s"),Order.desc).by(__.select("v").values("name")) }], 
     g_V_hasLabelXpersonX_fold_orderXlocalX_byXageX: [function({g}) { return g.V().hasLabel("person").fold().order(Scope.local).by("age") }], 
     g_V_both_hasLabelXpersonX_order_byXage_descX_name: [function({g}) { return g.V().both().hasLabel("person").order().by("age",Order.desc).values("name") }], 
     g_V_order_byXoutE_count_descX_byXnameX: [function({g}) { return g.V().order().by(__.outE().count(),Order.desc).by("name") }], 
diff --git a/gremlin-python/src/main/python/radish/gremlin.py b/gremlin-python/src/main/python/radish/gremlin.py
index 3c882343a1..3869ff14bc 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -683,10 +683,10 @@ world.gremlins = {
     'g_V_properties_order_byXkey_descX_key': [(lambda g:g.V().properties().order().by(T.key,Order.desc).key())], 
     'g_V_hasLabelXpersonX_order_byXvalueXageX_descX_name': [(lambda g, l1=None:g.V().hasLabel('person').order().by(l1,Order.desc).name)], 
     'g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_orderXlocalX_byXvaluesX': [(lambda g:g.V().hasLabel('person').group().by('name').by(__.outE().weight.sum_()).order(Scope.local).by(Column.values))], 
-    'g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX': [(lambda g:g.V().map(__.bothE().weight.order().by(Order.asc).fold()).order().by(__.sum_(Scope.local),Order.desc))], 
+    'g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX_byXcountXlocalX_descX': [(lambda g:g.V().map(__.bothE().weight.order().by(Order.asc).fold()).order().by(__.sum_(Scope.local),Order.desc).by(__.count(Scope.local),Order.desc))], 
     'g_V_group_byXlabelX_byXname_order_byXdescX_foldX': [(lambda g:g.V().group().by(T.label).by(__.name.order().by(Order.desc).fold()))], 
     'g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_unfold_order_byXvalues_descX': [(lambda g:g.V().hasLabel('person').group().by('name').by(__.outE().weight.sum_()).unfold().order().by(Column.values,Order.desc))], 
-    'g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX': [(lambda g:g.V().as_('v').map(__.bothE().weight.fold()).sum_(Scope.local).as_('s').select('v','s').order().by(__.select('s'),Order.desc))], 
+    'g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX_byXselectXvX_nameX': [(lambda g:g.V().as_('v').map(__.bothE().weight.fold()).sum_(Scope.local).as_('s').select('v','s').order().by(__.select('s'),Order.desc).by(__.select('v').name))], 
     'g_V_hasLabelXpersonX_fold_orderXlocalX_byXageX': [(lambda g:g.V().hasLabel('person').fold().order(Scope.local).by('age'))], 
     'g_V_both_hasLabelXpersonX_order_byXage_descX_name': [(lambda g:g.V().both().hasLabel('person').order().by('age',Order.desc).name)], 
     'g_V_order_byXoutE_count_descX_byXnameX': [(lambda g:g.V().order().by(__.outE().count(),Order.desc).by('name'))], 
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Index.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Index.feature
index 38867093a7..5c76659102 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Index.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Index.feature
@@ -37,10 +37,11 @@ Feature: Step - index()
       g.V().hasLabel("software").order().by("name").index().with(WithOptions.indexer, WithOptions.map)
       """
     When iterated to list
-    Then the result should be ordered
+    Then the result should be of
       | result |
       | m[{"d[0].i": "v[lop]"}] |
       | m[{"d[0].i": "v[ripple]"}] |
+    And the result should have a count of 2
 
   Scenario: g_V_hasLabelXsoftwareX_name_fold_orderXlocalX_index_unfold_order_byXtailXlocal_1XX
     Given the modern graph
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Order.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Order.feature
index 02d1dbfe45..cdbeed2fc1 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Order.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Order.feature
@@ -195,11 +195,11 @@ Feature: Step - order()
       | result |
       | m[{"peter":"d[0.2].d","josh":"d[1.4].d","marko":"d[1.9].d"}] |
 
-  Scenario: g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX
+  Scenario: g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX_byXcountXlocalX_descX
     Given the modern graph
     And the traversal of
       """
-      g.V().map(__.bothE().values("weight").order().by(Order.asc).fold()).order().by(__.sum(Scope.local), Order.desc)
+      g.V().map(__.bothE().values("weight").order().by(Order.asc).fold()).order().by(__.sum(Scope.local), Order.desc).by(__.count(Scope.local), Order.desc)
       """
     When iterated to list
     Then the result should be ordered
@@ -235,11 +235,12 @@ Feature: Step - order()
       | m[{"josh":"d[1.4].d"}]  |
       | m[{"peter":"d[0.2].d"}]  |
 
-  Scenario: g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX
+  @GraphComputerVerificationStarGraphExceeded
+  Scenario: g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX_byXselectXvX_nameX
     Given the modern graph
     And the traversal of
       """
-      g.V().as("v").map(__.bothE().values("weight").fold()).sum(Scope.local).as("s").select("v", "s").order().by(__.select("s"), Order.desc)
+      g.V().as("v").map(__.bothE().values("weight").fold()).sum(Scope.local).as("s").select("v", "s").order().by(__.select("s"), Order.desc).by(__.select("v").values("name"))
       """
     When iterated to list
     Then the result should be ordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Group.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Group.feature
index 429f9ad274..4d08e61a11 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Group.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Group.feature
@@ -48,9 +48,11 @@ Feature: Step - group()
       g.withStrategies(ProductiveByStrategy).V().group().by("age")
       """
     When iterated to list
-    Then the result should be unordered
+    Then the result should be of
       | result |
       | m[{"null":"l[v[lop],v[ripple]]", "d[35].i":"l[v[peter]]", "d[27].i":"l[v[vadas]]", "d[32].i": "l[v[josh]]", "d[29].i":"l[v[marko]]"}] |
+      | m[{"null":"l[v[ripple],v[lop]]", "d[35].i":"l[v[peter]]", "d[27].i":"l[v[vadas]]", "d[32].i": "l[v[josh]]", "d[29].i":"l[v[marko]]"}] |
+    And the result should have a count of 1
 
   Scenario: g_V_group_byXnameX_byXageX
     Given the modern graph
@@ -92,9 +94,11 @@ Feature: Step - group()
       g.V().has("lang").group("a").by("lang").by("name").out().cap("a")
       """
     When iterated to list
-    Then the result should be unordered
+    Then the result should be of
       | result |
       | m[{"java":["lop","ripple"]}] |
+      | m[{"java":["ripple","lop"]}] |
+    And the result should have a count of 1
 
   Scenario: g_V_hasXlangX_group_byXlangX_byXcountX
     Given the modern graph
@@ -125,9 +129,15 @@ Feature: Step - group()
       g.V().order().by("name").group().by(__.outE().count()).by("name")
       """
     When iterated to list
-    Then the result should be unordered
+    Then the result should be of
       | result |
       | m[{"d[0].l":["lop","ripple","vadas"],"d[1].l":["peter"],"d[2].l":["josh"],"d[3].l":["marko"]}] |
+      | m[{"d[0].l":["lop","vadas","ripple"],"d[1].l":["peter"],"d[2].l":["josh"],"d[3].l":["marko"]}] |
+      | m[{"d[0].l":["vadas","lop","ripple"],"d[1].l":["peter"],"d[2].l":["josh"],"d[3].l":["marko"]}] |
+      | m[{"d[0].l":["vadas","ripple","lop"],"d[1].l":["peter"],"d[2].l":["josh"],"d[3].l":["marko"]}] |
+      | m[{"d[0].l":["ripple","vadas","lop"],"d[1].l":["peter"],"d[2].l":["josh"],"d[3].l":["marko"]}] |
+      | m[{"d[0].l":["ripple","lop","vadas"],"d[1].l":["peter"],"d[2].l":["josh"],"d[3].l":["marko"]}] |
+    And the result should have a count of 1
 
   Scenario: g_V_groupXaX_byXlabelX_byXoutE_weight_sumX_capXaX
     Given the modern graph
diff --git a/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/SparkGraphFeatureIntegrateTest.java b/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/SparkGraphFeatureIntegrateTest.java
index e437c7340b..a2b1a3de78 100644
--- a/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/SparkGraphFeatureIntegrateTest.java
+++ b/spark-gremlin/src/test/java/org/apache/tinkerpop/gremlin/spark/SparkGraphFeatureIntegrateTest.java
@@ -48,12 +48,10 @@ import org.junit.AssumptionViolatedException;
 import org.junit.runner.RunWith;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
-import java.util.stream.Collectors;
 
 import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData;
 
@@ -74,11 +72,6 @@ public class SparkGraphFeatureIntegrateTest {
 
     private static final String skipReasonLength = "Spark-Gremlin is OLAP-oriented and for OLTP operations, linear-scan joins are required. This particular tests takes many minutes to execute.";
 
-    /**
-     * May need to improve the definition of result equality with map&lt;list&gt; - TINKERPOP-2622
-     */
-    private static final String skipReasonOrdering = "There are some internal ordering issues with result where equality is not required but is being enforced";
-
     private static final List<Pair<String, String>> skip = new ArrayList<Pair<String,String>>() {{
         add(Pair.with("g_V_both_both_count", skipReasonLength));
         add(Pair.with("g_V_repeatXoutX_timesX3X_count", skipReasonLength));
@@ -93,15 +86,6 @@ public class SparkGraphFeatureIntegrateTest {
         add(Pair.with("g_V_repeatXbothXfollowedByXX_timesX2X_group_byXsongTypeX_byXcountX", skipReasonLength));
         add(Pair.with("g_V_repeatXbothXfollowedByXX_timesX2X_groupXaX_byXsongTypeX_byXcountX_capXaX", skipReasonLength));
         add(Pair.with("g_V_matchXa_followedBy_count_isXgtX10XX_b__a_0followedBy_count_isXgtX10XX_bX_count", skipReasonLength));
-        add(Pair.with("g_V_order_byXname_descX_barrier_dedup_age_name", skipReasonOrdering));
-        add(Pair.with("g_V_group_byXoutE_countX_byXnameX", skipReasonOrdering));
-        add(Pair.with("g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX", skipReasonOrdering));
-        add(Pair.with("g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX", skipReasonOrdering));
-        add(Pair.with("g_withStrategiesXProductiveByStrategyX_V_group_byXageX", skipReasonOrdering));
-        add(Pair.with("g_V_order_byXoutE_count_descX_byXnameX", skipReasonOrdering));
-        add(Pair.with("g_V_both_both_dedup_byXoutE_countX_name", skipReasonOrdering));
-        add(Pair.with("g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX", skipReasonOrdering));
-        add(Pair.with("g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX", skipReasonOrdering));
     }};
 
     public static final class ServiceModule extends AbstractModule {
diff --git a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphWorld.java b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphWorld.java
index ab71c20c2c..5810b990e2 100644
--- a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphWorld.java
+++ b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/TinkerGraphWorld.java
@@ -124,28 +124,11 @@ public class TinkerGraphWorld implements World {
                 "@GraphComputerVerificationReferenceOnly",
                 "@TinkerServiceRegistry");
 
-        private static final List<String> SCENARIOS_TO_IGNORE = Arrays.asList(
-                "g_V_group_byXoutE_countX_byXnameX",
-                "g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX",
-                "g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX",
-                "g_withStrategiesXProductiveByStrategyX_V_group_byXageX",
-                "g_V_order_byXoutE_count_descX_byXnameX",
-                "g_V_both_both_dedup_byXoutE_countX_name",
-                "g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX",
-                "g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX",
-                "g_V_order_byXname_descX_barrier_dedup_age_name");
-
         @Override
         public void beforeEachScenario(final Scenario scenario) {
             final List<String> ignores = TAGS_TO_IGNORE.stream().filter(t -> scenario.getSourceTagNames().contains(t)).collect(Collectors.toList());
             if (!ignores.isEmpty())
                 throw new AssumptionViolatedException(String.format("This scenario is not supported with GraphComputer: %s", ignores));
-
-            // the following needs some further investigation.........may need to improve the definition of result
-            // equality with map<list>
-            final String scenarioName = scenario.getName();
-            if (SCENARIOS_TO_IGNORE.contains(scenarioName))
-                throw new AssumptionViolatedException("There are some internal ordering issues with result where equality is not required but is being enforced");
         }
 
         @Override