### Question:
BetweennessCentralityStatsProc extends StatsProc<BetweennessCentrality, HugeAtomicDoubleArray, BetweennessCentralityStatsProc.StatsResult, BetweennessCentralityStatsConfig> { @Procedure(value = "gds.betweenness.stats", mode = READ) @Description(BETWEENNESS_DESCRIPTION) public Stream<StatsResult> stats( @Name(value = "graphName") Object graphNameOrConfig, @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration ) { return stats(compute(graphNameOrConfig, configuration)); }  @Procedure(value = "gds.betweenness.stats", mode = READ) @Description(BETWEENNESS_DESCRIPTION) Stream<StatsResult> stats(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    ); @Procedure(value = "gds.betweenness.stats.estimate", mode = READ) @Description(BETWEENNESS_DESCRIPTION) Stream<MemoryEstimateResult> estimate(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    );  }### Answer:
@Test void testStats() { String query = GdsCypher .call() .withAnyLabel() .withAnyRelationshipType() .algo("betweenness") .statsMode() .yields(); assertCypherResult(query, List.of(Map.of( "minimumScore", 0.0, "maximumScore", 4.0, "scoreSum", 10.0, "createMillis", greaterThan(-1L), "computeMillis", greaterThan(-1L), "postProcessingMillis", greaterThan(-1L), "configuration", isA(Map.class) ))); }