@Test
public void tupleArgsTestWithTwoParentsWhichAreRootEvents() throws Exception {

    int parent1TaskId = 1;
    String parent1ComponentName = "1-parentComponent";
    int parent2TaskId = 2;
    String parent2ComponentName = "2-parentComponent2";
    new Expectations() {{
        mockedTopologyContext.getComponentId(parent1TaskId);
        result = parent1ComponentName;
        mockedTopologyContext.getComponentId(parent2TaskId);
        result = parent2ComponentName;
        mockedTopologyContext.getComponentOutputFields(parent1ComponentName, INPUT_STREAMLINE_EVENT.getSourceStream());
        result = new Fields(StreamlineEvent.STREAMLINE_EVENT);
        mockedTopologyContext.getComponentOutputFields(parent2ComponentName, INPUT_STREAMLINE_EVENT.getSourceStream());
        result = new Fields(StreamlineEvent.STREAMLINE_EVENT);
    }};
    StreamlineEvent parentEvent1 = copyEventWithNewID();
    parentEvent1 = eventCorrelationInjector.injectCorrelationInformation(parentEvent1, Collections.emptyList(), TEST_COMPONENT_NAME);
    Tuple parentTuple1 = new TupleImpl(mockedTopologyContext, new Values(parentEvent1), parent1TaskId,
            INPUT_STREAMLINE_EVENT.getSourceStream());
    StreamlineEvent parentEvent2 = copyEventWithNewID();
    parentEvent2 = eventCorrelationInjector.injectCorrelationInformation(parentEvent2, Collections.emptyList(), TEST_COMPONENT_NAME);
    Tuple parentTuple2 = new TupleImpl(mockedTopologyContext, new Values(parentEvent2), parent2TaskId,
            INPUT_STREAMLINE_EVENT.getSourceStream());
    StreamlineEvent injectedEvent = sut.injectCorrelationInformation(
            new Values(INPUT_STREAMLINE_EVENT),
            Lists.newArrayList(parentTuple1, parentTuple2), TEST_COMPONENT_NAME);
    StreamlineEventTestUtil.assertEventIsProperlyCopied(injectedEvent, INPUT_STREAMLINE_EVENT);
    // added headers
    assertEquals(Sets.newHashSet(parentEvent1.getId(), parentEvent2.getId()), EventCorrelationInjector.getRootIds(injectedEvent));
    assertEquals(Sets.newHashSet(parentEvent1.getId(), parentEvent2.getId()), EventCorrelationInjector.getParentIds(injectedEvent));
    assertEquals(StormTopologyUtil.extractStreamlineComponentName(TEST_COMPONENT_NAME), EventCorrelationInjector.getSourceComponentName(injectedEvent));
}