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

colegreer pushed a commit to branch TINKERPOP-3193
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 06f7144bc1e7f0d7d0d27f0139311f96b5d98ac8
Author: Cole-Greer <[email protected]>
AuthorDate: Mon Sep 22 15:48:23 2025 -0700

    feature tests
---
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs |  3 +++
 gremlin-go/driver/cucumber/gremlin.go              |  3 +++
 .../gremlin-javascript/test/cucumber/gremlin.js    |  3 +++
 gremlin-python/src/main/python/radish/gremlin.py   |  3 +++
 .../gremlin/test/features/map/AddEdge.feature      | 19 +++++++++++++++-
 .../gremlin/test/features/map/AddVertex.feature    | 25 +++++++++++++++++++++-
 6 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index f9787aec36..80df88ab7d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -670,6 +670,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                
{"g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.AddE("knows").Property("weight", null).From(__.V().Has("name", 
"marko")).To(__.V().Has("name", "vadas")), (g,p) =>g.E().Has("knows", "weight", 
(object) null)}}, 
                
{"g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.AddE((string) p["xx1"]).Property("weight", null).From(__.V().Has("name", 
"marko")).To(__.V().Has("name", "vadas")), (g,p) =>g.E().Has("knows", "weight", 
(object) null)}}, 
                
{"g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.Union<object>(__.AddE((string) p["xx1"]).Property("weight", 
1).From(__.V().Has("name", "marko")).To(__.V().Has("name", "vadas"))), (g,p) 
=>g.E().Has("knows", "we [...]
+               
{"g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.AddE("edge").From(__.V().Has("name", "marko")).To(__.V().Has("name", 
"vadas")).Property("weight", 0.5).With("key", "value").Values<objec [...]
                
{"g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").P [...]
                {"g_V_addVXanimalX_propertyXage_0X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Property("lang [...]
                {"g_V_addVXanimalvarX_propertyXage_0varX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Property [...]
@@ -703,6 +704,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                
{"g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("friendWeight", 
null, "acl", null), (g,p) =>g.V().Has("person", "name", 
"marko").Has("friendWeight", (object) null), (g,p) =>g.V().Has("person", 
"name", "marko").Properties<object>("friendWeight").Has("acl", (object) null), 
(g,p) =>g.V().Has("person", "name", " [...]
                
{"g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", 
"alice").Property(Cardinality.Single, "age", 50), (g,p) =>g.V().Has("person", 
"name", "alice").Property("age", __.Union<object>(__.Values<object>("age"), 
__.Constant<object>(1)).Sum<object>()), (g,p) =>g.V().Has("person", "age", 50), 
(g,p) =>g.V().Has("person", "age", 51)}}, 
                
{"g_V_limitX3X_addVXsoftwareX_aggregateXa1X_byXlabelX_aggregateXa2X_byXlabelX_capXa1_a2X_selectXa_bX_byXunfoldX_foldX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Proper [...]
+               
{"g_addV_propertyXname_markoX_withXkey_valueX_valuesXname_keyX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV().Property("name", "marko").With("key", 
"value").Values<object>("name", "key")}}, 
+               
{"g_addV_propertyXname_marko_since_2010X_withXkey_valueX_propertiesXnameX_valuesXsince_keyX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV().Property("name", "marko", "since", 2010).With("key", 
"value").Properties<object>("name").Values<object>("since", "key")}}, 
                {"g_injectX1X_asBool", new List<Func<GraphTraversalSource, 
IDictionary<string, object>, ITraversal>> {(g,p) 
=>g.Inject<object>(1).AsBool()}}, 
                {"g_injectX3_14X_asBool", new List<Func<GraphTraversalSource, 
IDictionary<string, object>, ITraversal>> {(g,p) 
=>g.Inject<object>(3.14).AsBool()}}, 
                {"g_injectXneg_1X_asBool", new List<Func<GraphTraversalSource, 
IDictionary<string, object>, ITraversal>> {(g,p) 
=>g.Inject<object>(-1).AsBool()}}, 
diff --git a/gremlin-go/driver/cucumber/gremlin.go 
b/gremlin-go/driver/cucumber/gremlin.go
index 73c0e36d91..dca4a095a5 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -640,6 +640,7 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddE("knows").Property("weight", nil).From(gremlingo.T__.V().Has("name", "ma 
[...]
     
"g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddE(p["xx1"]).Property("weight", nil).From(gremlingo.T__.V().Has("name", 
[...]
     
"g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Union(gremlingo.T__.AddE(p["xx1"]).Property("weight", 1).From(grem [...]
+    
"g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddE("edge").From(gremlingo.T__.V().Has(" [...]
     
"g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software") [...]
     "g_V_addVXanimalX_propertyXage_0X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", 
"ripple").Property("la [...]
     "g_V_addVXanimalvarX_propertyXage_0varX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", 
"ripple").Proper [...]
@@ -673,6 +674,8 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("friendWeight", nil, "acl", nil)}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("person", "name", 
"marko").Has("friendWeight", nil)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interfa [...]
     
