@Test
public void getChannelIdentifiers() {

    MultiStepEvaluationFunction<GenericEvent> function = MultiStepEvaluationFunction.<GenericEvent>builder()
            .withErrorExtractor((ErrorExtractor<GenericEvent>) mock(ErrorExtractor.class))
            .withEvaluationCompleteExtractor((EvaluationCompleteExtractor<GenericEvent>) mock(EvaluationCompleteExtractor.class))
            .withOverallTimeoutMs(0L)
            .addEvaluationFunction(new LambdaEvaluationFunction<>(
                    context -> {},
                    () -> new HashSet<>(Arrays.asList("1", "2", "3"))
            ), "step1")
            .addEvaluationFunction(new LambdaEvaluationFunction<>(
                    context -> {},
                    () -> new HashSet<>(Arrays.asList("3", "4", "5"))
            ), "step2")
            .build();
    List<String> channelIdentifiers = new ArrayList<>(function.getChannelIdentifiers());
    assertEquals(5, channelIdentifiers.size());
    assertTrue(channelIdentifiers.contains("1"));
    assertTrue(channelIdentifiers.contains("2"));
    assertTrue(channelIdentifiers.contains("3"));
    assertTrue(channelIdentifiers.contains("4"));
    assertTrue(channelIdentifiers.contains("5"));
}