Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public void ExportConversations(ExportFormat exportFormat, string exportPath, IProgressCallback progressCallback)
        {
            IConversationExporter conversationExporter;

            switch (exportFormat)
            {
            case ExportFormat.Html:
                conversationExporter = new ConversationExporterHtml(_exportFileSystem);
                break;

            case ExportFormat.Plaintext:
                conversationExporter = new ConversationExporterPlaintext(_exportFileSystem);
                break;

            default:
                throw new ArgumentException("Unrecognized export format.");
            }

            _exportErrors = conversationExporter.ExportMultipleConversations(_conversationManager, _displayOptions, exportPath, progressCallback);
        }
Esempio n. 5
0
        public void ExportMultipleConversationsNameCollisionTest()
        {
            IConversation        conversationCell   = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.DavolaCell);
            IConversation        conversationiPhone = DummyConversationDataGenerator.GetSingleConversation(DummyPhoneNumberId.DavolaiPhone);
            IConversation        conversationMerged = new MergedConversation(conversationCell, conversationiPhone);
            List <IConversation> conversations      = new List <IConversation>();

            conversations.Add(conversationMerged);

            string filename = "dummy_filename.txt";

            const string   outputPath     = "X:\\backup\\";
            MockFileSystem mockFileSystem = new MockFileSystem();

            mockFileSystem.CreateNewFile(Path.Combine(outputPath, filename));

            ConversationExporterBase exporter = new ConversationExporterPlaintext(mockFileSystem);

            exporter.ExportMultipleConversations(conversations, new MockDisplayOptions(), outputPath, null);
            Assert.AreEqual(2, mockFileSystem.FileCount);
        }
Esempio n. 6
0
        private void ExportCurrentConversation()
        {
            ExportedFilenameGenerator filenameGenerator = new ExportedFilenameGenerator();
            SaveFileDialog saveDialog = new SaveFileDialog();
            const int FilterIndexHtml = 1;
            const int FilterIndexPlaintext = 2;
            saveDialog.Filter = "Web Page|*.html|Text File|*.txt";
            saveDialog.Title = "Save Conversation History As";
            saveDialog.AddExtension = true;
            saveDialog.FileName = filenameGenerator.CreateExportFilenameSuggestion(_mainWindowModel.SelectedConversation);
            saveDialog.ShowDialog();

            if (string.IsNullOrEmpty(saveDialog.FileName))
            {
                return;
            }

            IFileSystem exportFileSystem = new OsFileSystem();
            IConversationExporter conversationExporter;

            switch (saveDialog.FilterIndex)
            {
                case FilterIndexHtml:
                    conversationExporter  = new ConversationExporterHtml(exportFileSystem);
                    break;
                case FilterIndexPlaintext:
                    conversationExporter = new ConversationExporterPlaintext(exportFileSystem);
                    break;
                default:
                    throw new ArgumentException("Invalid file save type.");
            }
            conversationExporter.Export(_mainWindowModel.SelectedConversation, _displayOptions, saveDialog.FileName);
        }
        public void ExportConversations(ExportFormat exportFormat, string exportPath, IProgressCallback progressCallback)
        {
            IConversationExporter conversationExporter;
            switch (exportFormat)
            {
                case ExportFormat.Html:
                    conversationExporter = new ConversationExporterHtml(_exportFileSystem);
                    break;
                case ExportFormat.Plaintext:
                    conversationExporter = new ConversationExporterPlaintext(_exportFileSystem);
                    break;
                default:
                    throw new ArgumentException("Unrecognized export format.");
            }

            _exportErrors = conversationExporter.ExportMultipleConversations(_conversationManager, _displayOptions, exportPath, progressCallback);
        }