public void ExportMultipleConversationsFolderCollisionTest() { List <IConversation> conversations = new List <IConversation>(); conversations.Add(DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.ObamaCell)); conversations.Add(DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.HarryLooseTieCell)); const string outputPath = "X:\\backup\\"; MockFileSystem mockFileSystem = new MockFileSystem(); ConversationExporterBase exporter = new ConversationExporterPlaintext(mockFileSystem); exporter.ExportMultipleConversations(conversations, new MockDisplayOptions(), outputPath, null); string createdDirectory = ""; foreach (string directory in mockFileSystem.ListDirectories()) { createdDirectory = directory; } exporter.ExportMultipleConversations(conversations, new MockDisplayOptions(), outputPath, null); Assert.AreEqual(2, mockFileSystem.CountDirectoryContents(createdDirectory)); Assert.AreEqual(2, mockFileSystem.DirectoryCount); Assert.AreEqual(4, mockFileSystem.FileCount); }
public void InvalidArgAggregateTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.TonyWolfCell); GraphDataGenerator generator = new GraphDataGenerator(); generator.MessageCountAggregate(conversation, GraphAggregateType.Unknown); }
private MergingConversationManager CreateMergingConversationManager(DummyContactId[] contactIds, DummyPhoneNumberId[] messageSetIds, ILoadingProgressCallback progressCallback) { if (progressCallback != null) { int workEstimate = ConversationManager.GetWorkEstimate(contactIds.Length, messageSetIds.Length, 0, 0) + MergingConversationManager.GetWorkEstimateByContacts(contactIds.Length); progressCallback.Begin(workEstimate); } ConversationManager conversationManager = DummyConversationDataGenerator.GetConversationManager(contactIds, messageSetIds, progressCallback); if (progressCallback != null) { progressCallback.UpdateRemaining(MergingConversationManager.GetWorkEstimate(conversationManager.ConversationCount)); } MergingConversationManager mergingConversationManager = new MergingConversationManager(conversationManager, progressCallback); if (progressCallback != null) { progressCallback.End(); } return(mergingConversationManager); }
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 WriteConversationContentsTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.ObamaCell); string exportedConversationExpected = "Tuesday, Nov 4, 2008\r\n" + "Me (\u200E10:18:05 PM\u202C): Congrats, buddy!\r\n" + "Barack Obama (\u200E10:18:40 PM\u202C): Thanks. Couldn't have done it without you!\r\n" + "Me (\u200E10:25:58 PM\u202C): np\r\n" + "\r\n" + "Sunday, May 1, 2011\r\n" + "Me (\u200E8:47:27 AM\u202C): Yo, I think I know where Osama Bin Laden is hiding?\r\n" + "Barack Obama (\u200E8:50:52 AM\u202C): o rly?\r\n" + "Me (\u200E8:51:21 AM\u202C): Yeah, dude. Abottabad, Pakistan. Huge compound. Can't miss it.\r\n" + "Barack Obama (\u200E8:51:46 AM\u202C): Sweet. I'll send some navy seals."; ConversationExporterPlaintext_Accessor conversationExporter = new ConversationExporterPlaintext_Accessor(new MockFileSystem()); MemoryStream outputStream = new MemoryStream(); StreamWriter sw = new StreamWriter(outputStream); conversationExporter.WriteConversationContents(sw, conversation, new MockDisplayOptions(), new AttachmentExportLocator(null)); sw.Flush(); outputStream.Seek(0, SeekOrigin.Begin); StreamReader sr = new StreamReader(outputStream); string exportedConversationActual = sr.ReadToEnd(); Assert.AreEqual(exportedConversationExpected, exportedConversationActual); }
public List <ITextGraphData> GetConversationGraphData(DummyPhoneNumberId DummyPhoneNumberId, GraphTimeUnit timeUnit) { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId); GraphDataGenerator generator = new GraphDataGenerator(); return(new List <ITextGraphData>(generator.MessageCountPerUnitTime(conversation, timeUnit))); }
public List <ITextGraphData> GetAggregateConversationGraphData(DummyPhoneNumberId DummyPhoneNumberId, GraphAggregateType aggregateType) { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId); GraphDataGenerator generator = new GraphDataGenerator(); return(new List <ITextGraphData>(generator.MessageCountAggregate(conversation, aggregateType))); }
public void InvalidArgPerUnitTimeTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.TonyWolfCell); GraphDataGenerator generator = new GraphDataGenerator(); generator.MessageCountPerUnitTime(conversation, GraphTimeUnit.Unknown); }
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); }
internal virtual IConversationManager CreateConversationManager() { DummyContactId[] dummyContactIds = { DummyContactId.Davola, DummyContactId.NeverTexter, DummyContactId.Obama, DummyContactId.ReliableLarry }; DummyPhoneNumberId[] dummyMessageSetIds = { DummyPhoneNumberId.DavolaCell, DummyPhoneNumberId.DavolaiPhone, DummyPhoneNumberId.NeverTexterCell, DummyPhoneNumberId.NeverTexterHome, DummyPhoneNumberId.ObamaCell, DummyPhoneNumberId.ReliableLarryOffice }; return(DummyConversationDataGenerator.GetConversationManager(dummyContactIds, dummyMessageSetIds, null)); }
public void CreateMultiNumberExportTest() { IConversation conversationCell = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.DavolaCell); IConversation conversationiPhone = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.DavolaiPhone); IConversation conversationMerged = new MergedConversation(conversationCell, conversationiPhone); VerifyConversationHeaderMatches(conversationMerged, "iPhone Text (SMS) Conversation History with Joe Davola - Phone Numbers: 212-555-8728, 646-555-9189."); }
private GraphWindowModel_Accessor GetEmptyPopulatedGraphWindowModel() { GraphWindowModel_Accessor model = new GraphWindowModel_Accessor(new MockDisplayOptions(), new MockPhoneSelectOptions()); model.ConversationManager = DummyConversationDataGenerator.GetConversationManagerEmpty(); return(model); }
public void KnownUnknownChatTest() { IConversation conversation = DummyConversationDataGenerator.GetChatConversation(DummyChatRoomId.ChatRoomD); Assert.AreEqual(2, conversation.AssociatedContacts.Count); Assert.IsNotNull(conversation.AssociatedContacts[0]); Assert.IsNotNull(conversation.AssociatedContacts[1]); }
public void EmptyPerUnitTimeTest() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.NeverTexterCell); GraphDataGenerator generator = new GraphDataGenerator(); ITextGraphDataCollection perMonthCollection = generator.MessageCountPerUnitTime(conversation, GraphTimeUnit.Month); Assert.AreEqual(0, perMonthCollection.Count); }
private void VerifyRenderedConversationMatchesExpected(DummyPhoneNumberId phoneNumberId, string renderedConversationExpected) { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(phoneNumberId); ConversationRendererPlaintext renderer = new ConversationRendererPlaintext(new MockDisplayOptions(), conversation); string renderedConversationActual = renderer.RenderMessagesAsString(ConversationRendererBase.RenderAllMessages); Assert.AreEqual(renderedConversationExpected, renderedConversationActual); }
private void VerifyRenderedMessagesMatchExpected(Color color, string cssAttributeExpected) { IDisplayOptionsReadOnly displayOptions = new MockDisplayOptions(); IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.ObamaCell); ConversationRendererHtml_Accessor renderer = new ConversationRendererHtml_Accessor(displayOptions, conversation, new AttachmentExportLocator(null)); string cssAttributeActual = renderer.ColorToCssAttribute(color); Assert.AreEqual(cssAttributeExpected, cssAttributeActual); }
private ConversationWindowModel GetEmptyPopulatedConversationWindowModel() { IDisplayOptions displayOptions = new MockDisplayOptions(); IPhoneSelectOptions phoneSelectOptions = new MockPhoneSelectOptions(); ConversationWindowModel model = new ConversationWindowModel(displayOptions, phoneSelectOptions); model.ConversationManager = DummyConversationDataGenerator.GetConversationManagerEmpty(); return(model); }
private void VerifyRenderedMessagesMatchExpected(DummyPhoneNumberId phoneNumberId, string renderedExpected) { IDisplayOptionsReadOnly displayOptions = new MockDisplayOptions(); IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(phoneNumberId); IConversationRenderer renderer = new ConversationRendererHtml(displayOptions, conversation, new AttachmentExportLocator(null)); string renderedActual = renderer.RenderMessagesAsString(ConversationRendererBase.RenderAllMessages); Assert.AreEqual(renderedExpected, renderedActual); }
public void NullCallbackTest() { DummyContactId[] dummyContactIds = { DummyContactId.Davola, DummyContactId.Obama }; DummyPhoneNumberId[] DummyPhoneNumberIds = { DummyPhoneNumberId.DavolaCell, DummyPhoneNumberId.DavolaiPhone, DummyPhoneNumberId.ObamaCell }; ConversationManager conversationManager = CreateConversationManager(dummyContactIds, DummyPhoneNumberIds, null); int conversationCountExpected = DummyConversationDataGenerator.GetPhoneNumberCount(dummyContactIds); Assert.AreEqual(conversationCountExpected, conversationManager.ConversationCount); }
public void CalculateEmptyStatisticsTest() { Contact dummyContact = DummyConversationDataGenerator.GetContacts(DummyContactId.NeverTexter)[0]; IConversation conversation = new SingleNumberConversation(dummyContact); IConversationStatistics statsActual = ConversationStatisticsGenerator.CalculateStatistics(conversation); Assert.AreEqual(0, statsActual.MessagesSent); Assert.AreEqual(0, statsActual.MessagesReceived); Assert.AreEqual(0, statsActual.MessagesExchanged); Assert.AreEqual(0, statsActual.DayCount); Assert.AreEqual(0, statsActual.MessagesPerDay); }
public void EmptyTest() { MockLoadingProgressCallback progressCallback = new MockLoadingProgressCallback(); DummyContactId[] dummyContactIds = { }; DummyPhoneNumberId[] DummyPhoneNumberIds = { }; ConversationManager conversationManager = DummyConversationDataGenerator.GetConversationManager(dummyContactIds, DummyPhoneNumberIds, progressCallback); AggregateConversation aggregateConversation = new AggregateConversation(new List <IConversation>()); Assert.AreEqual(0, aggregateConversation.MessageCount); }
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 ExportAttachmentErrorStillExportsConversation() { MockFileSystem mockFileSystem = new MockFileSystem(); ConversationExporterHtml exporter = new ConversationExporterHtml(mockFileSystem); IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.FrankieCoolPicsCell); MockDisplayOptions mockDisplayOptions = new MockDisplayOptions(); List <ExportError> exportErrors = exporter.Export(conversation, mockDisplayOptions, @"C:\fakepath\backup\exports\frankie-coolpics_9-12-2012.html"); Assert.AreEqual(1, exportErrors.Count); Assert.IsTrue(mockFileSystem.FileExists(@"C:\fakepath\backup\exports\frankie-coolpics_9-12-2012.html")); }
public void TestEquals() { IContact davolaCell = DummyConversationDataGenerator.GetContact(DummyPhoneNumberId.DavolaCell); IContact davolaiPhone = DummyConversationDataGenerator.GetContact(DummyPhoneNumberId.DavolaiPhone); MergedContact mergedContact = new MergedContact(davolaCell, davolaiPhone); MergedContact mergedContactCopy = new MergedContact(davolaCell, davolaiPhone); MergedContact mergedContactReverseOrder = new MergedContact(davolaiPhone, davolaCell); Assert.AreEqual(mergedContact, mergedContact); Assert.AreEqual(mergedContact, mergedContactCopy); Assert.AreEqual(mergedContact, mergedContactReverseOrder); }
public void ExportMultipleConversationsEmptyConversationTest() { List <IConversation> conversations = new List <IConversation>(); conversations.Add(DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.NeverTexterCell)); const string outputPath = "X:\\backup\\"; MockFileSystem mockFileSystem = new MockFileSystem(); ConversationExporterBase exporter = new ConversationExporterPlaintext(mockFileSystem); exporter.ExportMultipleConversations(conversations, new MockDisplayOptions(), outputPath, null); Assert.AreEqual(0, mockFileSystem.FileCount); }
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); }
private static RichTextBox GetConversationRichTextBox() { IConversation conversation = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.ObamaCell); ConversationRendererRichText renderer = new ConversationRendererRichText(new MockDisplayOptions(), conversation); IEnumerable <Paragraph> paragraphs = renderer.RenderMessagesAsParagraphs(ConversationRendererRichText.RenderAllMessages); RichTextBox conversationRichTextBox = new RichTextBox(); conversationRichTextBox.Document.Blocks.Clear(); conversationRichTextBox.Document.Blocks.AddRange(paragraphs); return(conversationRichTextBox); }
public void ExportMultipleConversationsTest() { List <IConversation> conversations = new List <IConversation>(); conversations.Add(DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.ObamaCell)); conversations.Add(DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.HarryLooseTieCell)); const string outputPath = "X:\\backup\\"; MockFileSystem mockFileSystem = new MockFileSystem(); ConversationExporterBase exporter = new ConversationExporterPlaintext(mockFileSystem); exporter.ExportMultipleConversations(conversations, new MockDisplayOptions(), outputPath, null); Assert.IsTrue(mockFileSystem.DirectoryExists(outputPath)); Assert.AreEqual(2, mockFileSystem.FileCount); }
public void EmptyMergedConversationTest() { MockLoadingProgressCallback progressCallback = new MockLoadingProgressCallback(); DummyContactId[] dummyContactIds = { DummyContactId.NeverTexter }; DummyPhoneNumberId[] DummyPhoneNumberIds = { }; MergingConversationManager mergingConversationManager = CreateMergingConversationManager(dummyContactIds, DummyPhoneNumberIds, progressCallback); Assert.AreEqual(1, mergingConversationManager.ConversationCount); int expectedProgressMax = (DummyConversationDataGenerator.GetPhoneNumberCount(dummyContactIds) * 2) + DummyConversationDataGenerator.GetMessageCount(DummyPhoneNumberIds); Assert.AreEqual(expectedProgressMax, progressCallback.Maximum); ConversationManagerTest.VerifySuccessfulCompletion(progressCallback); }
public void MessageCountTest() { DummyContactId[] dummyContactIds = { DummyContactId.Davola, DummyContactId.Obama, DummyContactId.NeverTexter }; DummyPhoneNumberId[] DummyPhoneNumberIds = { DummyPhoneNumberId.DavolaCell, DummyPhoneNumberId.DavolaiPhone, DummyPhoneNumberId.ObamaCell, DummyPhoneNumberId.UnknownLawnmower }; ConversationManager conversationManager = DummyConversationDataGenerator.GetConversationManager(dummyContactIds, DummyPhoneNumberIds, null); AggregateConversation aggregateConversation = new AggregateConversation(conversationManager); int expectedMessageCount = 0; foreach (DummyPhoneNumberId setId in DummyPhoneNumberIds) { expectedMessageCount += DummyConversationDataGenerator.GetMessageCount(setId); } Assert.AreEqual(expectedMessageCount, aggregateConversation.MessageCount); }