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 CypherQueryBuilderServicGetPropertyValueReturnsExceptionForNullItem() { //arrange var item = new GraphPredictedYearModel(); var propertyInfo = item.GetType().GetProperty(nameof(GraphPredictedYearModel.Soc)); //act var exceptionResult = Assert.Throws <ArgumentNullException>(() => cypherQueryBuilderService.GetPropertyValue(null, propertyInfo)); //assert Assert.Equal("Value cannot be null. (Parameter 'item')", exceptionResult.Message); }
public void CypherQueryBuilderServiceGetPropertyValueReturnsSuccess(int soc, string createdDate, string employment, string measure, string fieldName, string expectedResult) { //arrange var item = new GraphPredictedYearModel { Soc = soc, CreatedDate = DateTime.Parse(createdDate, CultureInfo.InvariantCulture), Employment = decimal.Parse(employment, CultureInfo.InvariantCulture), Measure = measure, }; var propertyInfo = item.GetType().GetProperty(fieldName); //act var result = cypherQueryBuilderService.GetPropertyValue(item, propertyInfo); //assert Assert.Equal(expectedResult, result); }
public void CypherQueryBuilderServiceBuildSetPropertiesReturnsSuccess() { //arrange const string nodeAlias = "n"; const string nodeName = "NodeName"; const int soc = 3231; const int year = 2021; var item = new GraphPredictedYearModel { Soc = soc, Year = year, Measure = "a measure", Employment = new decimal(1234.5678), }; var expectedResult = $"{nodeAlias}.uri = '{HttpContentApi}{nodeName.ToLowerInvariant()}/{item.ItemId.ToString().ToLowerInvariant()}',{nodeAlias}.Measure = '{item.Measure}',{nodeAlias}.skos__prefLabel = {item.Year},{nodeAlias}.Employment = {item.Employment},{nodeAlias}.CreatedDate = datetime('{item.CreatedDate:O}')"; //act var result = cypherQueryBuilderService.BuildSetProperties(nodeAlias, nodeName, item); //assert Assert.Equal(expectedResult, result); }