### Question:
CosineProc extends AlphaSimilarityProc<CosineAlgorithm, CosineConfig> { @Procedure(name = "gds.alpha.similarity.cosine.stream", mode = READ) @Description(DESCRIPTION) public Stream<SimilarityResult> cosineStream( @Name(value = "graphName") Object graphNameOrConfig, @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration ) { return stream(graphNameOrConfig, configuration); }  @Procedure(name = "gds.alpha.similarity.cosine.stream", mode = READ) @Description(DESCRIPTION) Stream<SimilarityResult> cosineStream(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    ); @Procedure(name = "gds.alpha.similarity.cosine.write", mode = WRITE) @Description(DESCRIPTION) Stream<SimilaritySummaryResult> cosineWrite(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    ); @Procedure(name = "gds.alpha.similarity.cosine.stats", mode = READ) @Description(DESCRIPTION) Stream<SimilarityStatsResult> cosineStats(
        @Name(value = "graphName") Object graphNameOrConfig,
        @Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
    );  }### Answer:
@Test void cosineStreamTest() { runQueryWithResultConsumer(STATEMENT_STREAM, map("config", map("concurrency", 1, "topK", 0), "missingValue", 0), results -> { assertTrue(results.hasNext()); assert01(results.next()); assert02(results.next()); assert03(results.next()); assert12(results.next()); assert13(results.next()); assert23(results.next()); assertFalse(results.hasNext()); } ); }