Esempio n. 1
0
  public void testFlattenList() {
    // test many arrays
    EventBean[] testEvents =
        makeEventArray(new String[] {"a1", "a2", "b1", "b2", "b3", "c1", "c2"});
    ArrayDeque<UniformPair<EventBean[]>> eventVector = new ArrayDeque<UniformPair<EventBean[]>>();

    eventVector.add(
        new UniformPair<EventBean[]>(null, new EventBean[] {testEvents[0], testEvents[1]}));
    eventVector.add(new UniformPair<EventBean[]>(new EventBean[] {testEvents[2]}, null));
    eventVector.add(
        new UniformPair<EventBean[]>(
            null, new EventBean[] {testEvents[3], testEvents[4], testEvents[5]}));
    eventVector.add(new UniformPair<EventBean[]>(new EventBean[] {testEvents[6]}, null));

    UniformPair<EventBean[]> events = EventBeanUtility.flattenList(eventVector);
    EPAssertionUtil.assertEqualsExactOrder(
        new EventBean[] {testEvents[2], testEvents[6]}, events.getFirst());
    EPAssertionUtil.assertEqualsExactOrder(
        new EventBean[] {testEvents[0], testEvents[1], testEvents[3], testEvents[4], testEvents[5]},
        events.getSecond());

    // test just one array
    eventVector.clear();
    eventVector.add(new UniformPair<EventBean[]>(new EventBean[] {testEvents[2]}, null));
    events = EventBeanUtility.flattenList(eventVector);
    EPAssertionUtil.assertEqualsExactOrder(new EventBean[] {testEvents[2]}, events.getFirst());
    EPAssertionUtil.assertEqualsExactOrder((Object[]) null, events.getSecond());

    // test empty vector
    eventVector.clear();
    events = EventBeanUtility.flattenList(eventVector);
    assertNull(events);
  }