@Test
public void sourceNotSpecifiedTargetSpecified() {

    ProcedureConfiguration configuration = ProcedureConfiguration.create(MapUtil.map("concurrency", concurrency));
    SimilarityStreamGenerator<CategoricalInput> generator = new SimilarityStreamGenerator<>(terminationFlag(), configuration, DECODER, COMPUTER);
    CategoricalInput[] ids = new CategoricalInput[4];
    ids[0] = new CategoricalInput(0, new long[]{});
    ids[1] = new CategoricalInput(1, new long[]{});
    ids[2] = new CategoricalInput(2, new long[]{});
    ids[3] = new CategoricalInput(3, new long[]{});
    int[] sourceIndexIds = new int[]{};
    int[] targetIndexIds = new int[]{2, 3};
    Stream<SimilarityResult> stream = generator.stream(ids, sourceIndexIds, targetIndexIds, -1.0, 0);
    List<SimilarityResult> rows = stream.collect(Collectors.toList());
    assertEquals(6, rows.size());
    assertThat(rows, hasItems(similarityResult(0, 3, false, false)));
    assertThat(rows, hasItems(similarityResult(1, 3, false, false)));
    assertThat(rows, hasItems(similarityResult(2, 3, false, false)));
    assertThat(rows, hasItems(similarityResult(0, 2, false, false)));
    assertThat(rows, hasItems(similarityResult(1, 2, false, false)));
    assertThat(rows, hasItems(similarityResult(2, 3, false, false)));
}