public static IncomingEmailMessageMock CreateWithRandomData(int numAttachments) { var mock = new IncomingEmailMessageMock { Subject = RandomDataHelper.GetSubject(_seed++), RawBody = RandomDataHelper.GetBody(_seed++), PlainTextBody = RandomDataHelper.GetBody(_seed++), ConversationIndex = RandomDataHelper.GetConversationId(_seed++), ConversationTopic = RandomDataHelper.GetSubject(_seed++), SenderName = RandomDataHelper.GetName(_seed++), SenderAlias = RandomDataHelper.GetAlias(_seed++) }; mock.SenderAddress = mock.SenderAlias + "@blah.com"; mock.ToAddresses = GetRandomAliasList(Rand.Next(1, 30)); mock.CcAddresses = GetRandomAliasList(Rand.Next(0, 30)); mock.ToNames = GetRandomNamesList(mock.ToAddresses.Count()); mock.CcNames = GetRandomNamesList(mock.CcAddresses.Count()); mock.SentOn = new DateTime(Rand.Next(2012, 2525), Rand.Next(1, 12), Rand.Next(1, 28)); mock.ReceivedOn = new DateTime(Rand.Next(2012, 2525), Rand.Next(1, 12), Rand.Next(1, 28)); mock.IsHtmlBody = Rand.Next(0, 1) == 0; var attachments = new List<IIncomingEmailAttachment>(numAttachments); for (var i = 0; i < numAttachments; i++) { attachments.Add(new IncomingAttachmentMock(Rand.Next(1, 100000))); } mock.Attachments = attachments; return mock; }
public void TestGetLastMessageTextBasic() { var message = new IncomingEmailMessageMock(); var lastMessageText = RandomDataHelper.GetBody(_rand.Next()); var numOfReplies = _rand.Next(0, 100); var bodyBuilder = new StringBuilder(lastMessageText); for (var i = 0; i < numOfReplies; i++) { bodyBuilder.AppendLine(RandomDataHelper.GetRandomMessageSeparator(_rand.Next())); bodyBuilder.Append(RandomDataHelper.GetBody(_rand.Next())); } message.PlainTextBody = bodyBuilder.ToString(); Assert.AreEqual(lastMessageText, EmailBodyProcessingUtils.GetLastMessageText(message), "Verifying extracted last message text correctness"); }
IIncomingEmailMessage[] CreateMessages( int numMessages, string subjectBase, DateTime startTime, TimeSpan intervalBetweenMessages) { var result = new IIncomingEmailMessage[numMessages]; var receivedTime = startTime; for (var i = 0; i < numMessages; ++i, receivedTime += intervalBetweenMessages) { var message = new IncomingEmailMessageMock { Subject = string.Format("{0}_{1}", subjectBase, i), ReceivedOn = receivedTime }; result[i] = message; } return result; }