You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2018/06/01 17:42:15 UTC
[09/28] tinkerpop git commit: TINKERPOP-1968 Configured all the
match() tests for GLV
TINKERPOP-1968 Configured all the match() tests for GLV
These were ignored because grateful dead wasn't an available graph, buuuuut it's been available for a while now so i'm not sure why those weren't setup.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/bd199349
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/bd199349
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/bd199349
Branch: refs/heads/shortest-path-wip
Commit: bd1993494c870f0f33b7b4120e6b4e2b461c86f4
Parents: 5c50772
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri May 18 16:17:11 2018 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu May 31 16:18:09 2018 -0400
----------------------------------------------------------------------
.../ModernGraphTypeInformation.cs | 3 +-
gremlin-test/features/map/Match.feature | 134 ++++++++++++++
gremlin-test/features/map/Order.feature | 173 +++++++++++++++++++
gremlin-test/features/map/Properties.feature | 14 ++
.../gremlin/process/FeatureCoverageTest.java | 16 --
5 files changed, 323 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd199349/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/ModernGraphTypeInformation.cs
----------------------------------------------------------------------
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/ModernGraphTypeInformation.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/ModernGraphTypeInformation.cs
index 327a50a..7489b44 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/ModernGraphTypeInformation.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/ModernGraphTypeInformation.cs
@@ -39,7 +39,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation
{"lang", typeof(string)},
{"weight", typeof(float)},
{"foo", typeof(object)}, // used when for invalid property key lookups
- {"friendWeight", typeof(float)} // used in an AddVertex.feature test
+ {"friendWeight", typeof(float)}, // used in an AddVertex.feature test
+ {"performances", typeof(int)} // grateful dead graph
};
/// <summary>
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd199349/gremlin-test/features/map/Match.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/Match.feature b/gremlin-test/features/map/Match.feature
index 55dffcf..73afd71 100644
--- a/gremlin-test/features/map/Match.feature
+++ b/gremlin-test/features/map/Match.feature
@@ -393,3 +393,137 @@ Feature: Step - match()
| d[0].l |
| d[0].l |
+ Scenario: g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").in("sungBy").as("b"),
+ __.as("a").in("writtenBy").as("c"),
+ __.as("b").out("writtenBy").as("d"),
+ __.as("c").out("sungBy").as("d"),
+ __.as("d").has("name", "Garcia"))
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | m[{"a":"v[Garcia]","b":"v[CREAM PUFF WAR]","c":"v[CREAM PUFF WAR]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CREAM PUFF WAR]","c":"v[CRYPTICAL ENVELOPMENT]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[CREAM PUFF WAR]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[CRYPTICAL ENVELOPMENT]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Grateful_Dead]","b":"v[CANT COME DOWN]","c":"v[DOWN SO LONG]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Grateful_Dead]","b":"v[THE ONLY TIME IS NOW]","c":"v[DOWN SO LONG]","d":"v[Garcia]"}] |
+
+ Scenario: g_V_matchXa_hasXsong_name_sunshineX__a_mapX0followedBy_weight_meanX_b__a_0followedBy_c__c_filterXweight_whereXgteXbXXX_outV_dX_selectXdX_byXnameX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").has("song", "name", "HERE COMES SUNSHINE"),
+ __.as("a").map(__.inE("followedBy").values("weight").mean()).as("b"),
+ __.as("a").inE("followedBy").as("c"),
+ __.as("c").filter(__.values("weight").where(P.gte("b"))).outV().as("d")).
+ select("d").by("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | THE MUSIC NEVER STOPPED |
+ | PROMISED LAND |
+ | PLAYING IN THE BAND |
+ | CASEY JONES |
+ | BIG RIVER |
+ | EL PASO |
+ | LIBERTY |
+ | LOOKS LIKE RAIN |
+
+ Scenario: g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").in("sungBy").as("b"),
+ __.as("a").in("sungBy").as("c"),
+ __.as("b").out("writtenBy").as("d"),
+ __.as("c").out("writtenBy").as("e"),
+ __.as("d").has("name", "George_Harrison"),
+ __.as("e").has("name", "Bob_Marley"))
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | m[{"a":"v[Garcia]","b":"v[I WANT TO TELL YOU]","c":"v[STIR IT UP]","d":"v[George_Harrison]","e":"v[Bob_Marley]"}] |
+
+ Scenario: g_V_matchXa_hasXname_GarciaX__a_0writtenBy_b__a_0sungBy_bX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").has("name", "Garcia"),
+ __.as("a").in("writtenBy").as("b"),
+ __.as("a").in("sungBy").as("b"))
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | m[{"a":"v[Garcia]","b":"v[CREAM PUFF WAR]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]"}] |
+
+ Scenario: g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().hasLabel("song").match(
+ __.as("a").values("name").as("b"),
+ __.as("a").values("performances").as("c")).select("b", "c").count()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | result |
+ | d[584].l |
+
+ Scenario: g_V_matchXa_followedBy_count_isXgtX10XX_b__a_0followedBy_count_isXgtX10XX_bX_count
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").out("followedBy").count().is(P.gt(10)).as("b"),
+ __.as("a").in("followedBy").count().is(P.gt(10)).as("b")).count()
+ """
+ When iterated to list
+ Then the result should be ordered
+ | result |
+ | d[6].l |
+
+ Scenario: g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_dX_whereXc_sungBy_dX_whereXd_hasXname_GarciaXX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").in("sungBy").as("b"),
+ __.as("a").in("writtenBy").as("c"),
+ __.as("b").out("writtenBy").as("d")).
+ where(__.as("c").out("sungBy").as("d")).
+ where(__.as("d").has("name", "Garcia"))
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | m[{"a":"v[Garcia]","b":"v[CREAM PUFF WAR]","c":"v[CREAM PUFF WAR]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CREAM PUFF WAR]","c":"v[CRYPTICAL ENVELOPMENT]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[CREAM PUFF WAR]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[CRYPTICAL ENVELOPMENT]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Grateful_Dead]","b":"v[CANT COME DOWN]","c":"v[DOWN SO LONG]","d":"v[Garcia]"}] |
+ | m[{"a":"v[Grateful_Dead]","b":"v[THE ONLY TIME IS NOW]","c":"v[DOWN SO LONG]","d":"v[Garcia]"}] |
+
+ Scenario: g_V_matchXa_hasXname_GarciaX__a_0writtenBy_b__b_followedBy_c__c_writtenBy_d__whereXd_neqXaXXX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().match(__.as("a").has("name", "Garcia"),
+ __.as("a").in("writtenBy").as("b"),
+ __.as("b").out("followedBy").as("c"),
+ __.as("c").out("writtenBy").as("d"),
+ __.where("d", P.neq("a")))
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[DRUMS]","d":"v[Grateful_Dead]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[THE OTHER ONE]","d":"v[Weir]"}] |
+ | m[{"a":"v[Garcia]","b":"v[CRYPTICAL ENVELOPMENT]","c":"v[WHARF RAT]","d":"v[Hunter]"}] |
+
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd199349/gremlin-test/features/map/Order.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/Order.feature b/gremlin-test/features/map/Order.feature
index 6dd8ac4..d800812 100644
--- a/gremlin-test/features/map/Order.feature
+++ b/gremlin-test/features/map/Order.feature
@@ -323,3 +323,176 @@ Feature: Step - order()
| result |
| m[{"3":"d[87].i","2":"d[58].i","1":"d[29].i","4":"d[29].i"}] |
+ Scenario: g_V_hasXsong_name_OHBOYX_outXfollowedByX_outXfollowedByX_order_byXperformancesX_byXsongType_incrX
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().has("song", "name", "OH BOY").out("followedBy").out("followedBy").order().by("performances").by("songType", Order.decr)
+ """
+ When iterated to list
+ Then the result should be ordered
+ | result |
+ | v[THE BOXER] |
+ | v[BARBRY ALLEN] |
+ | v[OLLIN ARRAGEED] |
+ | v[GOOD TIME BLUES] |
+ | v[TOM THUMB BLUES] |
+ | v[GIMME SOME LOVIN] |
+ | v[SATISFACTION] |
+ | v[MAYBE YOU KNOW HOW I FEEL] |
+ | v[SPACE] |
+ | v[THIS COULD BE THE LAST TIME] |
+ | v[CHANTING BY THE GYOTO MONKS] |
+ | v[SILENT WAY JAM] |
+ | v[STRONGER THAN DIRT] |
+ | v[MOJO] |
+ | v[FUNICULI FUNICULA] |
+ | v[QUINN THE ESKIMO] |
+ | v[LUCY IN THE SKY] |
+ | v[LOVE THE ONE YOURE WITH] |
+ | v[CHINESE BONES] |
+ | v[OH BOY] |
+ | v[BLACK QUEEN] |
+ | v[BLUES FOR ALLAH] |
+ | v[IF I HAD THE WORLD TO GIVE] |
+ | v[HEY JUDE] |
+ | v[WILLIE AND THE HAND JIVE] |
+ | v[ITS ALL TOO MUCH] |
+ | v[WHY DONT WE DO IT IN THE ROAD] |
+ | v[UNBROKEN CHAIN] |
+ | v[DONT NEED LOVE] |
+ | v[NOBODYS FAULT BUT MINE] |
+ | v[HEAVEN HELP THE FOOL] |
+ | v[BLOW AWAY] |
+ | v[JAM] |
+ | v[SUNSHINE DAYDREAM] |
+ | v[I WILL TAKE YOU HOME] |
+ | v[SAMBA IN THE RAIN] |
+ | v[ON THE ROAD AGAIN] |
+ | v[SPANISH JAM] |
+ | v[EASY TO LOVE YOU] |
+ | v[DEATH DONT HAVE NO MERCY] |
+ | v[SPOONFUL] |
+ | v[CAUTION] |
+ | v[THE RACE IS ON] |
+ | v[SMOKESTACK LIGHTNING] |
+ | v[COMES A TIME] |
+ | v[STANDING ON THE MOON] |
+ | v[KNOCKING ON HEAVENS DOOR] |
+ | v[PICASSO MOON] |
+ | v[FOOLISH HEART] |
+ | v[WAY TO GO HOME] |
+ | v[THE ELEVEN] |
+ | v[VICTIM OR THE CRIME] |
+ | v[PASSENGER] |
+ | v[PASSENGER] |
+ | v[MY BROTHER ESAU] |
+ | v[HELP ON THE WAY] |
+ | v[LAZY LIGHTNING] |
+ | v[CHINA DOLL] |
+ | v[ME AND BOBBY MCGEE] |
+ | v[ALL ALONG THE WATCHTOWER] |
+ | v[CRYPTICAL ENVELOPMENT] |
+ | v[ALABAMA GETAWAY] |
+ | v[CRAZY FINGERS] |
+ | v[CRAZY FINGERS] |
+ | v[WHEN I PAINT MY MASTERPIECE] |
+ | v[LOST SAILOR] |
+ | v[LOST SAILOR] |
+ | v[BLACK THROATED WIND] |
+ | v[IT MUST HAVE BEEN THE ROSES] |
+ | v[IT MUST HAVE BEEN THE ROSES] |
+ | v[BOX OF RAIN] |
+ | v[SHAKEDOWN STREET] |
+ | v[SHAKEDOWN STREET] |
+ | v[IKO IKO] |
+ | v[IKO IKO] |
+ | v[FEEL LIKE A STRANGER] |
+ | v[TOUCH OF GREY] |
+ | v[TOUCH OF GREY] |
+ | v[BROKEDOWN PALACE] |
+ | v[HELL IN A BUCKET] |
+ | v[DARK STAR] |
+ | v[DARK STAR] |
+ | v[FRANKLINS TOWER] |
+ | v[SAINT OF CIRCUMSTANCE] |
+ | v[SAINT OF CIRCUMSTANCE] |
+ | v[THE MUSIC NEVER STOPPED] |
+ | v[COLD RAIN AND SNOW] |
+ | v[FIRE ON THE MOUNTAIN] |
+ | v[MORNING DEW] |
+ | v[THE WHEEL] |
+ | v[THROWING STONES] |
+ | v[I NEED A MIRACLE] |
+ | v[I NEED A MIRACLE] |
+ | v[ALTHEA] |
+ | v[LITTLE RED ROOSTER] |
+ | v[LET IT GROW] |
+ | v[LET IT GROW] |
+ | v[GOING DOWN THE ROAD FEELING BAD] |
+ | v[BIRDSONG] |
+ | v[TERRAPIN STATION] |
+ | v[TERRAPIN STATION] |
+ | v[MAMA TRIED] |
+ | v[FRIEND OF THE DEVIL] |
+ | v[FRIEND OF THE DEVIL] |
+ | v[SCARLET BEGONIAS] |
+ | v[SCARLET BEGONIAS] |
+ | v[BEAT IT ON DOWN THE LINE] |
+ | v[HES GONE] |
+ | v[STELLA BLUE] |
+ | v[UNCLE JOHNS BAND] |
+ | v[UNCLE JOHNS BAND] |
+ | v[CASSIDY] |
+ | v[ONE MORE SATURDAY NIGHT] |
+ | v[BLACK PETER] |
+ | v[BROWN EYED WOMEN] |
+ | v[SUGAREE] |
+ | v[SAMSON AND DELILAH] |
+ | v[SAMSON AND DELILAH] |
+ | v[EYES OF THE WORLD] |
+ | v[EYES OF THE WORLD] |
+ | v[EL PASO] |
+ | v[ESTIMATED PROPHET] |
+ | v[WHARF RAT] |
+ | v[BERTHA] |
+ | v[BIG RIVER] |
+ | v[LOOKS LIKE RAIN] |
+ | v[AROUND AND AROUND] |
+ | v[PROMISED LAND] |
+ | v[GOOD LOVING] |
+ | v[MEXICALI BLUES] |
+ | v[NEW MINGLEWOOD BLUES] |
+ | v[JACK STRAW] |
+ | v[JACK STRAW] |
+ | v[TRUCKING] |
+ | v[TRUCKING] |
+ | v[NOT FADE AWAY] |
+ | v[CHINA CAT SUNFLOWER] |
+ | v[CHINA CAT SUNFLOWER] |
+ | v[PLAYING IN THE BAND] |
+ | v[PLAYING IN THE BAND] |
+ | v[THE OTHER ONE] |
+ | v[SUGAR MAGNOLIA] |
+ | v[SUGAR MAGNOLIA] |
+ | v[ME AND MY UNCLE] |
+
+ Scenario: g_V_hasLabelXsongX_order_byXperfomances_decrX_byXnameX_rangeX110_120X_name
+ Given the grateful graph
+ And the traversal of
+ """
+ g.V().hasLabel("song").order().by("performances", Order.decr).by("name").range(110, 120).values("name")
+ """
+ When iterated to list
+ Then the result should be ordered
+ | result |
+ | WANG DANG DOODLE |
+ | THE ELEVEN |
+ | WAY TO GO HOME |
+ | FOOLISH HEART |
+ | GIMME SOME LOVING |
+ | DUPREES DIAMOND BLUES |
+ | CORRINA |
+ | PICASSO MOON |
+ | KNOCKING ON HEAVENS DOOR |
+ | MEMPHIS BLUES |
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd199349/gremlin-test/features/map/Properties.feature
----------------------------------------------------------------------
diff --git a/gremlin-test/features/map/Properties.feature b/gremlin-test/features/map/Properties.feature
index 3c926fa..5e61615 100644
--- a/gremlin-test/features/map/Properties.feature
+++ b/gremlin-test/features/map/Properties.feature
@@ -17,6 +17,20 @@
Feature: Step - properties()
+ Scenario: g_V_hasXageX_propertiesXnameX
+ Given the modern graph
+ And the traversal of
+ """
+ g.V().has("age").properties("name").value()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | marko |
+ | vadas |
+ | josh |
+ | peter |
+
Scenario: g_V_hasXageX_propertiesXname_ageX_value
Given the modern graph
And the traversal of
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bd199349/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 00391bf..670cae9 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
@@ -68,9 +68,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupTest;
import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.InjectTest;
import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SackTest;
import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectCapTest;
-import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectTest;
import org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.StoreTest;
-import org.junit.Ignore;
import org.junit.Test;
import java.io.BufferedReader;
@@ -107,19 +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",
- "g_V_hasXageX_propertiesXnameX",
- // grateful dead graph not supported in GLV suite
- "g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX",
- "g_V_matchXa_hasXsong_name_sunshineX__a_mapX0followedBy_weight_meanX_b__a_0followedBy_c__c_filterXweight_whereXgteXbXXX_outV_dX_selectXdX_byXnameX",
- "g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX",
- "g_V_matchXa_hasXname_GarciaX__a_0writtenBy_b__a_0sungBy_bX",
- "g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count",
- "g_V_matchXa_hasXname_GarciaX__a_0writtenBy_b__b_followedBy_c__c_writtenBy_d__whereXd_neqXaXXX",
- "g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_dX_whereXc_sungBy_dX_whereXd_hasXname_GarciaXX",
- "get_g_V_matchXa_followedBy_count_isXgtX10XX_b__a_0followedBy_count_isXgtX10XX_bX_count",
- "g_V_matchXa_followedBy_count_isXgtX10XX_b__a_0followedBy_count_isXgtX10XX_bX_count",
- "g_V_hasXsong_name_OHBOYX_outXfollowedByX_outXfollowedByX_order_byXperformancesX_byXsongType_incrX",
- "g_V_hasLabelXsongX_order_byXperfomances_decrX_byXnameX_rangeX110_120X_name",
// Pop tests not organized right for GLVs
"g_V_valueMap_selectXpop_aX",
"g_V_selectXa_bX",
@@ -135,7 +120,6 @@ public class FeatureCoverageTest {
"g_withSackX2X_V_sackXdivX_byXconstantX3_0XX_sack");
@Test
- // @Ignore("As it stands we won't have all of these tests migrated initially so there is no point to running this in full - it can be flipped on later")
public void shouldImplementAllProcessTestsAsFeatures() throws Exception {
// TEMPORARY while test framework is under development - all tests should ultimately be included