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); }
// for implicit conversion operators public static GremlinQueryBuilder AddV(this GremlinQueryBuilder builder, GremlinParameter parameter) { return(builder.AddV((IGremlinParameter)parameter)); }
/// <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)); }