Skip to content

Commit de69b44

Browse files
committed
Merge inverse topology and property test
1 parent 4199dff commit de69b44

File tree

1 file changed

+9
-43
lines changed

1 file changed

+9
-43
lines changed

core/src/test/java/org/neo4j/gds/core/loading/ScanningRelationshipsImporterTest.java

Lines changed: 9 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ void shouldLoadInverseRelationships() {
7878
RelationshipProjection.builder()
7979
.type("R")
8080
.indexInverse(true)
81+
.properties(PropertyMappings.of(PropertyMapping.of("p")))
8182
.build()
8283
))
8384
.build();
@@ -97,8 +98,16 @@ void shouldLoadInverseRelationships() {
9798

9899
var singleTypeRelationshipImportResult = relationshipsAndProperties.importResults().get(relationshipType);
99100
assertThat(singleTypeRelationshipImportResult.inverseTopology()).isPresent();
101+
assertThat(singleTypeRelationshipImportResult.inverseProperties()).isPresent();
102+
100103
var adjacencyList = singleTypeRelationshipImportResult.inverseTopology().get().adjacencyList();
104+
var propertyList = singleTypeRelationshipImportResult.inverseProperties().get()
105+
.relationshipProperties()
106+
.get("p")
107+
.values()
108+
.propertiesList();
101109

110+
//@formatter:off
102111
assertThat(degree("a", adjacencyList)).isEqualTo(1); // (c)-->(a)
103112
assertThat(degree("b", adjacencyList)).isEqualTo(1); // (a)-->(b)
104113
assertThat(degree("c", adjacencyList)).isEqualTo(2); // (a)-->(c),(b)-->(c)
@@ -108,50 +117,7 @@ void shouldLoadInverseRelationships() {
108117
assertThat(targets("b", adjacencyList)).isEqualTo(nodeIds("a")); // (a)-->(b)
109118
assertThat(targets("c", adjacencyList)).isEqualTo(nodeIds("a", "b")); // (a)-->(c),(b)-->(c)
110119
assertThat(targets("d", adjacencyList)).isEqualTo(nodeIds("a")); // (a)-->(d)
111-
}
112-
113-
@Test
114-
void shouldLoadInverseRelationshipsWithProperties() {
115-
var relationshipType = RelationshipType.of("R");
116-
var graphProjectConfig = ImmutableGraphProjectFromStoreConfig.builder()
117-
.graphName("testGraph")
118-
.nodeProjections(NodeProjections.ALL)
119-
.relationshipProjections(
120-
RelationshipProjections.single(
121-
relationshipType,
122-
RelationshipProjection.builder()
123-
.type("R")
124-
.indexInverse(true)
125-
.properties(PropertyMappings.of(PropertyMapping.of("p")))
126-
.build()
127-
))
128-
.build();
129120

130-
var graphLoaderContext = graphLoaderContext();
131-
var graphDimensions = graphDimensions(graphProjectConfig, graphLoaderContext);
132-
var importer = new ScanningRelationshipsImporterBuilder()
133-
.idMap(new DirectIdMap(graphDimensions.nodeCount()))
134-
.loadingContext(graphLoaderContext)
135-
.progressTracker(ProgressTracker.NULL_TRACKER)
136-
.dimensions(graphDimensions)
137-
.concurrency(1)
138-
.graphProjectConfig(graphProjectConfig)
139-
.build();
140-
141-
var relationshipsAndProperties = importer.call();
142-
143-
var singleTypeRelationshipImportResult = relationshipsAndProperties.importResults().get(relationshipType);
144-
assertThat(singleTypeRelationshipImportResult.inverseTopology()).isPresent();
145-
assertThat(singleTypeRelationshipImportResult.inverseProperties()).isPresent();
146-
147-
var adjacencyList = singleTypeRelationshipImportResult.inverseTopology().get().adjacencyList();
148-
var propertyList = singleTypeRelationshipImportResult.inverseProperties().get()
149-
.relationshipProperties()
150-
.get("p")
151-
.values()
152-
.propertiesList();
153-
154-
//@formatter:off
155121
assertThat(properties("a", propertyList, adjacencyList::degree)).containsExactly(5.0); // (c)-[5.0]->(a)
156122
assertThat(properties("b", propertyList, adjacencyList::degree)).containsExactly(1.0); // (a)-[1.0]->(b)
157123
assertThat(properties("c", propertyList, adjacencyList::degree)).containsExactly(2.0, 4.0); // (a)-[2.0]->(c),(b)-[4.0]->(c)

0 commit comments

Comments
 (0)