"g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"alice").Property(gremlingo.Cardinality.Single, "age", 50)}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("person", "name", 
"alice").Property("age", gremlingo.T__.Union(gremlingo.T__.Values("age"), 
gremlingo.T_ [...]
     
"g_V_limitX3X_addVXsoftwareX_aggregateXa1X_byXlabelX_aggregateXa2X_byXlabelX_capXa1_a2X_selectXa_bX_byXunfoldX_foldX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Prop [...]
+    "g_addV_propertyXname_markoX_withXkey_valueX_valuesXname_keyX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV().Property("name", 
"marko").With("key", "value").Values("name", "key")}}, 
+    
"g_addV_propertyXname_marko_since_2010X_withXkey_valueX_propertiesXnameX_valuesXsince_keyX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV().Property("name", "marko", "since", 
2010).With("key", "value").Properties("name").Values("since", "key")}}, 
     "g_injectX1X_asBool": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(1).AsBool()}}, 
     "g_injectX3_14X_asBool": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(3.14).AsBool()}}, 
     "g_injectXneg_1X_asBool": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(-1).AsBool()}}, 
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 954b7092e0..7925c40ccc 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
@@ -671,6 +671,7 @@ const gremlins = {
     
g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX:
 [function({g}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g}) { return 
g.addE("knows").property("weight", null).from_(__.V().has("name", 
"marko")).to(__.V().has("name", "vadas")) }, function({g}) { return 
g.E().has("knows", "weight", null) }], 
     
g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX:
 [function({g, xx1}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g, xx1}) { return 
g.addE(xx1).property("weight", null).from_(__.V().has("name", 
"marko")).to(__.V().has("name", "vadas")) }, function({g, xx1}) { return 
g.E().has("knows", "weight", null) }], 
     
g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX:
 [function({g, xx1}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g, xx1}) { return 
g.union(__.addE(xx1).property("weight", 1).from_(__.V().has("name", 
"marko")).to(__.V().has("name", "vadas"))) }, function({g, xx1}) { return 
g.E().has("knows", "weight", 1) }], 
+    
g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX:
 [function({g}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g}) { return 
g.addE("edge").from_(__.V().has("name", "marko")).to(__.V().has("name", 
"vadas")).property("weight", 0.5).with_("key", "value").values("weight", "key") 
}], 
     g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX: 
