### Question:
LabelPropagationStreamProc extends StreamProc<LabelPropagation, LabelPropagation, LabelPropagationStreamProc.StreamResult, LabelPropagationStreamConfig> { @Procedure(value = "gds.labelPropagation.stream", mode = READ) @Description(LABEL_PROPAGATION_DESCRIPTION) public Stream<StreamResult> stream( @Name(value = "graphName") Object graphNameOrConfig, @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration ) { return stream(compute(graphNameOrConfig, configuration)); }  @Procedure(value = "gds.labelPropagation.stream", mode = READ) @Description(LABEL_PROPAGATION_DESCRIPTION) Stream<StreamResult> stream(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    ); @Procedure(value = "gds.labelPropagation.stream.estimate", mode = READ) @Description(ESTIMATE_DESCRIPTION) Stream<MemoryEstimateResult> estimate(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    ); @Override LabelPropagationStreamConfig newConfig(
        String username,
        Optional<String> graphName,
        Optional<GraphCreateConfig> maybeImplicitCreate,
        CypherMapWrapper config
    );  }### Answer:
@Test void statsShouldNotHaveWriteProperties() { String query = GdsCypher .call() .explicitCreation(TEST_GRAPH_NAME) .algo("labelPropagation") .statsMode() .yields(); List<String> forbiddenResultColumns = Arrays.asList( "writeMillis", "nodePropertiesWritten", "relationshipPropertiesWritten" ); List<String> forbiddenConfigKeys = Collections.singletonList("writeProperty"); runQueryWithResultConsumer(query, result -> { List<String> badResultColumns = result.columns() .stream() .filter(forbiddenResultColumns::contains) .collect(Collectors.toList()); assertEquals(Collections.emptyList(), badResultColumns); assertTrue(result.hasNext(), "Result must not be empty."); Map<String, Object> config = (Map<String, Object>) result.next().get("configuration"); List<String> badConfigKeys = config.keySet() .stream() .filter(forbiddenConfigKeys::contains) .collect(Collectors.toList()); assertEquals(Collections.emptyList(), badConfigKeys); }); }