public void GetSenderColorMergedConversationTest() { IConversation conversation = DummyConversationDataGenerator.GetMergedConversation(DummyContactId.Davola); IConversationMessage cellIncomingMessage = conversation.GetMessage(0); IConversationMessage iPhoneIncomingMessage = conversation.GetMessage(11); MockDisplayOptions displayOptions = new MockDisplayOptions(); ConversationRendererRichText_Accessor renderer = new ConversationRendererRichText_Accessor(displayOptions, conversation); System.Windows.Media.Color cellColor = renderer.GetSenderDisplayColor(cellIncomingMessage); System.Windows.Media.Color iPhoneColor = renderer.GetSenderDisplayColor(iPhoneIncomingMessage); Assert.AreEqual(cellColor, iPhoneColor); }
public void RenderSingleMessage24HourTimeTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.UnknownEagle); IConversationMessage message = conversation.GetMessage(0); MockDisplayOptions displayOptions = new MockDisplayOptions(); displayOptions.TimeDisplayFormat = TimeDisplayFormat.HourMinSec24h; ConversationRendererRichText_Accessor renderer = new ConversationRendererRichText_Accessor(displayOptions, conversation); List <Inline> inlineListExpected = new List <Inline>(); Span messagePrefix = new Span(); messagePrefix.Inlines.Add(new Bold(new Run("Unknown Sender"))); messagePrefix.Inlines.Add(new Run(" (\u200E20:38:17\u202C)")); messagePrefix.Inlines.Add(new Run(": ")); inlineListExpected.Add(messagePrefix); inlineListExpected.Add(new ConversationContentRun(message.MessageContents)); List <Inline> inlineListActual = new List <Inline>(); inlineListActual.AddRange(renderer.ConversationMessageToInlines(message)); VerifyInlineListsMatch(inlineListExpected, inlineListActual); }
private void VerifyMessagesMatch(IConversation conversation, TextMessage[] messagesExpected) { Assert.AreEqual(messagesExpected.Length, conversation.MessageCount); for (int messageIndex = 0; messageIndex < conversation.MessageCount; messageIndex++) { IConversationMessage conversationMessageCurrent = conversation.GetMessage(messageIndex); TextMessage textMessageExpected = messagesExpected[messageIndex]; VerifyTextMessageMatchesConversationMessage(textMessageExpected, conversationMessageCurrent); } }
public void GetSenderColorUnknownContactTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.UnknownEagle); IConversationMessage incomingMessage = conversation.GetMessage(0); MockDisplayOptions displayOptions = new MockDisplayOptions(); ConversationRendererRichText_Accessor renderer = new ConversationRendererRichText_Accessor(displayOptions, conversation); System.Windows.Media.Color incomingMessageColor = renderer.GetSenderDisplayColor(incomingMessage); Assert.IsNotNull(incomingMessageColor); }
public void SimpleChatTest() { DummyContactId[] dummyContactIds = { DummyContactId.Obama, DummyContactId.AnthonyWeiner }; DummyPhoneNumberId[] dummyPhoneNumberIds = { }; DummyChatRoomId[] dummyChatRoomIds = { DummyChatRoomId.ChatRoomA }; ConversationManager conversationManager = CreateConversationManager(dummyContactIds, dummyPhoneNumberIds, dummyChatRoomIds, null); IConversation chatConversation = conversationManager.GetConversation(2); //Assert.IsNull(chatConversation.GetMessage(0).Contact); Assert.IsTrue(chatConversation.GetMessage(0).IsOutgoing); IContact contactExpected; IContact contactActual; contactExpected = DummyConversationDataGenerator.GetContacts(DummyContactId.Obama)[0]; contactActual = chatConversation.GetMessage(1).Contact; Assert.AreEqual(contactExpected, chatConversation.GetMessage(1).Contact); Assert.IsFalse(chatConversation.GetMessage(1).IsOutgoing); IContact anthonyWeinerContact = DummyConversationDataGenerator.GetContacts(DummyContactId.AnthonyWeiner)[0]; Assert.AreEqual(anthonyWeinerContact, chatConversation.GetMessage(2).Contact); Assert.IsFalse(chatConversation.GetMessage(2).IsOutgoing); }
public void SingleMessageConversationTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.UnknownEagle); IDisplayOptions displayOptions = new MockDisplayOptions(); ConversationRendererRichText_Accessor renderer = new ConversationRendererRichText_Accessor(displayOptions, conversation); List <Paragraph> paragraphsActual = renderer.RenderMessagesAsParagraphs(ConversationRendererRichText.RenderAllMessages); Assert.AreEqual(1, paragraphsActual.Count); IConversationMessage message = conversation.GetMessage(0); Paragraph paragraphExpected = new Paragraph(); paragraphExpected.Inlines.Add(ConversationRendererRichText_Accessor.DateAsInline(message.Timestamp)); paragraphExpected.Inlines.Add(new LineBreak()); paragraphExpected.Inlines.AddRange(renderer.ConversationMessageToInlines(message)); VerifyParagraphsEqual(paragraphExpected, paragraphsActual[0]); paragraphsActual = renderer.RenderMessagesAsParagraphs(ConversationRendererRichText.RenderAllMessages); Assert.AreEqual(0, paragraphsActual.Count); }
private void ProcessMessage(int messageIndex) { IConversationMessage message = _conversation.GetMessage(messageIndex); if (message.Timestamp.Date != _lastMessageDate) { StartNewParagraph(); AddDateLine(message.Timestamp); _lastMessageDate = message.Timestamp.Date; } AddLineBreak(); AddMessageLine(message); if (_displayOptions.LoadMmsAttachments && message.HasAttachments()) { foreach (IMessageAttachment attachment in message.Attachments) { AddLineBreak(); try { AddAttachment(attachment); } catch { // Ignore attachment errors } } } _lastMessageReadIndex = messageIndex; }
private void VerifyMessagesMatch(IConversation conversation, TextMessage[] messagesExpected) { Assert.AreEqual(messagesExpected.Length, conversation.MessageCount); for (int messageIndex = 0; messageIndex < conversation.MessageCount; messageIndex++) { IConversationMessage conversationMessageCurrent = conversation.GetMessage(messageIndex); TextMessage textMessageExpected = messagesExpected[messageIndex]; VerifyTextMessageMatchesConversationMessage(textMessageExpected, conversationMessageCurrent); } }