From 8a3f8b8228163f94bbb79490be3d6a6e90cbd1cb Mon Sep 17 00:00:00 2001 From: Daniel Weber Date: Fri, 23 Aug 2024 23:36:08 +0200 Subject: [PATCH] Add another test with reverse step label/label property arrangement. --- ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 59 +++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 59 +++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 9 +++ ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 69 +++++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 17 +++++ ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 17 +++++ ...bel_equals_stepLabel_property.verified.txt | 9 +++ ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 69 +++++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 69 +++++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 59 +++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 69 +++++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 59 +++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 75 +++++++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 1 + ...bel_equals_stepLabel_property.verified.txt | 69 +++++++++++++++++ ...bel_equals_stepLabel_property.verified.txt | 59 +++++++++++++++ .../QueryExecutionTest.cs | 10 +++ 30 files changed, 791 insertions(+) create mode 100644 test/Core.Tests/Debugging/DefaultDebugGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/BytecodeQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/EmptyProjectionValueProtectionSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/Graphson2BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/Graphson3BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/GroovyGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/OuterProjectionTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/RequestMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Core.Tests/Serialization/RequestMessageWithGroovySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.CosmosDb.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.CosmosDb.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.CosmosDb.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.CosmosDb.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/GroovyIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/IntegrationWithoutProjectionTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/ObjectQueryIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/PasswordSecuredIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/RequestMessageWithAliasSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.GremlinServer.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.JanusGraph.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.JanusGraph.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.JanusGraph.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.Neptune.Tests/ElasticSearchSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.Neptune.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.Neptune.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt create mode 100644 test/Providers.Neptune.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt diff --git a/test/Core.Tests/Debugging/DefaultDebugGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Debugging/DefaultDebugGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..9581907c0b --- /dev/null +++ b/test/Core.Tests/Debugging/DefaultDebugGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +g.V().hasLabel('Person').as('_a').V().hasLabel('Person').values('Age').as('_b').where('_b',lt('_a')).by().by('Age') \ No newline at end of file diff --git a/test/Core.Tests/Serialization/BytecodeQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/BytecodeQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..7998c368af --- /dev/null +++ b/test/Core.Tests/Serialization/BytecodeQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,59 @@ +{ + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] +} \ No newline at end of file diff --git a/test/Core.Tests/Serialization/EmptyProjectionValueProtectionSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/EmptyProjectionValueProtectionSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..7998c368af --- /dev/null +++ b/test/Core.Tests/Serialization/EmptyProjectionValueProtectionSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,59 @@ +{ + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] +} \ No newline at end of file diff --git a/test/Core.Tests/Serialization/Graphson2BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/Graphson2BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ba5b7a5d7c --- /dev/null +++ b/test/Core.Tests/Serialization/Graphson2BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +!application/vnd.gremlin-v2.0+json{"requestId":"12345678-9012-3456-7890-123456789012","op":"bytecode","processor":"traversal","args":{"gremlin":{"@type":"g:Bytecode","@value":{"step":[["V"],["hasLabel","Person"],["as","_a"],["V"],["hasLabel","Person"],["values","Age"],["as","_b"],["where","_b",{"@type":"g:P","@value":{"predicate":"lt","value":"_a"}}],["by"],["by","Age"]]}},"aliases":{"g":"g"}}} \ No newline at end of file diff --git a/test/Core.Tests/Serialization/Graphson3BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/Graphson3BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..e25b08f736 --- /dev/null +++ b/test/Core.Tests/Serialization/Graphson3BinaryMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +!application/vnd.gremlin-v3.0+json{"requestId":"12345678-9012-3456-7890-123456789012","op":"bytecode","processor":"traversal","args":{"gremlin":{"@type":"g:Bytecode","@value":{"step":[["V"],["hasLabel","Person"],["as","_a"],["V"],["hasLabel","Person"],["values","Age"],["as","_b"],["where","_b",{"@type":"g:P","@value":{"predicate":"lt","value":"_a"}}],["by"],["by","Age"]]}},"aliases":{"g":"g"}}} \ No newline at end of file diff --git a/test/Core.Tests/Serialization/GroovyGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/GroovyGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..fb351b856f --- /dev/null +++ b/test/Core.Tests/Serialization/GroovyGremlinQuerySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,9 @@ +{ + Script: g.V().hasLabel(_a).as(_b).V().hasLabel(_a).values(_c).as(_d).where(_d,lt(_b)).by().by(_c), + Bindings: { + _a: Person, + _b: _a, + _c: Age, + _d: _b + } +} \ No newline at end of file diff --git a/test/Core.Tests/Serialization/OuterProjectionTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/OuterProjectionTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Core.Tests/Serialization/OuterProjectionTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Core.Tests/Serialization/RequestMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/RequestMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..4ebfc31ca9 --- /dev/null +++ b/test/Core.Tests/Serialization/RequestMessageSerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,69 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: bytecode, + Processor: traversal, + Arguments: { + aliases: { + g: g + }, + gremlin: { + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] + } + } +} \ No newline at end of file diff --git a/test/Core.Tests/Serialization/RequestMessageWithGroovySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Core.Tests/Serialization/RequestMessageWithGroovySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..14c62738ae --- /dev/null +++ b/test/Core.Tests/Serialization/RequestMessageWithGroovySerializationTest.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,17 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: eval, + Processor: , + Arguments: { + aliases: { + g: g + }, + bindings: { + _a: Person, + _b: _a, + _c: Age, + _d: _b + }, + gremlin: g.V().hasLabel(_a).as(_b).V().hasLabel(_a).values(_c).as(_d).where(_d,lt(_b)).by().by(_c) + } +} \ No newline at end of file diff --git a/test/Providers.CosmosDb.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.CosmosDb.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..9581907c0b --- /dev/null +++ b/test/Providers.CosmosDb.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +g.V().hasLabel('Person').as('_a').V().hasLabel('Person').values('Age').as('_b').where('_b',lt('_a')).by().by('Age') \ No newline at end of file diff --git a/test/Providers.CosmosDb.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.CosmosDb.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.CosmosDb.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.CosmosDb.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.CosmosDb.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..14c62738ae --- /dev/null +++ b/test/Providers.CosmosDb.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,17 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: eval, + Processor: , + Arguments: { + aliases: { + g: g + }, + bindings: { + _a: Person, + _b: _a, + _c: Age, + _d: _b + }, + gremlin: g.V().hasLabel(_a).as(_b).V().hasLabel(_a).values(_c).as(_d).where(_d,lt(_b)).by().by(_c) + } +} \ No newline at end of file diff --git a/test/Providers.CosmosDb.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.CosmosDb.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..fb351b856f --- /dev/null +++ b/test/Providers.CosmosDb.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,9 @@ +{ + Script: g.V().hasLabel(_a).as(_b).V().hasLabel(_a).values(_c).as(_d).where(_d,lt(_b)).by().by(_c), + Bindings: { + _a: Person, + _b: _a, + _c: Age, + _d: _b + } +} \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..9581907c0b --- /dev/null +++ b/test/Providers.GremlinServer.Tests/DebugTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +g.V().hasLabel('Person').as('_a').V().hasLabel('Person').values('Age').as('_b').where('_b',lt('_a')).by().by('Age') \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/GroovyIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/GroovyIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.GremlinServer.Tests/GroovyIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.GremlinServer.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/IntegrationWithoutProjectionTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/IntegrationWithoutProjectionTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.GremlinServer.Tests/IntegrationWithoutProjectionTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/ObjectQueryIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/ObjectQueryIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.GremlinServer.Tests/ObjectQueryIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/PasswordSecuredIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/PasswordSecuredIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.GremlinServer.Tests/PasswordSecuredIntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..4ebfc31ca9 --- /dev/null +++ b/test/Providers.GremlinServer.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,69 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: bytecode, + Processor: traversal, + Arguments: { + aliases: { + g: g + }, + gremlin: { + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] + } + } +} \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/RequestMessageWithAliasSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/RequestMessageWithAliasSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..82bd90bb97 --- /dev/null +++ b/test/Providers.GremlinServer.Tests/RequestMessageWithAliasSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,69 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: bytecode, + Processor: traversal, + Arguments: { + aliases: { + g: a + }, + gremlin: { + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] + } + } +} \ No newline at end of file diff --git a/test/Providers.GremlinServer.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.GremlinServer.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..7998c368af --- /dev/null +++ b/test/Providers.GremlinServer.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,59 @@ +{ + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] +} \ No newline at end of file diff --git a/test/Providers.JanusGraph.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.JanusGraph.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.JanusGraph.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.JanusGraph.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.JanusGraph.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..4ebfc31ca9 --- /dev/null +++ b/test/Providers.JanusGraph.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,69 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: bytecode, + Processor: traversal, + Arguments: { + aliases: { + g: g + }, + gremlin: { + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] + } + } +} \ No newline at end of file diff --git a/test/Providers.JanusGraph.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.JanusGraph.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..7998c368af --- /dev/null +++ b/test/Providers.JanusGraph.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,59 @@ +{ + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] +} \ No newline at end of file diff --git a/test/Providers.Neptune.Tests/ElasticSearchSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.Neptune.Tests/ElasticSearchSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..d1201c2dfc --- /dev/null +++ b/test/Providers.Neptune.Tests/ElasticSearchSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,75 @@ +{ + SourceInstructions: [ + { + OperatorName: withSideEffect, + Arguments: [ + Neptune#fts.endpoint, + http://elastic.search.server + ] + }, + { + OperatorName: withSideEffect, + Arguments: [ + Neptune#fts.queryType, + query_string + ] + } + ], + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _c + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _d + ] + }, + { + OperatorName: where, + Arguments: [ + _d, + { + OperatorName: lt, + Value: _c + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] +} \ No newline at end of file diff --git a/test/Providers.Neptune.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.Neptune.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..ad47dbb93f --- /dev/null +++ b/test/Providers.Neptune.Tests/IntegrationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/test/Providers.Neptune.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.Neptune.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..4ebfc31ca9 --- /dev/null +++ b/test/Providers.Neptune.Tests/RequestMessageSerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,69 @@ +{ + RequestId: 12345678-9012-3456-7890-123456789012, + Operation: bytecode, + Processor: traversal, + Arguments: { + aliases: { + g: g + }, + gremlin: { + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] + } + } +} \ No newline at end of file diff --git a/test/Providers.Neptune.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt b/test/Providers.Neptune.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt new file mode 100644 index 0000000000..7998c368af --- /dev/null +++ b/test/Providers.Neptune.Tests/SerializationTests.Where_stepLabel_equals_stepLabel_property.verified.txt @@ -0,0 +1,59 @@ +{ + StepInstructions: [ + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: as, + Arguments: [ + _a + ] + }, + { + OperatorName: V + }, + { + OperatorName: hasLabel, + Arguments: [ + Person + ] + }, + { + OperatorName: values, + Arguments: [ + Age + ] + }, + { + OperatorName: as, + Arguments: [ + _b + ] + }, + { + OperatorName: where, + Arguments: [ + _b, + { + OperatorName: lt, + Value: _a + } + ] + }, + { + OperatorName: by + }, + { + OperatorName: by, + Arguments: [ + Age + ] + } + ] +} \ No newline at end of file diff --git a/test/Tests.Infrastructure/QueryExecutionTest.cs b/test/Tests.Infrastructure/QueryExecutionTest.cs index 08384cbacc..fd80465d75 100644 --- a/test/Tests.Infrastructure/QueryExecutionTest.cs +++ b/test/Tests.Infrastructure/QueryExecutionTest.cs @@ -4622,6 +4622,16 @@ public virtual Task Where_stepLabel_property_equals_stepLabel() => _g .Where(p => person.Value.Age < age.Value))) .Verify(); + [Fact] + public virtual Task Where_stepLabel_equals_stepLabel_property() => _g + .V() + .As((__, person) => __ + .V() + .Values(x => x.Age) + .As((__, age) => __ + .Where(p => age.Value < person.Value.Age))) + .Verify(); + [Fact] public virtual Task Where_stepLabel_value_is_greater_than_or_equal_stepLabel_value() => _g .V()