/** * Finds the children of a blip, defined as the next sibling blip and the * first blip in each reply thread. * * @param blip the blip. * @return the children of the given blip. */ @Override public List<ConversationBlip> findBlipChildren(ConversationBlip blip) { List<ConversationBlip> siblings = Lists.newArrayList(); ConversationBlip nextSibling = findNextSibling(blip); if (nextSibling != null) { siblings.add(nextSibling); } for (ConversationThread reply : blip.getReplyThreads()) { if (reply.getFirstBlip() != null) { siblings.add(reply.getFirstBlip()); } } return siblings; }
public void testFindBlipNextSibling() { Conversation conversation = makeConversation(); ConversationBlip first = conversation.getRootThread().getFirstBlip(); ConversationBlip second = conversation.getRootThread().appendBlip(); ConversationBlip reply = first.addReplyThread().appendBlip(); ConversationBlip secondReply = reply.getThread().appendBlip(); assertSame(second, EventDataConverterV21.findNextSibling(first)); assertNull(EventDataConverterV21.findNextSibling(second)); assertSame(secondReply, EventDataConverterV21.findNextSibling(reply)); assertNull(EventDataConverterV21.findNextSibling(secondReply)); }
public void testFindBlipNextSibling() { Conversation conversation = makeConversation(); ConversationBlip first = conversation.getRootThread().getFirstBlip(); ConversationBlip second = conversation.getRootThread().appendBlip(); ConversationBlip reply = first.addReplyThread().appendBlip(); ConversationBlip secondReply = reply.getThread().appendBlip(); assertSame(second, EventDataConverterV21.findNextSibling(first)); assertNull(EventDataConverterV21.findNextSibling(second)); assertSame(secondReply, EventDataConverterV21.findNextSibling(reply)); assertNull(EventDataConverterV21.findNextSibling(secondReply)); }