From commits-return-29558-archive-asf-public=cust-asf.ponee.io@tinkerpop.apache.org Fri Jun 1 13:47:39 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id E303418067C for ; Fri, 1 Jun 2018 13:47:36 +0200 (CEST) Received: (qmail 59541 invoked by uid 500); 1 Jun 2018 11:47:36 -0000 Mailing-List: contact commits-help@tinkerpop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tinkerpop.apache.org Delivered-To: mailing list commits@tinkerpop.apache.org Received: (qmail 59481 invoked by uid 99); 1 Jun 2018 11:47:36 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Jun 2018 11:47:36 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 9B4ECE0C64; Fri, 1 Jun 2018 11:47:35 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: spmallette@apache.org To: commits@tinkerpop.apache.org Date: Fri, 01 Jun 2018 11:47:38 -0000 Message-Id: <077aadcf0fdd44e4bd61a59a7c4b1710@git.apache.org> In-Reply-To: <8fbe6268dabe4d1ab05de2ddc8e68161@git.apache.org> References: <8fbe6268dabe4d1ab05de2ddc8e68161@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [04/17] 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/master Commit: bd1993494c870f0f33b7b4120e6b4e2b461c86f4 Parents: 5c50772 Author: Stephen Mallette Authored: Fri May 18 16:17:11 2018 -0400 Committer: Stephen Mallette 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 }; /// 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