public void RejectNonStringParameters()
        {
            GremlinQueryBuilder builder = new GremlinQueryBuilder();

            Assert.Throws <GremlinQueryBuilderException>(() => builder.AddV(new GremlinParameter(42)));
            Assert.Throws <GremlinQueryBuilderException>(() => builder.AddV(new GremlinParameter(false)));
        }
        public void GenerateCorrectSyntaxForStringParametersAndTraversals()
        {
            GremlinQueryBuilder builder = new GremlinQueryBuilder();

            builder.AddV(new GremlinParameter("myparam"));
            builder.AddV(new GremlinQueryBuilder().G().V("someId").Values((GremlinParameter)"label"));

            Assert.Equal("addV('myparam').addV(g.V('someId').values('label'))", builder.Query);
        }
        public void GenerateCorrectSyntaxForParameterlessInvocation()
        {
            GremlinQueryBuilder builder = new GremlinQueryBuilder();

            builder.AddV();

            Assert.Equal("addV()", builder.Query);
        }
        public void SupportArguments()
        {
            GremlinQueryBuilder builder = new GremlinQueryBuilder();

            builder.AddV(new GremlinArgument("argumentName", "argumentValue"));

            Assert.Equal("addV(argumentName)", builder.Query);
            Assert.Single(builder.Arguments);
        }
예제 #5
0
 // for implicit conversion operators
 public static GremlinQueryBuilder AddV(this GremlinQueryBuilder builder, GremlinParameter parameter)
 {
     return(builder.AddV((IGremlinParameter)parameter));
 }
예제 #6
0
 /// <summary>
 /// Create a new graph vertex
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="parameter">Optional vertex label that if supplied must be a string. If not supplied will be an auto generated GUID</param>
 /// <returns></returns>
 /// <exception cref="GremlinQueryBuilderException"></exception>
 public static GremlinQueryBuilder AddV(this GremlinQueryBuilder builder, GremlinParameter parameter)
 {
     // for implicit conversion operators
     return(builder.AddV((IGremlinParameter)parameter));
 }