public void CypherQueryBuilderServiceBuildChildRelationshipItemReturnsSuccess() { //arrange const int soc = 3231; const int year = 2021; const string nodeName = "nodeName"; const string relName = "relNme"; var parent = new GraphPredictedModel { Soc = soc }; var child = new GraphPredictedYearModel { Soc = soc, Year = year }; var expectedResults = new List <string> { $"MERGE (a:LmiSocPredictedYear {{Soc: {soc},Year: {year}}}) SET a.uri = '{HttpContentApi}lmisocpredictedyear/{child.ItemId.ToString().ToLowerInvariant()}',a.Measure = '',a.skos__prefLabel = 2021,a.Employment = 0,a.CreatedDate = datetime('{child.CreatedDate:O}')", $"MATCH (p:{nodeName} {{Soc: {soc}}}) MATCH (c:LmiSocPredictedYear {{Soc: {soc},Year: {year}}}) MERGE (p)-[rel:{relName}]->(c)", }; //act var results = cypherQueryBuilderService.BuildChildRelationship(parent, child, nodeName, relName); //assert Assert.Equal(expectedResults, results); }
public void CypherQueryBuilderServiceBuildRelationshipReturnsSuccess() { //arrange const char space = ' '; const int soc = 3231; const int year = 2021; var parent = new GraphPredictedModel { Soc = soc }; var child = new GraphPredictedYearModel { Soc = soc, Year = year }; var sb = new StringBuilder(); sb.Append($"MATCH (p:parent {{Soc: {soc}}})"); sb.Append(space); sb.Append($"MATCH (c:child {{Soc: {soc},Year: {year}}})"); sb.Append(space); sb.Append("MERGE (p)-[rel:relName]->(c)"); var expectedResult = sb.ToString(); //act var result = cypherQueryBuilderService.BuildRelationship("parent", "child", "relName", parent, child); //assert Assert.Equal(expectedResult, result); }
public void CypherQueryBuilderServiceBuildChildRelationshipReturnsSuccess() { //arrange const string nodeName = "nodeName"; const int soc = 3231; const int year = 2021; var item = new GraphPredictedModel { Soc = soc, PredictedEmployment = new List <GraphPredictedYearModel> { new GraphPredictedYearModel { Soc = soc, Year = year, Measure = "a measure", Employment = new decimal(1234.5678), CreatedDate = DateTime.UtcNow, }, }, }; var propertyInfo = item.GetType().GetProperty(nameof(GraphPredictedModel.PredictedEmployment)); var expectedResults = new List <string> { $"MERGE (a:LmiSocPredictedYear {{Soc: {soc},Year: {year}}}) SET a.uri = '{HttpContentApi}lmisocpredictedyear/{item.PredictedEmployment.First().ItemId.ToString().ToLowerInvariant()}',a.Measure = '{item.PredictedEmployment.First().Measure:O}',a.skos__prefLabel = {year},a.Employment = 1234.5678,a.CreatedDate = datetime('{item.PredictedEmployment.First().CreatedDate:O}')", $"MATCH (p:{nodeName} {{Soc: {soc}}}) MATCH (c:LmiSocPredictedYear {{Soc: {soc},Year: {year}}}) MERGE (p)-[rel:PredictedEmployment]->(c)", }; //act var results = cypherQueryBuilderService.BuildChildRelationship(propertyInfo, item, nodeName); //assert Assert.Equal(expectedResults, results); }