Skip to content

Commit 104b747

Browse files
committed
Fix parameterization for generated estimate calls
1 parent 3597013 commit 104b747

File tree

7 files changed

+29
-8
lines changed

7 files changed

+29
-8
lines changed

examples/pregel-example/src/test/java/org/neo4j/gds/beta/pregel/cc/ConnectedComponentsPregelProcTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ void streamEstimate() {
135135
runQueryWithRowConsumer(query, r -> {
136136
assertEquals(10, r.getNumber("nodeCount").longValue());
137137
assertEquals(9, r.getNumber("relationshipCount").longValue());
138-
assertEquals(296_232, r.getNumber("bytesMin").longValue());
139-
assertEquals(296_232, r.getNumber("bytesMax").longValue());
138+
assertEquals(299_912, r.getNumber("bytesMin").longValue());
139+
assertEquals(299_912, r.getNumber("bytesMax").longValue());
140140
});
141141
}
142142

examples/pregel-example/src/test/java/org/neo4j/gds/beta/pregel/pr/PageRankPregelProcTest.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,16 @@
2121

2222
import org.junit.jupiter.api.BeforeEach;
2323
import org.junit.jupiter.api.Test;
24-
import org.neo4j.gds.catalog.GraphCreateProc;
2524
import org.neo4j.gds.BaseProcTest;
2625
import org.neo4j.gds.GdsCypher;
26+
import org.neo4j.gds.catalog.GraphCreateProc;
2727
import org.neo4j.gds.extension.Neo4jGraph;
2828

2929
import java.util.List;
3030
import java.util.Map;
3131

3232
import static org.hamcrest.Matchers.closeTo;
33+
import static org.junit.jupiter.api.Assertions.assertEquals;
3334
import static org.neo4j.gds.beta.pregel.pr.PageRankPregel.PAGE_RANK;
3435

3536
class PageRankPregelProcTest extends BaseProcTest {
@@ -101,6 +102,23 @@ void stream() {
101102
assertCypherResult(query + " RETURN nodeId, values.pagerank AS score", expected);
102103
}
103104

105+
@Test
106+
void streamEstimate() {
107+
var query = GdsCypher.call()
108+
.loadEverything()
109+
.algo("example", "pregel", "pr")
110+
.streamEstimation()
111+
.addParameter("maxIterations", 10)
112+
.yields("bytesMin", "bytesMax", "nodeCount", "relationshipCount");
113+
114+
runQueryWithRowConsumer(query, r -> {
115+
assertEquals(11, r.getNumber("nodeCount").longValue());
116+
assertEquals(17, r.getNumber("relationshipCount").longValue());
117+
assertEquals(296_280, r.getNumber("bytesMin").longValue());
118+
assertEquals(296_280, r.getNumber("bytesMax").longValue());
119+
});
120+
}
121+
104122
@Test
105123
void streamSeeded() {
106124
var createGraphQuery = GdsCypher.call()

pregel-proc-generator/src/main/java/org/neo4j/gds/beta/pregel/ProcedureGenerator.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,10 @@ private MethodSpec algorithmFactoryMethod(ClassName algorithmClassName) {
222222
.returns(MemoryEstimation.class)
223223
.addParameter(pregelSpec.configTypeName(), "configuration")
224224
.addStatement("var computation = new $T()", computationClassName(pregelSpec, ""))
225-
.addStatement("return $T.memoryEstimation(computation.schema(configuration), computation.reducer().isPresent(), configuration.isAsynchronous())", Pregel.class)
225+
.addStatement(
226+
"return $T.memoryEstimation(computation.schema(configuration), computation.reducer().isEmpty(), configuration.isAsynchronous())",
227+
Pregel.class
228+
)
226229
.build()
227230
)
228231
.build();

pregel-proc-generator/src/test/resources/expected/ComputationMutateProc.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public Task progressTask(Graph graph, PregelProcedureConfig configuration) {
103103
@Override
104104
public MemoryEstimation memoryEstimation(PregelProcedureConfig configuration) {
105105
var computation = new Computation();
106-
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isPresent(), configuration.isAsynchronous());
106+
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isEmpty(), configuration.isAsynchronous());
107107
}
108108
};
109109
}

pregel-proc-generator/src/test/resources/expected/ComputationStatsProc.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public Task progressTask(Graph graph, PregelProcedureConfig configuration) {
103103
@Override
104104
public MemoryEstimation memoryEstimation(PregelProcedureConfig configuration) {
105105
var computation = new Computation();
106-
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isPresent(), configuration.isAsynchronous());
106+
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isEmpty(), configuration.isAsynchronous());
107107
}
108108
};
109109
}

pregel-proc-generator/src/test/resources/expected/ComputationStreamProc.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public Task progressTask(Graph graph, PregelProcedureConfig configuration) {
9999
@Override
100100
public MemoryEstimation memoryEstimation(PregelProcedureConfig configuration) {
101101
var computation = new Computation();
102-
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isPresent(), configuration.isAsynchronous());
102+
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isEmpty(), configuration.isAsynchronous());
103103
}
104104
};
105105
}

pregel-proc-generator/src/test/resources/expected/ComputationWriteProc.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public Task progressTask(Graph graph, PregelProcedureConfig configuration) {
103103
@Override
104104
public MemoryEstimation memoryEstimation(PregelProcedureConfig configuration) {
105105
var computation = new Computation();
106-
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isPresent(), configuration.isAsynchronous());
106+
return Pregel.memoryEstimation(computation.schema(configuration), computation.reducer().isEmpty(), configuration.isAsynchronous());
107107
}
108108
};
109109
}

0 commit comments

Comments
 (0)