[function({g, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").addV("p [...]
     g_V_addVXanimalX_propertyXage_0X: [function({g}) { return 
g.addV("person").property("name", "marko").property("age", 
29).as("marko").addV("person").property("name", "vadas").property("age", 
27).as("vadas").addV("software").property("name", "lop").property("lang", 
"java").as("lop").addV("person").property("name", "josh").property("age", 
32).as("josh").addV("software").property("name", "ripple").property("lang", 
"java").as("ripple").addV("person").property("name", "peter").property("ag [...]
     g_V_addVXanimalvarX_propertyXage_0varX: [function({g, xx1, xx2}) { return 
g.addV("person").property("name", "marko").property("age", 
29).as("marko").addV("person").property("name", "vadas").property("age", 
27).as("vadas").addV("software").property("name", "lop").property("lang", 
"java").as("lop").addV("person").property("name", "josh").property("age", 
32).as("josh").addV("software").property("name", "ripple").property("lang", 
"java").as("ripple").addV("person").property("name", "pete [...]
@@ -704,6 +705,8 @@ const gremlins = {
     g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX: 
[function({g}) { return g.addV("person").property("name", 
"marko").property("friendWeight", null, "acl", null) }, function({g}) { return 
g.V().has("person", "name", "marko").has("friendWeight", null) }, function({g}) 
{ return g.V().has("person", "name", 
"marko").properties("friendWeight").has("acl", null) }, function({g}) { return 
g.V().has("person", "name", "marko").properties("friendWeight").count() }], 
     
g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX: 
[function({g}) { return g.addV("person").property("name", 
"alice").property(Cardinality.single, "age", 50) }, function({g}) { return 
g.V().has("person", "name", "alice").property("age", __.union(__.values("age"), 
__.constant(1)).sum()) }, function({g}) { return g.V().has("person", "age", 50) 
}, function({g}) { return g.V().has("person", "age", 51) }], 
     
g_V_limitX3X_addVXsoftwareX_aggregateXa1X_byXlabelX_aggregateXa2X_byXlabelX_capXa1_a2X_selectXa_bX_byXunfoldX_foldX:
 [function({g}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property [...]
+    g_addV_propertyXname_markoX_withXkey_valueX_valuesXname_keyX: 
[function({g}) { return g.addV().property("name", "marko").with_("key", 
"value").values("name", "key") }], 
+    
g_addV_propertyXname_marko_since_2010X_withXkey_valueX_propertiesXnameX_valuesXsince_keyX:
 [function({g}) { return g.addV().property("name", "marko", "since", 
2010).with_("key", "value").properties("name").values("since", "key") }], 
     g_injectX1X_asBool: [function({g}) { return g.inject(1).asBool() }], 
     g_injectX3_14X_asBool: [function({g}) { return g.inject(3.14).asBool() }], 
     g_injectXneg_1X_asBool: [function({g}) { return g.inject(-1).asBool() }], 
diff --git a/gremlin-python/src/main/python/radish/gremlin.py 
b/gremlin-python/src/main/python/radish/gremlin.py
index 4ce9a1ac0f..14317da1fd 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -643,6 +643,7 @@ world.gremlins = {
     
'g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX':
 [(lambda g:g.add_v('person').property('name', 'marko').property('age', 
29).add_v('person').property('name', 'vadas').property('age', 27)), (lambda 
g:g.add_e('knows').property('weight', None).from_(__.V().has('name', 
'marko')).to(__.V().has('name', 'vadas'))), (lambda g:g.E().has('knows', 
'weight', None))], 
     
'g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX':
 [(lambda g, xx1=None:g.add_v('person').property('name', 
'marko').property('age', 29).add_v('person').property('name', 
'vadas').property('age', 27)), (lambda g, 
xx1=None:g.add_e(xx1).property('weight', None).from_(__.V().has('name', 
'marko')).to(__.V().has('name', 'vadas'))), (lambda g, 
xx1=None:g.E().has('knows', 'weight', None))], 
     
'g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX':
 [(lambda g, xx1=None:g.add_v('person').property('name', 
'marko').property('age', 29).add_v('person').property('name', 
'vadas').property('age', 27)), (lambda g, 
xx1=None:g.union(__.add_e(xx1).property('weight', 1).from_(__.V().has('name', 
'marko')).to(__.V().has('name', 'vadas')))), (lambda g, 
xx1=None:g.E().has('knows', 'weight', 1))], 
+    
'g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX':
 [(lambda g:g.add_v('person').property('name', 'marko').property('age', 
29).add_v('person').property('name', 'vadas').property('age', 27)), (lambda 
g:g.add_e('edge').from_(__.V().has('name', 'marko')).to(__.V().has('name', 
'vadas')).property('weight', 0.5).with_('key', 'value').values('weight', 
'key'))], 
     
'g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX': 
[(lambda g, vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripple').add [...]
     'g_V_addVXanimalX_propertyXage_0X': [(lambda 
g:g.add_v('person').property('name', 'marko').property('age', 
29).as_('marko').add_v('person').property('name', 'vadas').property('age', 
27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 
'java').as_('lop').add_v('person').property('name', 'josh').property('age', 
32).as_('josh').add_v('software').property('name', 'ripple').property('lang', 
'java').as_('ripple').add_v('person').property('name', 'peter').property('ag 
[...]
     'g_V_addVXanimalvarX_propertyXage_0varX': [(lambda g, 
xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 
29).as_('marko').add_v('person').property('name', 'vadas').property('age', 
27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 
'java').as_('lop').add_v('person').property('name', 'josh').property('age', 
32).as_('josh').add_v('software').property('name', 'ripple').property('lang', 
'java').as_('ripple').add_v('person').property('nam [...]
@@ -676,6 +677,8 @@ world.gremlins = {
     
'g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX': 
[(lambda g:g.add_v('person').property('name', 'marko').property('friendWeight', 
None, 'acl', None)), (lambda g:g.V().has('person', 'name', 
'marko').has('friendWeight', None)), (lambda g:g.V().has('person', 'name', 
'marko').properties('friendWeight').has('acl', None)), (lambda 
g:g.V().has('person', 'name', 'marko').properties('friendWeight').count())], 
     
'g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX': 
[(lambda g:g.add_v('person').property('name', 
'alice').property(Cardinality.single, 'age', 50)), (lambda 
g:g.V().has('person', 'name', 'alice').property('age', 
__.union(__.values('age'), __.constant(1)).sum_())), (lambda 
g:g.V().has('person', 'age', 50)), (lambda g:g.V().has('person', 'age', 51))], 
     
'g_V_limitX3X_addVXsoftwareX_aggregateXa1X_byXlabelX_aggregateXa2X_byXlabelX_capXa1_a2X_selectXa_bX_byXunfoldX_foldX':
 [(lambda g:g.add_v('person').property('name', 'marko').property('age', 
29).as_('marko').add_v('person').property('name', 'vadas').property('age', 
27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 
'java').as_('lop').add_v('person').property('name', 'josh').property('age', 
32).as_('josh').add_v('software').property('name', 'ripple').property(' [...]
+    'g_addV_propertyXname_markoX_withXkey_valueX_valuesXname_keyX': [(lambda 
g:g.add_v().property('name', 'marko').with_('key', 'value').values('name', 
'key'))], 
+    
'g_addV_propertyXname_marko_since_2010X_withXkey_valueX_propertiesXnameX_valuesXsince_keyX':
 [(lambda g:g.add_v().property('name', 'marko', 'since', 2010).with_('key', 
'value').properties('name').values('since', 'key'))], 
     'g_injectX1X_asBool': [(lambda g:g.inject(1).as_bool())], 
     'g_injectX3_14X_asBool': [(lambda g:g.inject(3.14).as_bool())], 
     'g_injectXneg_1X_asBool': [(lambda g:g.inject(-1).as_bool())], 
diff --git 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
index 535eb62e9c..aa04e6a6b8 100644
--- 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
+++ 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
@@ -497,4 +497,21 @@ Feature: Step - addE()
       """
     When iterated to list
     Then the result should have a count of 1
-    And the graph should return 1 for count of 
"g.E().has(\"knows\",\"weight\", 1)"
\ No newline at end of file
+    And the graph should return 1 for count of 
"g.E().has(\"knows\",\"weight\", 1)"
+
+
+  Scenario: 
g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX
+    Given the empty graph
+    And the graph initializer of
+      """
+      g.addV("person").property("name", "marko").property("age", 29).
+        addV("person").property("name", "vadas").property("age", 27)
+      """
+    And the traversal of
+      """
+      
g.addE("edge").from(V().has("name","marko")).to(V().has("name","vadas")).property("weight",
 0.5).with("key", "value").values("weight", "key")
+      """
+    When iterated to list
+    Then the result should be unordered
+      | result |
+      | d[0.5].d |
\ No newline at end of file
diff --git 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddVertex.feature
 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddVertex.feature
index 50be911973..c0883b2c1b 100644
--- 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddVertex.feature
+++ 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddVertex.feature
@@ -680,4 +680,27 @@ Feature: Step - addV()
     When iterated to list
     Then the result should be unordered
       | result |
-      | m[{"a1": ["software", "software", "software"], "a2": ["software", 
"software", "software"]}] |
\ No newline at end of file
+      | m[{"a1": ["software", "software", "software"], "a2": ["software", 
"software", "software"]}] |
+
+  Scenario: g_addV_propertyXname_markoX_withXkey_valueX_valuesXname_keyX
+    Given the empty graph
+    And the traversal of
+      """
+      g.addV().property("name", "marko").with("key", "value").values("name", 
"key")
+      """
+    When iterated to list
+    Then the result should be unordered
+      | result |
+      | marko |
+
+  @MetaProperties
+  Scenario: 
g_addV_propertyXname_marko_since_2010X_withXkey_valueX_propertiesXnameX_valuesXsince_keyX
+    Given the empty graph
+    And the traversal of
+      """
+      g.addV().property("name", "marko", "since", 2010).with("key", 
"value").properties("name").values("since", "key")
+      """
+    When iterated to list
+    Then the result should be unordered
+      | result |
+      | d[2010].i |
\ No newline at end of file

Reply via email to