public void UsesSuppliedParamName_WhenMultipleLabelsAreSpecified() { var model = new MultiLabel { Id = 1 }; var helper = new CypherExtensionTestHelper().SetupGraphClient(); var q = helper.Query.MergeEntity(model, "n"); Assert.AreEqual("MERGE (n:Multi:Label {id:{n}.id})", q.Query.QueryText); }
public void HandlesLabelsWithSpaces() { var model = new MultiLabelWithSpace { Id = 1 }; var helper = new CypherExtensionTestHelper().SetupGraphClient(); var q = helper.Query.MergeEntity(model); Assert.AreEqual("MERGE (multilabelwithspace:Multi:`Space Label` {id:{multilabelwithspace}.id})", q.Query.QueryText); }
public void ToCypherStringMergeTest() { //setup var model = CreateModel(); var helper = new CypherExtensionTestHelper(); //act var result = model.ToCypherString<CypherModel, CypherMergeAttribute>(helper.CypherExtensionContext); var result2 = model.ToCypherString<CypherModel, CypherMergeAttribute>(helper.CypherExtensionContext); //assert Assert.AreEqual("cyphermodel:CypherModel {id:{cyphermodel}.id}", result); Assert.AreEqual(result,result2); }
public void MatchEntityTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); model.id = Guid.Parse("9aa1343f-18a4-41a6-a414-34b7df62c919"); //act var q = helper.Query.MatchEntity(model).Return(cyphermodel => cyphermodel.As<CypherModel>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MATCH (cyphermodel:CypherModel {id:{cyphermodel}.id})\r\nRETURN cyphermodel", q.Query.QueryText); }
public void MatchEntityOverrideTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query .MatchEntity(model, propertyOverride: model.UseProperties(x => x.firstName, x => x.isLegend)) .Return(cyphermodel => cyphermodel.As<CypherModel>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MATCH (cyphermodel:CypherModel {firstName:{cyphermodel}.firstName,isLegend:{cyphermodel}.isLegend})\r\nRETURN cyphermodel", q.Query.QueryText); }
public void MergeRelationshipDownCastTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = (BaseRelationship) new ComponentOf("from", "to"); //act var q = helper.Query.MergeRelationship(model); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (from)-[fromto:COMPONENT_OF {quantity:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.quantity,unitOfMeasure:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.unitOfMeasure,factor:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.factor,instructionText:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.instructionText}]->(to) ON MATCH SET fromto.quantity = 0.0 ON MATCH SET fromto.unitOfMeasure = ""Gram"" ON MATCH SET fromto.factor = 0 ON MATCH SET fromto.instructionText = """"", q.GetFormattedDebugText()); }
public void MergeRelationshipOnMatchOverrideTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = new ComponentOf("from", "to"); //act var q = helper.Query.MergeRelationship(model, onMatchOverride: model.UseProperties(x => x.quantity)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (from)-[fromto:COMPONENT_OF {quantity:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.quantity,unitOfMeasure:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.unitOfMeasure,factor:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.factor,instructionText:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.instructionText}]->(to) ON MATCH SET fromto.quantity = 0.0", q.GetFormattedDebugText().CorrectLineBreak()); }
public void MergeEntityOverrideOnCreateTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model, onCreateOverride: model.UseProperties(x => x.firstName)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (cyphermodel:CypherModel {id:{ id: ""b00b7355-ce53-49f2-a421-deadb655673d"" }.id}) ON MATCH SET cyphermodel.isLegend = false ON MATCH SET cyphermodel.answerToTheMeaningOfLifeAndEverything = 42 ON CREATE SET cyphermodel = { firstName: ""Foo"" }", q.GetFormattedDebugText()); }
public void MergeEntityOverrideMergeTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model, mergeOverride: model.UseProperties(x => x.firstName)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (cyphermodel:CypherModel {firstName:{ firstName: ""Foo"" }.firstName}) ON MATCH SET cyphermodel.isLegend = false ON MATCH SET cyphermodel.answerToTheMeaningOfLifeAndEverything = 42 ON CREATE SET cyphermodel = { firstName: ""Foo"", dateOfBirth: ""1981-04-01T00:00:00+00:00"", isLegend: false, answerToTheMeaningOfLifeAndEverything: 42 }", q.GetFormattedDebugText()); }
public void MatchEntityOverrideTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query .MatchEntity(model, propertyOverride: model.UseProperties(x => x.firstName, x => x.isLegend)) .Return(cyphermodel => cyphermodel.As <CypherModel>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MATCH (cyphermodel:CypherModel {firstName:{ firstName: ""Foo"", isLegend: false }.firstName,isLegend:{ firstName: ""Foo"", isLegend: false }.isLegend}) RETURN cyphermodel", q.GetFormattedDebugText()); }
public void MergeEntityKeyTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model, "key"); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (key:CypherModel {id:{ id: ""b00b7355-ce53-49f2-a421-deadb655673d"" }.id}) ON MATCH SET key.isLegend = false ON MATCH SET key.answerToTheMeaningOfLifeAndEverything = 42 ON CREATE SET key = { firstName: ""Foo"", dateOfBirth: ""1981-04-01T00:00:00+00:00"", isLegend: false, answerToTheMeaningOfLifeAndEverything: 42 }", q.GetFormattedDebugText()); }
public void MergeEntityKeyTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model,"key"); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (key:CypherModel {id:{ id: ""b00b7355-ce53-49f2-a421-deadb655673d"" }.id}) ON MATCH SET key.isLegend = false ON MATCH SET key.answerToTheMeaningOfLifeAndEverything = 42 ON CREATE SET key = { firstName: ""Foo"", dateOfBirth: ""1981-04-01T00:00:00+00:00"", isLegend: false, answerToTheMeaningOfLifeAndEverything: 42 }", q.GetFormattedDebugText()); }
public void MergeEntityOverrideMergeTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model, mergeOverride:model.UseProperties(x => x.firstName)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (cyphermodel:CypherModel {firstName:{ firstName: ""Foo"" }.firstName}) ON MATCH SET cyphermodel.isLegend = false ON MATCH SET cyphermodel.answerToTheMeaningOfLifeAndEverything = 42 ON CREATE SET cyphermodel = { firstName: ""Foo"", dateOfBirth: ""1981-04-01T00:00:00+00:00"", isLegend: false, answerToTheMeaningOfLifeAndEverything: 42 }", q.GetFormattedDebugText()); }
public void MergeRelationshipAllArgsTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = new ComponentOf("from", "to"); //act var q = helper.Query.MergeRelationship(model, new List<CypherProperty>(), new List<CypherProperty>(), new List<CypherProperty>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MERGE (from)-[fromto:COMPONENT_OF {}]->(to)", q.Query.QueryText); }
public void MergeRelationshipOnCreateOverrideTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = new ComponentOf("from", "to"); //act var q = helper.Query.MergeRelationship(model, onCreateOverride: model.UseProperties(x => x.quantity)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MERGE (from)-[fromto:COMPONENT_OF {quantity:{fromto}.quantity,unitOfMeasure:{fromto}.unitOfMeasure,factor:{fromto}.factor,instructionText:{fromto}.instructionText}]->(to)\r\nON MATCH\r\nSET fromto.quantity={fromto}.quantity,fromto.unitOfMeasure={fromto}.unitOfMeasure,fromto.factor={fromto}.factor,fromto.instructionText={fromto}.instructionText\r\nON CREATE\r\nSET fromto.quantity={fromto}.quantity", q.Query.QueryText); }
public void MergeEntityAllArgsTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model,"key", new List<CypherProperty>(),new List<CypherProperty>(), new List<CypherProperty>(), "(a:Node)-->","<--(b:Node)"); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MERGE (a:Node)-->(key:CypherModel {})<--(b:Node)", q.Query.QueryText); }
public void MergeEntityOverrideOnCreateTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model, onCreateOverride: model.UseProperties(x => x.firstName)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MERGE (cyphermodel:CypherModel {id:{cyphermodel}.id})\r\nON MATCH\r\nSET cyphermodel.isLegend={cyphermodel}.isLegend,cyphermodel.answerToTheMeaningOfLifeAndEverything={cyphermodel}.answerToTheMeaningOfLifeAndEverything\r\nON CREATE\r\nSET cyphermodel.firstName={cyphermodel}.firstName", q.Query.QueryText); }
public void MatchEntityKeyTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MatchEntity(model,"key").Return(cyphermodel => cyphermodel.As<CypherModel>()); Console.WriteLine(q.Query.DebugQueryText); //assert Assert.AreEqual(@"MATCH (key:CypherModel {id:{ ""id"": ""b00b7355-ce53-49f2-a421-deadb655673d"" }.id}) RETURN cyphermodel", q.Query.DebugQueryText); }
public void MatchAllTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); //act var result = helper.Query.MatchEntity(new CypherModel(), propertyOverride: new List<CypherProperty>()); //assert Assert.AreEqual("MATCH (cyphermodel:CypherModel {})", result.GetFormattedDebugText()); }
public void MatchEntityPrePostKeyOverrideTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MatchEntity(model, "key", "(a:Node)-->", "<--(b:Node)", new List<CypherProperty>()).Return(cyphermodel => cyphermodel.As<CypherModel>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MATCH (a:Node)-->(key:CypherModel {})<--(b:Node)\r\nRETURN cyphermodel", q.Query.QueryText); }
public void MergeEntityOverrideOnMatchTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model, onMatchOverride: model.UseProperties(x => x.firstName)); Console.WriteLine(q.Query.QueryText); //assert Assert.AreEqual(@"MERGE (cyphermodel:CypherModel {id:{cyphermodelMatchKey}.id}) ON MATCH SET cyphermodel.firstName = {cyphermodelfirstName} ON CREATE SET cyphermodel = {cyphermodelOnCreate}", q.Query.QueryText); }
public void MatchEntityPreTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MatchEntity(model, preCql: "(a:Node)-->").Return(cyphermodel => cyphermodel.As<CypherModel>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MATCH (a:Node)-->(cyphermodel:CypherModel {id:{ id: ""b00b7355-ce53-49f2-a421-deadb655673d"" }.id}) RETURN cyphermodel", q.GetFormattedDebugText()); }
public void MergeEntityKeyTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MergeEntity(model,"key"); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MERGE (key:CypherModel {id:{key}.id})\r\nON MATCH\r\nSET key.isLegend={key}.isLegend,key.answerToTheMeaningOfLifeAndEverything={key}.answerToTheMeaningOfLifeAndEverything\r\nON CREATE\r\nSET key.firstName={key}.firstName,key.dateOfBirth={key}.dateOfBirth,key.isLegend={key}.isLegend,key.answerToTheMeaningOfLifeAndEverything={key}.answerToTheMeaningOfLifeAndEverything", q.Query.QueryText); }
public void MatchEntityKeyTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = CreateModel(); //act var q = helper.Query.MatchEntity(model,"key").Return(cyphermodel => cyphermodel.As<CypherModel>()); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual("MATCH (key:CypherModel {id:{key}.id})\r\nRETURN cyphermodel", q.Query.QueryText); }
public void MergeRelationshipOnMatchOverrideTest() { //setup var helper = new CypherExtensionTestHelper().SetupGraphClient(); var model = new ComponentOf("from", "to"); //act var q = helper.Query.MergeRelationship(model,onMatchOverride:model.UseProperties(x => x.quantity)); Console.WriteLine(q.GetFormattedDebugText()); //assert Assert.AreEqual(@"MERGE (from)-[fromto:COMPONENT_OF {quantity:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.quantity,unitOfMeasure:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.unitOfMeasure,factor:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.factor,instructionText:{ quantity: 0.0, unitOfMeasure: ""Gram"", factor: 0, instructionText: """" }.instructionText}]->(to) ON MATCH SET fromto.quantity = 0.0", q.GetFormattedDebugText()); }