Add Type as a possible argument Type for the Java Class equivalent This also revealed a bug in the tests that called the WithoutStrategies source step with objects of strategies instead of just with their types. However, WithoutStrategies still can't work right now as a GraphSON serializer is missing for Type.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/26b07237 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/26b07237 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/26b07237 Branch: refs/heads/TINKERPOP-1752 Commit: 26b0723708a43f66fdc56c349ddac840a9dfddd3 Parents: 73e2537 Author: florianhockmann <[email protected]> Authored: Sun Sep 3 14:29:09 2017 +0200 Committer: florianhockmann <[email protected]> Committed: Sun Sep 3 14:29:09 2017 +0200 ---------------------------------------------------------------------- gremlin-dotnet/pom.xml | 2 + .../Process/Traversal/GraphTraversal.cs | 328 +++++++++---------- .../Process/Traversal/GraphTraversalSource.cs | 46 +-- .../src/Gremlin.Net/Process/Traversal/__.cs | 204 ++++++------ .../BytecodeGeneration/StrategiesTests.cs | 10 +- 5 files changed, 296 insertions(+), 294 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b07237/gremlin-dotnet/pom.xml ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/pom.xml b/gremlin-dotnet/pom.xml index 6cf271e..b84ea80 100644 --- a/gremlin-dotnet/pom.xml +++ b/gremlin-dotnet/pom.xml @@ -89,6 +89,8 @@ def toCSharpTypeMap = ["Long": "long", "Object": "object", "String[]": "string[]", "Object[]": "object[]", + "Class": "Type", + "Class[]": "Type[]", "java.util.Map<java.lang.String, E2>": "IDictionary<string, E2>", "java.util.Map<java.lang.String, B>": "IDictionary<string, E2>", "java.util.List<E>": "IList<E>", http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b07237/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs index 9e9ed30..45e271d 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversal.cs @@ -75,9 +75,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the addE step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , Edge > AddE (Direction direction, string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) + public GraphTraversal< S , Edge > AddE (string edgeLabel) { - var args = new List<object> { direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues }; + var args = new List<object> { edgeLabel }; Bytecode.AddStep("addE", args); return Wrap< S , Edge >(this); } @@ -85,9 +85,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the addE step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , Edge > AddE (string edgeLabel) + public GraphTraversal< S , Edge > AddE (Direction direction, string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) { - var args = new List<object> { edgeLabel }; + var args = new List<object> { direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues }; Bytecode.AddStep("addE", args); return Wrap< S , Edge >(this); } @@ -115,9 +115,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the addV step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , Vertex > AddV (string vertexLabel) + public GraphTraversal< S , Vertex > AddV (params object[] propertyKeyValues) { - var args = new List<object> { vertexLabel }; + var args = new List<object> { propertyKeyValues }; Bytecode.AddStep("addV", args); return Wrap< S , Vertex >(this); } @@ -135,9 +135,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the addV step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , Vertex > AddV (params object[] propertyKeyValues) + public GraphTraversal< S , Vertex > AddV (string vertexLabel) { - var args = new List<object> { propertyKeyValues }; + var args = new List<object> { vertexLabel }; Bytecode.AddStep("addV", args); return Wrap< S , Vertex >(this); } @@ -175,9 +175,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the barrier step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Barrier (object barrierConsumer) + public GraphTraversal< S , E > Barrier () { - var args = new List<object> { barrierConsumer }; + var args = new List<object> { }; Bytecode.AddStep("barrier", args); return Wrap< S , E >(this); } @@ -185,9 +185,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the barrier step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Barrier () + public GraphTraversal< S , E > Barrier (object barrierConsumer) { - var args = new List<object> { }; + var args = new List<object> { barrierConsumer }; Bytecode.AddStep("barrier", args); return Wrap< S , E >(this); } @@ -255,9 +255,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (Order order) + public GraphTraversal< S , E > By (ITraversal traversal) { - var args = new List<object> { order }; + var args = new List<object> { traversal }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -265,9 +265,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (string key, object comparator) + public GraphTraversal< S , E > By () { - var args = new List<object> { key, comparator }; + var args = new List<object> { }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -275,9 +275,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (string key) + public GraphTraversal< S , E > By (T token) { - var args = new List<object> { key }; + var args = new List<object> { token }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -285,9 +285,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (object function) + public GraphTraversal< S , E > By (string key) { - var args = new List<object> { function }; + var args = new List<object> { key }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -295,9 +295,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (object comparator) + public GraphTraversal< S , E > By (Order order) { - var args = new List<object> { comparator }; + var args = new List<object> { order }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -305,9 +305,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (ITraversal traversal) + public GraphTraversal< S , E > By (object function, object comparator) { - var args = new List<object> { traversal }; + var args = new List<object> { function, comparator }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -315,9 +315,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By () + public GraphTraversal< S , E > By (object comparator) { - var args = new List<object> { }; + var args = new List<object> { comparator }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -325,9 +325,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (object function, object comparator) + public GraphTraversal< S , E > By (object function) { - var args = new List<object> { function, comparator }; + var args = new List<object> { function }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -345,9 +345,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the by step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > By (T token) + public GraphTraversal< S , E > By (string key, object comparator) { - var args = new List<object> { token }; + var args = new List<object> { key, comparator }; Bytecode.AddStep("by", args); return Wrap< S , E >(this); } @@ -365,9 +365,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Choose<E2> (ITraversal traversalPredicate, ITraversal trueChoice) + public GraphTraversal< S , E2 > Choose<E2> (TraversalPredicate choosePredicate, ITraversal trueChoice) { - var args = new List<object> { traversalPredicate, trueChoice }; + var args = new List<object> { choosePredicate, trueChoice }; Bytecode.AddStep("choose", args); return Wrap< S , E2 >(this); } @@ -375,9 +375,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Choose<E2> (ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) + public GraphTraversal< S , E2 > Choose<E2> (TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) { - var args = new List<object> { traversalPredicate, trueChoice, falseChoice }; + var args = new List<object> { choosePredicate, trueChoice, falseChoice }; Bytecode.AddStep("choose", args); return Wrap< S , E2 >(this); } @@ -385,9 +385,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Choose<E2> (ITraversal choiceTraversal) + public GraphTraversal< S , E2 > Choose<E2> (object choiceFunction) { - var args = new List<object> { choiceTraversal }; + var args = new List<object> { choiceFunction }; Bytecode.AddStep("choose", args); return Wrap< S , E2 >(this); } @@ -395,9 +395,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Choose<E2> (object choiceFunction) + public GraphTraversal< S , E2 > Choose<E2> (ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) { - var args = new List<object> { choiceFunction }; + var args = new List<object> { traversalPredicate, trueChoice, falseChoice }; Bytecode.AddStep("choose", args); return Wrap< S , E2 >(this); } @@ -405,9 +405,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Choose<E2> (TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) + public GraphTraversal< S , E2 > Choose<E2> (ITraversal traversalPredicate, ITraversal trueChoice) { - var args = new List<object> { choosePredicate, trueChoice, falseChoice }; + var args = new List<object> { traversalPredicate, trueChoice }; Bytecode.AddStep("choose", args); return Wrap< S , E2 >(this); } @@ -415,9 +415,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the choose step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Choose<E2> (TraversalPredicate choosePredicate, ITraversal trueChoice) + public GraphTraversal< S , E2 > Choose<E2> (ITraversal choiceTraversal) { - var args = new List<object> { choosePredicate, trueChoice }; + var args = new List<object> { choiceTraversal }; Bytecode.AddStep("choose", args); return Wrap< S , E2 >(this); } @@ -515,9 +515,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the emit step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Emit (ITraversal emitTraversal) + public GraphTraversal< S , E > Emit () { - var args = new List<object> { emitTraversal }; + var args = new List<object> { }; Bytecode.AddStep("emit", args); return Wrap< S , E >(this); } @@ -535,9 +535,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the emit step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Emit () + public GraphTraversal< S , E > Emit (ITraversal emitTraversal) { - var args = new List<object> { }; + var args = new List<object> { emitTraversal }; Bytecode.AddStep("emit", args); return Wrap< S , E >(this); } @@ -545,9 +545,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the filter step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Filter (TraversalPredicate predicate) + public GraphTraversal< S , E > Filter (ITraversal filterTraversal) { - var args = new List<object> { predicate }; + var args = new List<object> { filterTraversal }; Bytecode.AddStep("filter", args); return Wrap< S , E >(this); } @@ -555,9 +555,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the filter step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Filter (ITraversal filterTraversal) + public GraphTraversal< S , E > Filter (TraversalPredicate predicate) { - var args = new List<object> { filterTraversal }; + var args = new List<object> { predicate }; Bytecode.AddStep("filter", args); return Wrap< S , E >(this); } @@ -565,9 +565,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the flatMap step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > FlatMap<E2> (object function) + public GraphTraversal< S , E2 > FlatMap<E2> (ITraversal flatMapTraversal) { - var args = new List<object> { function }; + var args = new List<object> { flatMapTraversal }; Bytecode.AddStep("flatMap", args); return Wrap< S , E2 >(this); } @@ -575,9 +575,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the flatMap step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > FlatMap<E2> (ITraversal flatMapTraversal) + public GraphTraversal< S , E2 > FlatMap<E2> (object function) { - var args = new List<object> { flatMapTraversal }; + var args = new List<object> { function }; Bytecode.AddStep("flatMap", args); return Wrap< S , E2 >(this); } @@ -625,6 +625,16 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the group step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> + public GraphTraversal< S , E > Group (string sideEffectKey) + { + var args = new List<object> { sideEffectKey }; + Bytecode.AddStep("group", args); + return Wrap< S , E >(this); + } + + /// <summary> + /// Adds the group step to this <see cref="GraphTraversal{SType, EType}" />. + /// </summary> public GraphTraversal< S , IDictionary<K, V> > Group<K, V> () { var args = new List<object> { }; @@ -633,12 +643,12 @@ namespace Gremlin.Net.Process.Traversal } /// <summary> - /// Adds the group step to this <see cref="GraphTraversal{SType, EType}" />. + /// Adds the groupCount step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Group (string sideEffectKey) + public GraphTraversal< S , E > GroupCount (string sideEffectKey) { var args = new List<object> { sideEffectKey }; - Bytecode.AddStep("group", args); + Bytecode.AddStep("groupCount", args); return Wrap< S , E >(this); } @@ -653,12 +663,12 @@ namespace Gremlin.Net.Process.Traversal } /// <summary> - /// Adds the groupCount step to this <see cref="GraphTraversal{SType, EType}" />. + /// Adds the groupV3d0 step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > GroupCount (string sideEffectKey) + public GraphTraversal< S , E > GroupV3d0 (string sideEffectKey) { var args = new List<object> { sideEffectKey }; - Bytecode.AddStep("groupCount", args); + Bytecode.AddStep("groupV3d0", args); return Wrap< S , E >(this); } @@ -673,21 +683,11 @@ namespace Gremlin.Net.Process.Traversal } /// <summary> - /// Adds the groupV3d0 step to this <see cref="GraphTraversal{SType, EType}" />. - /// </summary> - public GraphTraversal< S , E > GroupV3d0 (string sideEffectKey) - { - var args = new List<object> { sideEffectKey }; - Bytecode.AddStep("groupV3d0", args); - return Wrap< S , E >(this); - } - - /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (string propertyKey, TraversalPredicate predicate) + public GraphTraversal< S , E > Has (string propertyKey) { - var args = new List<object> { propertyKey, predicate }; + var args = new List<object> { propertyKey }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -695,9 +695,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (string propertyKey, ITraversal propertyTraversal) + public GraphTraversal< S , E > Has (string propertyKey, object value) { - var args = new List<object> { propertyKey, propertyTraversal }; + var args = new List<object> { propertyKey, value }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -705,9 +705,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (string label, string propertyKey, object value) + public GraphTraversal< S , E > Has (T accessor, ITraversal propertyTraversal) { - var args = new List<object> { label, propertyKey, value }; + var args = new List<object> { accessor, propertyTraversal }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -715,9 +715,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (string propertyKey) + public GraphTraversal< S , E > Has (T accessor, TraversalPredicate predicate) { - var args = new List<object> { propertyKey }; + var args = new List<object> { accessor, predicate }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -725,9 +725,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (T accessor, TraversalPredicate predicate) + public GraphTraversal< S , E > Has (string propertyKey, TraversalPredicate predicate) { - var args = new List<object> { accessor, predicate }; + var args = new List<object> { propertyKey, predicate }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -735,9 +735,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (T accessor, ITraversal propertyTraversal) + public GraphTraversal< S , E > Has (T accessor, object value) { - var args = new List<object> { accessor, propertyTraversal }; + var args = new List<object> { accessor, value }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -745,9 +745,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (string propertyKey, object value) + public GraphTraversal< S , E > Has (string label, string propertyKey, TraversalPredicate predicate) { - var args = new List<object> { propertyKey, value }; + var args = new List<object> { label, propertyKey, predicate }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -755,9 +755,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (T accessor, object value) + public GraphTraversal< S , E > Has (string label, string propertyKey, object value) { - var args = new List<object> { accessor, value }; + var args = new List<object> { label, propertyKey, value }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -765,9 +765,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the has step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Has (string label, string propertyKey, TraversalPredicate predicate) + public GraphTraversal< S , E > Has (string propertyKey, ITraversal propertyTraversal) { - var args = new List<object> { label, propertyKey, predicate }; + var args = new List<object> { propertyKey, propertyTraversal }; Bytecode.AddStep("has", args); return Wrap< S , E >(this); } @@ -775,9 +775,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the hasId step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > HasId (TraversalPredicate predicate) + public GraphTraversal< S , E > HasId (object id, params object[] otherIds) { - var args = new List<object> { predicate }; + var args = new List<object> { id, otherIds }; Bytecode.AddStep("hasId", args); return Wrap< S , E >(this); } @@ -785,9 +785,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the hasId step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > HasId (object id, params object[] otherIds) + public GraphTraversal< S , E > HasId (TraversalPredicate predicate) { - var args = new List<object> { id, otherIds }; + var args = new List<object> { predicate }; Bytecode.AddStep("hasId", args); return Wrap< S , E >(this); } @@ -815,9 +815,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the hasLabel step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > HasLabel (TraversalPredicate predicate) + public GraphTraversal< S , E > HasLabel (string label, params string[] otherLabels) { - var args = new List<object> { predicate }; + var args = new List<object> { label, otherLabels }; Bytecode.AddStep("hasLabel", args); return Wrap< S , E >(this); } @@ -825,9 +825,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the hasLabel step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > HasLabel (string label, params string[] otherLabels) + public GraphTraversal< S , E > HasLabel (TraversalPredicate predicate) { - var args = new List<object> { label, otherLabels }; + var args = new List<object> { predicate }; Bytecode.AddStep("hasLabel", args); return Wrap< S , E >(this); } @@ -1005,9 +1005,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the map step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Map<E2> (object function) + public GraphTraversal< S , E2 > Map<E2> (ITraversal mapTraversal) { - var args = new List<object> { function }; + var args = new List<object> { mapTraversal }; Bytecode.AddStep("map", args); return Wrap< S , E2 >(this); } @@ -1015,9 +1015,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the map step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Map<E2> (ITraversal mapTraversal) + public GraphTraversal< S , E2 > Map<E2> (object function) { - var args = new List<object> { mapTraversal }; + var args = new List<object> { function }; Bytecode.AddStep("map", args); return Wrap< S , E2 >(this); } @@ -1095,9 +1095,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the min step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Min<E2> () + public GraphTraversal< S , E2 > Min<E2> (Scope scope) { - var args = new List<object> { }; + var args = new List<object> { scope }; Bytecode.AddStep("min", args); return Wrap< S , E2 >(this); } @@ -1105,9 +1105,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the min step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Min<E2> (Scope scope) + public GraphTraversal< S , E2 > Min<E2> () { - var args = new List<object> { scope }; + var args = new List<object> { }; Bytecode.AddStep("min", args); return Wrap< S , E2 >(this); } @@ -1165,9 +1165,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the order step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Order () + public GraphTraversal< S , E > Order (Scope scope) { - var args = new List<object> { }; + var args = new List<object> { scope }; Bytecode.AddStep("order", args); return Wrap< S , E >(this); } @@ -1175,9 +1175,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the order step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Order (Scope scope) + public GraphTraversal< S , E > Order () { - var args = new List<object> { scope }; + var args = new List<object> { }; Bytecode.AddStep("order", args); return Wrap< S , E >(this); } @@ -1315,9 +1315,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the property step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Property (object key, object value, params object[] keyValues) + public GraphTraversal< S , E > Property (Cardinality cardinality, object key, object value, params object[] keyValues) { - var args = new List<object> { key, value, keyValues }; + var args = new List<object> { cardinality, key, value, keyValues }; Bytecode.AddStep("property", args); return Wrap< S , E >(this); } @@ -1325,9 +1325,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the property step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Property (Cardinality cardinality, object key, object value, params object[] keyValues) + public GraphTraversal< S , E > Property (object key, object value, params object[] keyValues) { - var args = new List<object> { cardinality, key, value, keyValues }; + var args = new List<object> { key, value, keyValues }; Bytecode.AddStep("property", args); return Wrap< S , E >(this); } @@ -1375,29 +1375,29 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the sack step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Sack<E2> () + public GraphTraversal< S , E > Sack (object sackOperator, string elementPropertyKey) { - var args = new List<object> { }; + var args = new List<object> { sackOperator, elementPropertyKey }; Bytecode.AddStep("sack", args); - return Wrap< S , E2 >(this); + return Wrap< S , E >(this); } /// <summary> /// Adds the sack step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Sack (object sackOperator) + public GraphTraversal< S , E2 > Sack<E2> () { - var args = new List<object> { sackOperator }; + var args = new List<object> { }; Bytecode.AddStep("sack", args); - return Wrap< S , E >(this); + return Wrap< S , E2 >(this); } /// <summary> /// Adds the sack step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Sack (object sackOperator, string elementPropertyKey) + public GraphTraversal< S , E > Sack (object sackOperator) { - var args = new List<object> { sackOperator, elementPropertyKey }; + var args = new List<object> { sackOperator }; Bytecode.AddStep("sack", args); return Wrap< S , E >(this); } @@ -1405,9 +1405,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the sample step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Sample (int amountToSample) + public GraphTraversal< S , E > Sample (Scope scope, int amountToSample) { - var args = new List<object> { amountToSample }; + var args = new List<object> { scope, amountToSample }; Bytecode.AddStep("sample", args); return Wrap< S , E >(this); } @@ -1415,9 +1415,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the sample step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Sample (Scope scope, int amountToSample) + public GraphTraversal< S , E > Sample (int amountToSample) { - var args = new List<object> { scope, amountToSample }; + var args = new List<object> { amountToSample }; Bytecode.AddStep("sample", args); return Wrap< S , E >(this); } @@ -1425,9 +1425,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the select step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , IDictionary<string, E2> > Select<E2> (string selectKey1, string selectKey2, params string[] otherSelectKeys) + public GraphTraversal< S , IDictionary<string, E2> > Select<E2> (Pop pop, string selectKey1, string selectKey2, params string[] otherSelectKeys) { - var args = new List<object> { selectKey1, selectKey2, otherSelectKeys }; + var args = new List<object> { pop, selectKey1, selectKey2, otherSelectKeys }; Bytecode.AddStep("select", args); return Wrap< S , IDictionary<string, E2> >(this); } @@ -1435,9 +1435,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the select step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , IDictionary<string, E2> > Select<E2> (Pop pop, string selectKey1, string selectKey2, params string[] otherSelectKeys) + public GraphTraversal< S , IDictionary<string, E2> > Select<E2> (string selectKey1, string selectKey2, params string[] otherSelectKeys) { - var args = new List<object> { pop, selectKey1, selectKey2, otherSelectKeys }; + var args = new List<object> { selectKey1, selectKey2, otherSelectKeys }; Bytecode.AddStep("select", args); return Wrap< S , IDictionary<string, E2> >(this); } @@ -1445,11 +1445,11 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the select step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , ICollection<E2> > Select<E2> (Column column) + public GraphTraversal< S , E2 > Select<E2> (Pop pop, string selectKey) { - var args = new List<object> { column }; + var args = new List<object> { pop, selectKey }; Bytecode.AddStep("select", args); - return Wrap< S , ICollection<E2> >(this); + return Wrap< S , E2 >(this); } /// <summary> @@ -1465,19 +1465,19 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the select step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Select<E2> (Pop pop, string selectKey) + public GraphTraversal< S , ICollection<E2> > Select<E2> (Column column) { - var args = new List<object> { pop, selectKey }; + var args = new List<object> { column }; Bytecode.AddStep("select", args); - return Wrap< S , E2 >(this); + return Wrap< S , ICollection<E2> >(this); } /// <summary> /// Adds the sideEffect step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > SideEffect (ITraversal sideEffectTraversal) + public GraphTraversal< S , E > SideEffect (object consumer) { - var args = new List<object> { sideEffectTraversal }; + var args = new List<object> { consumer }; Bytecode.AddStep("sideEffect", args); return Wrap< S , E >(this); } @@ -1485,9 +1485,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the sideEffect step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > SideEffect (object consumer) + public GraphTraversal< S , E > SideEffect (ITraversal sideEffectTraversal) { - var args = new List<object> { consumer }; + var args = new List<object> { sideEffectTraversal }; Bytecode.AddStep("sideEffect", args); return Wrap< S , E >(this); } @@ -1555,11 +1555,11 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the tail step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Tail<E2> (Scope scope) + public GraphTraversal< S , E > Tail () { - var args = new List<object> { scope }; + var args = new List<object> { }; Bytecode.AddStep("tail", args); - return Wrap< S , E2 >(this); + return Wrap< S , E >(this); } /// <summary> @@ -1575,11 +1575,11 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the tail step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Tail () + public GraphTraversal< S , E2 > Tail<E2> (Scope scope) { - var args = new List<object> { }; + var args = new List<object> { scope }; Bytecode.AddStep("tail", args); - return Wrap< S , E >(this); + return Wrap< S , E2 >(this); } /// <summary> @@ -1615,9 +1615,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the to step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > To (ITraversal toVertex) + public GraphTraversal< S , E > To (string toStepLabel) { - var args = new List<object> { toVertex }; + var args = new List<object> { toStepLabel }; Bytecode.AddStep("to", args); return Wrap< S , E >(this); } @@ -1625,9 +1625,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the to step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > To (string toStepLabel) + public GraphTraversal< S , E > To (ITraversal toVertex) { - var args = new List<object> { toStepLabel }; + var args = new List<object> { toVertex }; Bytecode.AddStep("to", args); return Wrap< S , E >(this); } @@ -1655,21 +1655,21 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the tree step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E2 > Tree<E2> () + public GraphTraversal< S , E > Tree (string sideEffectKey) { - var args = new List<object> { }; + var args = new List<object> { sideEffectKey }; Bytecode.AddStep("tree", args); - return Wrap< S , E2 >(this); + return Wrap< S , E >(this); } /// <summary> /// Adds the tree step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Tree (string sideEffectKey) + public GraphTraversal< S , E2 > Tree<E2> () { - var args = new List<object> { sideEffectKey }; + var args = new List<object> { }; Bytecode.AddStep("tree", args); - return Wrap< S , E >(this); + return Wrap< S , E2 >(this); } /// <summary> @@ -1695,9 +1695,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the until step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Until (ITraversal untilTraversal) + public GraphTraversal< S , E > Until (TraversalPredicate untilPredicate) { - var args = new List<object> { untilTraversal }; + var args = new List<object> { untilPredicate }; Bytecode.AddStep("until", args); return Wrap< S , E >(this); } @@ -1705,9 +1705,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the until step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Until (TraversalPredicate untilPredicate) + public GraphTraversal< S , E > Until (ITraversal untilTraversal) { - var args = new List<object> { untilPredicate }; + var args = new List<object> { untilTraversal }; Bytecode.AddStep("until", args); return Wrap< S , E >(this); } @@ -1755,9 +1755,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the where step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Where (TraversalPredicate predicate) + public GraphTraversal< S , E > Where (ITraversal whereTraversal) { - var args = new List<object> { predicate }; + var args = new List<object> { whereTraversal }; Bytecode.AddStep("where", args); return Wrap< S , E >(this); } @@ -1765,9 +1765,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the where step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Where (string startKey, TraversalPredicate predicate) + public GraphTraversal< S , E > Where (TraversalPredicate predicate) { - var args = new List<object> { startKey, predicate }; + var args = new List<object> { predicate }; Bytecode.AddStep("where", args); return Wrap< S , E >(this); } @@ -1775,9 +1775,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Adds the where step to this <see cref="GraphTraversal{SType, EType}" />. /// </summary> - public GraphTraversal< S , E > Where (ITraversal whereTraversal) + public GraphTraversal< S , E > Where (string startKey, TraversalPredicate predicate) { - var args = new List<object> { whereTraversal }; + var args = new List<object> { startKey, predicate }; Bytecode.AddStep("where", args); return Wrap< S , E >(this); } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b07237/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs index 5770c47..df1fbee 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/GraphTraversalSource.cs @@ -99,29 +99,29 @@ namespace Gremlin.Net.Process.Traversal return source; } - public GraphTraversalSource WithSack(object initialValue, object splitOperator, object mergeOperator) + public GraphTraversalSource WithSack(object initialValue) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { initialValue, splitOperator, mergeOperator }; + var args = new List<object> { initialValue }; source.Bytecode.AddSource("withSack", args); return source; } - public GraphTraversalSource WithSack(object initialValue) + public GraphTraversalSource WithSack(object initialValue, object mergeOperator) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { initialValue }; + var args = new List<object> { initialValue, mergeOperator }; source.Bytecode.AddSource("withSack", args); return source; } - public GraphTraversalSource WithSack(object initialValue) + public GraphTraversalSource WithSack(object initialValue, object mergeOperator) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { initialValue }; + var args = new List<object> { initialValue, mergeOperator }; source.Bytecode.AddSource("withSack", args); return source; } @@ -135,38 +135,38 @@ namespace Gremlin.Net.Process.Traversal return source; } - public GraphTraversalSource WithSack(object initialValue, object mergeOperator) + public GraphTraversalSource WithSack(object initialValue, object splitOperator) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { initialValue, mergeOperator }; + var args = new List<object> { initialValue, splitOperator }; source.Bytecode.AddSource("withSack", args); return source; } - public GraphTraversalSource WithSack(object initialValue, object mergeOperator) + public GraphTraversalSource WithSack(object initialValue) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { initialValue, mergeOperator }; + var args = new List<object> { initialValue }; source.Bytecode.AddSource("withSack", args); return source; } - public GraphTraversalSource WithSack(object initialValue, object splitOperator) + public GraphTraversalSource WithSack(object initialValue, object splitOperator, object mergeOperator) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { initialValue, splitOperator }; + var args = new List<object> { initialValue, splitOperator, mergeOperator }; source.Bytecode.AddSource("withSack", args); return source; } - public GraphTraversalSource WithSideEffect(string key, object initialValue) + public GraphTraversalSource WithSideEffect(string key, object initialValue, object reducer) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { key, initialValue }; + var args = new List<object> { key, initialValue, reducer }; source.Bytecode.AddSource("withSideEffect", args); return source; } @@ -180,11 +180,11 @@ namespace Gremlin.Net.Process.Traversal return source; } - public GraphTraversalSource WithSideEffect(string key, object initialValue, object reducer) + public GraphTraversalSource WithSideEffect(string key, object initialValue) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); - var args = new List<object> { key, initialValue, reducer }; + var args = new List<object> { key, initialValue }; source.Bytecode.AddSource("withSideEffect", args); return source; } @@ -207,7 +207,7 @@ namespace Gremlin.Net.Process.Traversal return source; } - public GraphTraversalSource WithoutStrategies(params Class[] traversalStrategyClasses) + public GraphTraversalSource WithoutStrategies(params Type[] traversalStrategyClasses) { var source = new GraphTraversalSource(new List<ITraversalStrategy>(TraversalStrategies), new Bytecode(Bytecode)); @@ -279,10 +279,10 @@ namespace Gremlin.Net.Process.Traversal /// Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the addV step to that /// traversal. /// </summary> - public GraphTraversal< Vertex,Vertex > AddV() + public GraphTraversal< Vertex,Vertex > AddV(string label) { var traversal = new GraphTraversal< Vertex,Vertex >(TraversalStrategies, new Bytecode(Bytecode)); - var args = new List<object> { }; + var args = new List<object> { label }; traversal.Bytecode.AddStep("addV", args); return traversal; } @@ -291,10 +291,10 @@ namespace Gremlin.Net.Process.Traversal /// Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the addV step to that /// traversal. /// </summary> - public GraphTraversal< Vertex,Vertex > AddV(params object[] keyValues) + public GraphTraversal< Vertex,Vertex > AddV() { var traversal = new GraphTraversal< Vertex,Vertex >(TraversalStrategies, new Bytecode(Bytecode)); - var args = new List<object> { keyValues }; + var args = new List<object> { }; traversal.Bytecode.AddStep("addV", args); return traversal; } @@ -303,10 +303,10 @@ namespace Gremlin.Net.Process.Traversal /// Spawns a <see cref="GraphTraversal{SType, EType}" /> off this graph traversal source and adds the addV step to that /// traversal. /// </summary> - public GraphTraversal< Vertex,Vertex > AddV(string label) + public GraphTraversal< Vertex,Vertex > AddV(params object[] keyValues) { var traversal = new GraphTraversal< Vertex,Vertex >(TraversalStrategies, new Bytecode(Bytecode)); - var args = new List<object> { label }; + var args = new List<object> { keyValues }; traversal.Bytecode.AddStep("addV", args); return traversal; } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b07237/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs index b359898..0baef77 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs @@ -83,9 +83,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the addV step to that traversal. /// </summary> - public static GraphTraversal<object, Vertex> AddV(params object[] propertyKeyValues) + public static GraphTraversal<object, Vertex> AddV(string vertexLabel) { - return new GraphTraversal<object, Vertex>().AddV(propertyKeyValues); + return new GraphTraversal<object, Vertex>().AddV(vertexLabel); } /// <summary> @@ -99,9 +99,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the addV step to that traversal. /// </summary> - public static GraphTraversal<object, Vertex> AddV(string vertexLabel) + public static GraphTraversal<object, Vertex> AddV(params object[] propertyKeyValues) { - return new GraphTraversal<object, Vertex>().AddV(vertexLabel); + return new GraphTraversal<object, Vertex>().AddV(propertyKeyValues); } /// <summary> @@ -179,17 +179,17 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the branch step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Branch<E2>(ITraversal traversalFunction) + public static GraphTraversal<object, E2> Branch<E2>(object function) { - return new GraphTraversal<object, E2>().Branch<E2>(traversalFunction); + return new GraphTraversal<object, E2>().Branch<E2>(function); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the branch step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Branch<E2>(object function) + public static GraphTraversal<object, E2> Branch<E2>(ITraversal traversalFunction) { - return new GraphTraversal<object, E2>().Branch<E2>(function); + return new GraphTraversal<object, E2>().Branch<E2>(traversalFunction); } /// <summary> @@ -203,49 +203,49 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the choose step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Choose<E2>(TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) + public static GraphTraversal<object, E2> Choose<E2>(TraversalPredicate choosePredicate, ITraversal trueChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice, falseChoice); + return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the choose step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalPredicate, ITraversal trueChoice) + public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice); + return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice, falseChoice); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the choose step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Choose<E2>(object choiceFunction) + public static GraphTraversal<object, E2> Choose<E2>(TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(choiceFunction); + return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice, falseChoice); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the choose step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Choose<E2>(TraversalPredicate choosePredicate, ITraversal trueChoice) + public static GraphTraversal<object, E2> Choose<E2>(object choiceFunction) { - return new GraphTraversal<object, E2>().Choose<E2>(choosePredicate, trueChoice); + return new GraphTraversal<object, E2>().Choose<E2>(choiceFunction); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the choose step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) + public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalFunction) { - return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice, falseChoice); + return new GraphTraversal<object, E2>().Choose<E2>(traversalFunction); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the choose step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalFunction) + public static GraphTraversal<object, E2> Choose<E2>(ITraversal traversalPredicate, ITraversal trueChoice) { - return new GraphTraversal<object, E2>().Choose<E2>(traversalFunction); + return new GraphTraversal<object, E2>().Choose<E2>(traversalPredicate, trueChoice); } /// <summary> @@ -299,17 +299,17 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the dedup step to that traversal. /// </summary> - public static GraphTraversal<object, object> Dedup(params string[] dedupLabels) + public static GraphTraversal<object, object> Dedup(Scope scope, params string[] dedupLabels) { - return new GraphTraversal<object, object>().Dedup(dedupLabels); + return new GraphTraversal<object, object>().Dedup(scope, dedupLabels); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the dedup step to that traversal. /// </summary> - public static GraphTraversal<object, object> Dedup(Scope scope, params string[] dedupLabels) + public static GraphTraversal<object, object> Dedup(params string[] dedupLabels) { - return new GraphTraversal<object, object>().Dedup(scope, dedupLabels); + return new GraphTraversal<object, object>().Dedup(dedupLabels); } /// <summary> @@ -323,9 +323,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the emit step to that traversal. /// </summary> - public static GraphTraversal<object, object> Emit(TraversalPredicate emitPredicate) + public static GraphTraversal<object, object> Emit(ITraversal emitTraversal) { - return new GraphTraversal<object, object>().Emit(emitPredicate); + return new GraphTraversal<object, object>().Emit(emitTraversal); } /// <summary> @@ -339,9 +339,9 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the emit step to that traversal. /// </summary> - public static GraphTraversal<object, object> Emit(ITraversal emitTraversal) + public static GraphTraversal<object, object> Emit(TraversalPredicate emitPredicate) { - return new GraphTraversal<object, object>().Emit(emitTraversal); + return new GraphTraversal<object, object>().Emit(emitPredicate); } /// <summary> @@ -379,17 +379,17 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the fold step to that traversal. /// </summary> - public static GraphTraversal<object, IList<E2>> Fold<E2>() + public static GraphTraversal<object, E2> Fold<E2>(object seed, object foldFunction) { - return new GraphTraversal<object, E2>().Fold(); + return new GraphTraversal<object, E2>().Fold<E2>(seed, foldFunction); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the fold step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Fold<E2>(object seed, object foldFunction) + public static GraphTraversal<object, IList<E2>> Fold<E2>() { - return new GraphTraversal<object, E2>().Fold<E2>(seed, foldFunction); + return new GraphTraversal<object, E2>().Fold(); } /// <summary> @@ -427,25 +427,25 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the groupV3d0 step to that traversal. /// </summary> - public static GraphTraversal<object, object> GroupV3d0(string sideEffectKey) + public static GraphTraversal<object, IDictionary<K, V>> GroupV3d0<K, V>() { - return new GraphTraversal<object, object>().GroupV3d0(sideEffectKey); + return new GraphTraversal<object, IDictionary<K, V>>().GroupV3d0<K, V>(); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the groupV3d0 step to that traversal. /// </summary> - public static GraphTraversal<object, IDictionary<K, V>> GroupV3d0<K, V>() + public static GraphTraversal<object, object> GroupV3d0(string sideEffectKey) { - return new GraphTraversal<object, IDictionary<K, V>>().GroupV3d0<K, V>(); + return new GraphTraversal<object, object>().GroupV3d0(sideEffectKey); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(string propertyKey) + public static GraphTraversal<object, object> Has(string propertyKey, object value) { - return new GraphTraversal<object, object>().Has(propertyKey); + return new GraphTraversal<object, object>().Has(propertyKey, value); } /// <summary> @@ -459,105 +459,105 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(T accessor, ITraversal propertyTraversal) + public static GraphTraversal<object, object> Has(T accessor, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Has(accessor, propertyTraversal); + return new GraphTraversal<object, object>().Has(accessor, predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(string label, string propertyKey, object value) + public static GraphTraversal<object, object> Has(string label, string propertyKey, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Has(label, propertyKey, value); + return new GraphTraversal<object, object>().Has(label, propertyKey, predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(T accessor, object value) + public static GraphTraversal<object, object> Has(string label, string propertyKey, object value) { - return new GraphTraversal<object, object>().Has(accessor, value); + return new GraphTraversal<object, object>().Has(label, propertyKey, value); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(T accessor, TraversalPredicate predicate) + public static GraphTraversal<object, object> Has(string propertyKey, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Has(accessor, predicate); + return new GraphTraversal<object, object>().Has(propertyKey, predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(string label, string propertyKey, TraversalPredicate predicate) + public static GraphTraversal<object, object> Has(T accessor, object value) { - return new GraphTraversal<object, object>().Has(label, propertyKey, predicate); + return new GraphTraversal<object, object>().Has(accessor, value); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(string propertyKey, TraversalPredicate predicate) + public static GraphTraversal<object, object> Has(T accessor, ITraversal propertyTraversal) { - return new GraphTraversal<object, object>().Has(propertyKey, predicate); + return new GraphTraversal<object, object>().Has(accessor, propertyTraversal); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the has step to that traversal. /// </summary> - public static GraphTraversal<object, object> Has(string propertyKey, object value) + public static GraphTraversal<object, object> Has(string propertyKey) { - return new GraphTraversal<object, object>().Has(propertyKey, value); + return new GraphTraversal<object, object>().Has(propertyKey); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasId step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasId(object id, params object[] otherIds) + public static GraphTraversal<object, object> HasId(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasId(id, otherIds); + return new GraphTraversal<object, object>().HasId(predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasId step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasId(TraversalPredicate predicate) + public static GraphTraversal<object, object> HasId(object id, params object[] otherIds) { - return new GraphTraversal<object, object>().HasId(predicate); + return new GraphTraversal<object, object>().HasId(id, otherIds); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasKey step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasKey(TraversalPredicate predicate) + public static GraphTraversal<object, object> HasKey(string label, params string[] otherLabels) { - return new GraphTraversal<object, object>().HasKey(predicate); + return new GraphTraversal<object, object>().HasKey(label, otherLabels); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasKey step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasKey(string label, params string[] otherLabels) + public static GraphTraversal<object, object> HasKey(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasKey(label, otherLabels); + return new GraphTraversal<object, object>().HasKey(predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasLabel step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasLabel(string label, params string[] otherLabels) + public static GraphTraversal<object, object> HasLabel(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasLabel(label, otherLabels); + return new GraphTraversal<object, object>().HasLabel(predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasLabel step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasLabel(TraversalPredicate predicate) + public static GraphTraversal<object, object> HasLabel(string label, params string[] otherLabels) { - return new GraphTraversal<object, object>().HasLabel(predicate); + return new GraphTraversal<object, object>().HasLabel(label, otherLabels); } /// <summary> @@ -571,17 +571,17 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasValue step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasValue(object value, params object[] values) + public static GraphTraversal<object, object> HasValue(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().HasValue(value, values); + return new GraphTraversal<object, object>().HasValue(predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the hasValue step to that traversal. /// </summary> - public static GraphTraversal<object, object> HasValue(TraversalPredicate predicate) + public static GraphTraversal<object, object> HasValue(object value, params object[] values) { - return new GraphTraversal<object, object>().HasValue(predicate); + return new GraphTraversal<object, object>().HasValue(value, values); } /// <summary> @@ -755,17 +755,17 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the mean step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Mean<E2>() + public static GraphTraversal<object, E2> Mean<E2>(Scope scope) { - return new GraphTraversal<object, E2>().Mean<E2>(); + return new GraphTraversal<object, E2>().Mean<E2>(scope); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the mean step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Mean<E2>(Scope scope) + public static GraphTraversal<object, E2> Mean<E2>() { - return new GraphTraversal<object, E2>().Mean<E2>(scope); + return new GraphTraversal<object, E2>().Mean<E2>(); } /// <summary> @@ -931,14 +931,6 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sack step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Sack<E2>() - { - return new GraphTraversal<object, E2>().Sack<E2>(); - } - - /// <summary> - /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sack step to that traversal. - /// </summary> public static GraphTraversal<object, object> Sack(object sackOperator) { return new GraphTraversal<object, object>().Sack(sackOperator); @@ -953,11 +945,11 @@ namespace Gremlin.Net.Process.Traversal } /// <summary> - /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sample step to that traversal. + /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sack step to that traversal. /// </summary> - public static GraphTraversal<object, object> Sample(Scope scope, int amountToSample) + public static GraphTraversal<object, E2> Sack<E2>() { - return new GraphTraversal<object, object>().Sample(scope, amountToSample); + return new GraphTraversal<object, E2>().Sack<E2>(); } /// <summary> @@ -969,11 +961,11 @@ namespace Gremlin.Net.Process.Traversal } /// <summary> - /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the select step to that traversal. + /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sample step to that traversal. /// </summary> - public static GraphTraversal<object, E2> Select<E2>(string selectKey) + public static GraphTraversal<object, object> Sample(Scope scope, int amountToSample) { - return new GraphTraversal<object, E2>().Select<E2>(selectKey); + return new GraphTraversal<object, object>().Sample(scope, amountToSample); } /// <summary> @@ -987,6 +979,14 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the select step to that traversal. /// </summary> + public static GraphTraversal<object, ICollection<E2>> Select<E2>(Column column) + { + return new GraphTraversal<object, ICollection<E2>>().Select<E2>(column); + } + + /// <summary> + /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the select step to that traversal. + /// </summary> public static GraphTraversal<object, IDictionary<string, E2>> Select<E2>(Pop pop, string selectKey1, string selectKey2, params string[] otherSelectKeys) { return new GraphTraversal<object, IDictionary<string, E2>>().Select<E2>(pop, selectKey1, selectKey2, otherSelectKeys); @@ -1003,25 +1003,25 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the select step to that traversal. /// </summary> - public static GraphTraversal<object, ICollection<E2>> Select<E2>(Column column) + public static GraphTraversal<object, E2> Select<E2>(string selectKey) { - return new GraphTraversal<object, ICollection<E2>>().Select<E2>(column); + return new GraphTraversal<object, E2>().Select<E2>(selectKey); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sideEffect step to that traversal. /// </summary> - public static GraphTraversal<object, object> SideEffect(object consumer) + public static GraphTraversal<object, object> SideEffect(ITraversal sideEffectTraversal) { - return new GraphTraversal<object, object>().SideEffect(consumer); + return new GraphTraversal<object, object>().SideEffect(sideEffectTraversal); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the sideEffect step to that traversal. /// </summary> - public static GraphTraversal<object, object> SideEffect(ITraversal sideEffectTraversal) + public static GraphTraversal<object, object> SideEffect(object consumer) { - return new GraphTraversal<object, object>().SideEffect(sideEffectTraversal); + return new GraphTraversal<object, object>().SideEffect(consumer); } /// <summary> @@ -1171,17 +1171,17 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the until step to that traversal. /// </summary> - public static GraphTraversal<object, object> Until(TraversalPredicate untilPredicate) + public static GraphTraversal<object, object> Until(ITraversal untilTraversal) { - return new GraphTraversal<object, object>().Until(untilPredicate); + return new GraphTraversal<object, object>().Until(untilTraversal); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the until step to that traversal. /// </summary> - public static GraphTraversal<object, object> Until(ITraversal untilTraversal) + public static GraphTraversal<object, object> Until(TraversalPredicate untilPredicate) { - return new GraphTraversal<object, object>().Until(untilTraversal); + return new GraphTraversal<object, object>().Until(untilPredicate); } /// <summary> @@ -1219,25 +1219,25 @@ namespace Gremlin.Net.Process.Traversal /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the where step to that traversal. /// </summary> - public static GraphTraversal<object, object> Where(ITraversal whereTraversal) + public static GraphTraversal<object, object> Where(string startKey, TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Where(whereTraversal); + return new GraphTraversal<object, object>().Where(startKey, predicate); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the where step to that traversal. /// </summary> - public static GraphTraversal<object, object> Where(TraversalPredicate predicate) + public static GraphTraversal<object, object> Where(ITraversal whereTraversal) { - return new GraphTraversal<object, object>().Where(predicate); + return new GraphTraversal<object, object>().Where(whereTraversal); } /// <summary> /// Spawns a <see cref="GraphTraversal{SType, EType}" /> and adds the where step to that traversal. /// </summary> - public static GraphTraversal<object, object> Where(string startKey, TraversalPredicate predicate) + public static GraphTraversal<object, object> Where(TraversalPredicate predicate) { - return new GraphTraversal<object, object>().Where(startKey, predicate); + return new GraphTraversal<object, object>().Where(predicate); } } http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/26b07237/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs index ba01526..4eec0fa 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Process/Traversal/BytecodeGeneration/StrategiesTests.cs @@ -40,7 +40,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration var graph = new Graph(); var g = graph.Traversal().WithStrategies(new ReadOnlyStrategy(), new IncidentToAdjacentStrategy()); - var bytecode = g.WithoutStrategies(new ReadOnlyStrategy()).Bytecode; + var bytecode = g.WithoutStrategies(typeof(ReadOnlyStrategy)).Bytecode; Assert.Equal(2, bytecode.SourceInstructions.Count); Assert.Equal("withStrategies", bytecode.SourceInstructions[0].OperatorName); @@ -59,13 +59,13 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration var graph = new Graph(); var g = graph.Traversal(); - var bytecode = g.WithoutStrategies(new ReadOnlyStrategy(), new LazyBarrierStrategy()).Bytecode; + var bytecode = g.WithoutStrategies(typeof(ReadOnlyStrategy), typeof(LazyBarrierStrategy)).Bytecode; Assert.Equal(1, bytecode.SourceInstructions.Count); Assert.Equal(2, bytecode.SourceInstructions[0].Arguments.Length); Assert.Equal("withoutStrategies", bytecode.SourceInstructions[0].OperatorName); - Assert.Equal(new ReadOnlyStrategy(), bytecode.SourceInstructions[0].Arguments[0]); - Assert.Equal(new LazyBarrierStrategy(), bytecode.SourceInstructions[0].Arguments[1]); + Assert.Equal(typeof(ReadOnlyStrategy), bytecode.SourceInstructions[0].Arguments[0]); + Assert.Equal(typeof(LazyBarrierStrategy), bytecode.SourceInstructions[0].Arguments[1]); } [Fact] @@ -74,7 +74,7 @@ namespace Gremlin.Net.IntegrationTest.Process.Traversal.BytecodeGeneration var graph = new Graph(); var g = graph.Traversal(); - var bytecode = g.WithoutStrategies(new ReadOnlyStrategy()).Bytecode; + var bytecode = g.WithoutStrategies(typeof(ReadOnlyStrategy)).Bytecode; Assert.Equal(1, bytecode.SourceInstructions.Count); Assert.Equal(1, bytecode.SourceInstructions[0].Arguments.Length);
