### Question:
MessageFactoryImpl extends RecordFactoryImpl<Message, MessageImpl> implements MessageFactory { public int walkInMessageSent(User inUser, int inSkip, int inGetCount, JoinRecordsWalker<Message, MessageSent> inWalker) { final String condition = " messenger.user_id = ? and message_sent.sender_id=messenger.id and message_sent.message_state= ? and message.id=message_sent.message_id "; final String[] inJoinTables = new String[] { "messenger" }; return walk(MessageSentImpl.SPECIFICATION, condition, Arrays.asList((Object) inUser.getId(), StatusMessage.SENT.name()), inJoinTables, "timeOfDelivery DESC", 0 , inSkip, inGetCount, inWalker); } MessageFactoryImpl(); Message findByEventID(long inId); boolean usesFiles(Files inFile); long countMessageReceivedOrArchivedByStatus(StatusMessage inStatus, User inUser, VObject inObject); long countMessageSent(User inUser); int walkInMessageReceivedOrArchivedByStatus(StatusMessage inStatus, User inUser, VObject inObject, int inSkip, int inGetCount, JoinRecordsWalker<Message, MessageReceived> inWalker); int walkInMessageReceived(VObject inObject, JoinRecordsWalker<Message, MessageReceived> inWalker); int walkInMessageSent(User inUser, int inSkip, int inGetCount, JoinRecordsWalker<Message, MessageSent> inWalker); Message create(Files inFile, String inText, CCalendar inTimeOfDelivery, Palette inPalette); Message findFirstMessageReceived(VObject inObject); Message findLastMessageReceived(VObject inObject); Message findByXMPPID(String theID);  }### Answer:
@Test public void walkInMessageSent() { final User theUserReceived = Factories.USER.findByEmail("usermessagetest1@violet.net"); Assert.assertEquals(2, Factories.MESSAGE.walkInMessageSent(theUserReceived, 0, 10, new MessageImpl.JoinRecordsWalker<Message, MessageSent>() { public void process(Message inMessage, MessageSent inMessageSent) { } })); }