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); }