Ejemplo n.º 1
0
        public void ExportingConversationExportsConversationWithUsernameKeywordAndBlacklistFilter()
        {
            ConversationExporter exporter = new ConversationExporter();

            exporter.ExportConversation("chat.txt", "username, keyword and blackist chat.json", "angus", "pie", "hell", false, false);

            FileStream stream = new FileStream("username, keyword and blackist chat.json", FileMode.Open);

            // using statement to correctly dispose StreamReader
            using (StreamReader reader = new StreamReader(stream))
            {
                string serializedConversation = reader.ReadToEnd();

                Conversation savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

                Assert.AreEqual("My Conversation", savedConversation.Name);

                var messages = savedConversation.Messages.ToList();

                Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470912), messages[0].Timestamp);
                Assert.AreEqual("angus", messages[0].SenderId);
                Assert.AreEqual("**** yes! Are we buying some pie?", messages[0].Content);

                Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470915), messages[1].Timestamp);
                Assert.AreEqual("angus", messages[1].SenderId);
                Assert.AreEqual("YES! I'm the head pie eater there...", messages[1].Content);

                var userActivity = savedConversation.UserActivity.ToList();

                Assert.AreEqual("angus", userActivity[0].UserName);
                Assert.AreEqual(2, userActivity[0].MessagesNo);
            }
        }
Ejemplo n.º 2
0
        public void ExportingConversationExportsConversationWithUsernameAndKeywordFilter()
        {
            ConversationExporter exporter = new ConversationExporter();

            exporter.ExportConversation("chat.txt", "bob's pie chat.json", "bob", "pie", null, false, false);

            FileStream stream = new FileStream("bob's pie chat.json", FileMode.Open);

            // using statement to correctly dispose StreamReader
            using (StreamReader reader = new StreamReader(stream))
            {
                string serializedConversation = reader.ReadToEnd();

                Conversation savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

                Assert.AreEqual("My Conversation", savedConversation.Name);

                var messages = savedConversation.Messages.ToList();

                Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470906), messages[0].Timestamp);
                Assert.AreEqual("bob", messages[0].SenderId);
                Assert.AreEqual("I'm good thanks, do you like pie?", messages[0].Content);

                Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470914), messages[1].Timestamp);
                Assert.AreEqual("bob", messages[1].SenderId);
                Assert.AreEqual("No, just want to know if there's anybody else in the pie society...", messages[1].Content);

                var userActivity = savedConversation.UserActivity.ToList();

                Assert.AreEqual("bob", userActivity[0].UserName);
                Assert.AreEqual(2, userActivity[0].MessagesNo);
            }
        }
        public void ExportingConversationIncludingReport()
        {
            var exporter = new ConversationExporter();

            string[] args        = { "--report" };
            var      editorCofig = new EditorConfiguration(args);
            var      editor      = new ConversationEditor(editorCofig);
            var      logCreator  = new LogCreator(editorCofig);

            exporter.ExportConversation("chat.txt", "chatReport.json", editor, logCreator);

            var serializedConversation = new StreamReader(new FileStream("chatReport.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.That(savedConversation.name, Is.EqualTo("My Conversation"));

            var messages   = savedConversation.messages.ToList();
            var reportList = savedConversation.activity.ToList();

            Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470901)));
            Assert.That(messages[0].senderId, Is.EqualTo("bob"));
            Assert.That(messages[0].content, Is.EqualTo("Hello there!"));

            Assert.That(reportList[0].sender, Is.EqualTo("bob"));
            Assert.That(reportList[0].count, Is.EqualTo(3));

            Assert.That(reportList[1].sender, Is.EqualTo("mike"));
            Assert.That(reportList[1].count, Is.EqualTo(2));

            Assert.That(reportList[2].sender, Is.EqualTo("angus"));
            Assert.That(reportList[2].count, Is.EqualTo(2));
        }
Ejemplo n.º 4
0
        public void UsernameEncryptionTest()
        {
            // Instanciate ConversationExporter.
            ConversationExporter exporter = new ConversationExporter();

            // Export the conversation in JSON file.
            exporter.ExportConversation("chat.txt", "chat.json", null, null, null, true, false);

            // Read the JSON file generated
            FileStream stream = new FileStream("chat.json", FileMode.Open);

            // using statement to correctly dispose StreamReader
            using (StreamReader reader = new StreamReader(stream))
            {
                string serializedConversation = reader.ReadToEnd();

                // Deserialize JSON data to Conversation object.
                Conversation savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

                var messages = savedConversation.Messages.ToList();

                Assert.AreEqual("bob", Encryption.Decrypt(messages[0].SenderId));
                Assert.AreEqual("mike", Encryption.Decrypt(messages[1].SenderId));
                Assert.AreEqual("angus", Encryption.Decrypt(messages[4].SenderId));
            }
        }
Ejemplo n.º 5
0
        public void TestOutputFileDataWithUserFilter()
        {
            ConversationExporter exporter = new ConversationExporter(path + "chat.txt", path + "chat_test_2.json");
            ConversationFilters  filter   = new ConversationFilters("bob", "", new string[] { "" });
            bool test = exporter.ExportConversation(filter);

            var          serializedConversation = new StreamReader(new FileStream(path + "chat_test_2.json", FileMode.Open)).ReadToEnd();
            Conversation savedConversation      = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.IsTrue(test);

            Assert.AreEqual("My Conversation", savedConversation.name);

            var messages = savedConversation.messages.ToList();

            Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470901), messages[0].timestamp);
            Assert.AreEqual("bob", messages[0].sender.username);
            Assert.AreEqual("Hello there!", messages[0].content);

            Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470906), messages[1].timestamp);
            Assert.AreEqual("bob", messages[1].sender.username);
            Assert.AreEqual("I'm good thanks, do you like pie?", messages[1].content);

            Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470914), messages[2].timestamp);
            Assert.AreEqual("bob", messages[2].sender.username);
            Assert.AreEqual("No, just want to know if there's anybody else in the pie society...", messages[2].content);
        }
        public void TestExporterOptionsSelected()
        {
            ConversationExporter exporter = new ConversationExporter();

            ConversationExporterConfiguration config = new ConversationExporterConfiguration("chat.txt", "chat2.json");

            config.userToFilter    = "bob";
            config.keywordToFilter = "Pie";
            config.obfuscate       = true;

            exporter.ExportConversation(config);

            var serializedConversation = new StreamReader(new FileStream("chat2.json", FileMode.Open)).ReadToEnd();

            Conversation savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.AreEqual("My Conversation-senderId:bob-keyword:Pie", savedConversation.name);

            var messages = savedConversation.messages.ToList();

            Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470906), messages[0].timestamp);
            Assert.AreEqual("0", messages[0].senderId);
            Assert.AreEqual("I'm good thanks, do you like pie?", messages[0].content);

            Assert.AreEqual(DateTimeOffset.FromUnixTimeSeconds(1448470914), messages[1].timestamp);
            Assert.AreEqual("0", messages[1].senderId);
            Assert.AreEqual("No, just want to know if there's anybody else in the pie society...", messages[1].content);
        }
Ejemplo n.º 7
0
        private void ExportConversation(string inputFilePath, string outputFilePath, string filterByUser, string filterByKeyword, string[] blacklist, bool report)
        {
            var exporterParameters = new ConversationExporterParameters(inputFilePath, outputFilePath, filterByUser, filterByKeyword, blacklist, report);
            var exporter           = new ConversationExporter();

            exporter.ExportConversation(exporterParameters);
        }
Ejemplo n.º 8
0
        public void ReportOnConversation()
        {
            var exporter = new ConversationExporter();

            var args = new string[3];

            args[0] = "--inputFilePath";
            args[1] = "./MyChat/chat.txt";
            args[2] = "--report";

            var configuration         = new ConfigurationBuilder().AddCommandLine(args).Build();
            var exporterConfiguration = configuration.Get <ConversationExporterConfiguration>();

            exporterConfiguration.Report = true;

            var additionalOptions = new AdditionalConversationOptions(exporterConfiguration);

            exporter.ExportConversation("chat.txt", "chat_report.json", additionalOptions);

            var serializedConversation = new StreamReader(new FileStream("chat_report.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            var activities = savedConversation.activity.ToList();

            Assert.That(activities[0].sender, Is.EqualTo("bob"));
            Assert.That(activities[0].count, Is.EqualTo(3));

            Assert.That(activities[1].sender, Is.EqualTo("mike"));
            Assert.That(activities[1].count, Is.EqualTo(2));

            Assert.That(activities[2].sender, Is.EqualTo("angus"));
            Assert.That(activities[2].count, Is.EqualTo(2));
        }
        public void NameFilterTest()
        {
            // instance

            var exporter = new ConversationExporter();

            exporter.ExportConversation("chat.txt", "chat.json");

            var serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject<Conversation>(serializedConversation);

            var messages = savedConversation.messages.ToList();

            TextFilter filter = new TextFilter();
            string user = "******";

            //actual

            var actual1 = filter.NameFilter(messages, user);
            var actualString1 = actual1[1].senderId;

            //assert(actual == expected)

            Assert.That(actualString1, Is.EqualTo("bob"));


        }
        public void Test_Modifier_ModifyByBlacklist()
        {
            var output = "chat3.json";

            var exporter      = new ConversationExporter();
            var configuration = new ConversationExporterConfiguration("chat.txt", output);

            configuration.blacklist = new List <string>();

            configuration.blacklist.Add("like");
            configuration.blacklist.Add("pie");

            configuration.writeUserActivity = false;

            exporter.ExportConversation(configuration);

            var serializedConversation = new StreamReader(new FileStream(output, FileMode.Open)).ReadToEnd();
            var savedConversation      = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            var messages = savedConversation.messages.ToList();

            Assert.Equal("Hello there!", messages[0].content);
            Assert.Equal("I'm good thanks, do you \\*redacted*\\ \\*redacted*\\?", messages[2].content);
            Assert.Equal("Hell yes! Are we buying some \\*redacted*\\?", messages[4].content);
            Assert.Equal("No, just want to know if there's anybody else in the \\*redacted*\\ society...", messages[5].content);
            Assert.Equal("YES! I'm the head \\*redacted*\\ eater there...", messages[6].content);
            Assert.Equal("I \\*redacted*\\ \\*redacted*\\", messages[8].content);
            Assert.Equal("I mean what;s not to \\*redacted*\\ about \\*redacted*\\", messages[9].content);
        }
Ejemplo n.º 11
0
        public void ExportingConversationFilteredByKeyword()
        {
            var exporter = new ConversationExporter();

            exporter.FilterByKeyword("there", "chat.txt", "chat.json");

            var serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.That(savedConversation.name, Is.EqualTo("My Conversation"));

            var messages = savedConversation.messages.ToList();

            Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470901)));
            Assert.That(messages[0].senderId, Is.EqualTo("bob"));
            Assert.That(messages[0].content, Is.EqualTo("Hello there!"));

            Assert.That(messages[1].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470914)));
            Assert.That(messages[1].senderId, Is.EqualTo("bob"));
            Assert.That(messages[1].content, Is.EqualTo("No, just want to know if there's anybody else in the pie society..."));

            Assert.That(messages[2].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470915)));
            Assert.That(messages[2].senderId, Is.EqualTo("angus"));
            Assert.That(messages[2].content, Is.EqualTo("YES! I'm the head pie eater there..."));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// The application entry point.
        /// </summary>
        /// <param name="args">
        /// The command line arguments.
        /// </param>
        public static void Main(string[] args)
        {
            try
            {
                CommandLineArgumentParser parser = new CommandLineArgumentParser();

                ConversationExporter exporter = parser.ParseCommandLineFilePaths();

                ConversationFilters filters = parser.ParseCommandLineFilters();

                if (exporter.ExportConversation(filters))
                {
                    Console.WriteLine("Conversation exported successfully");
                }
            }
            catch (OutOfMemoryException e)
            {
                Console.WriteLine("The application ran out of memory. Please restart the appliction and try again.");
                Console.WriteLine(e.InnerException.Message);
            }
            catch (IOException e)
            {
                Console.WriteLine("Something went wrong in the IO while reading the input from the user. Please restart the appliction and try again.");
                Console.WriteLine(e.InnerException.Message);
            }
        }
        public void Test_Exporter_CalculateActivity()
        {
            var output = "chat8.json";

            var exporter      = new ConversationExporter();
            var configuration = new ConversationExporterConfiguration("chat.txt", output);

            configuration.obfuscateUserIDs  = false;
            configuration.writeUserActivity = false;

            exporter.ExportConversation(configuration);

            var serializedConversation = new StreamReader(new FileStream(output, FileMode.Open)).ReadToEnd();
            var savedConversation      = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            var messages = savedConversation.messages.ToList();

            var userActivityList = exporter.CalculateActivity(savedConversation);

            Assert.Equal(5, userActivityList.First(x => x.userID == "matas").messageCount);
            Assert.Equal(1, userActivityList.First(x => x.userID == "chris").messageCount);
            Assert.Equal(1, userActivityList.First(x => x.userID == "thomas").messageCount);
            Assert.Equal(2, userActivityList.First(x => x.userID == "angus").messageCount);
            Assert.Equal(2, userActivityList.First(x => x.userID == "mike").messageCount);
            Assert.Equal(3, userActivityList.First(x => x.userID == "bob").messageCount);
        }
Ejemplo n.º 14
0
        public void HiddenNumbersTest()
        {
            // Instanciate ConversationExporter.
            ConversationExporter exporter = new ConversationExporter();

            // Export the conversation in JSON file.
            exporter.ExportConversation("chat.txt", "chat.json", null, null, null, false, true);

            // Read the JSON file generated
            FileStream stream = new FileStream("chat.json", FileMode.Open);

            // using statement to correctly dispose StreamReader
            using (StreamReader reader = new StreamReader(stream))
            {
                string serializedConversation = reader.ReadToEnd();

                // Deserialize JSON data to Conversation object.
                Conversation savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

                var messages = savedConversation.Messages.ToList();

                Assert.AreEqual("Call me on ************ to give me your credit card details.", messages[7].Content);
                Assert.AreEqual("Its ************5100", messages[8].Content);
                Assert.AreEqual("Mine is ************1881", messages[9].Content);
            }
        }
Ejemplo n.º 15
0
        public string TriggerConversation(string[] args)
        {
            ConversationExporter ce = new ConversationExporter();

            ce.Trigger(args);

            return("It's done :-)");
        }
        public void Test_CheckLineValidator()
        {
            var exporter = new ConversationExporter();

            Assert.True(exporter.LineValidator("48464655 matas hello pie ".Split(' ')));
            Assert.False(exporter.LineValidator("5555 hi".Split(' ')));
            Assert.False(exporter.LineValidator("5555 hi ".Split(' ')));
            Assert.False(exporter.LineValidator(" ".Split(' ')));
            Assert.False(exporter.LineValidator("9999 matas".Split(' ')));
        }
Ejemplo n.º 17
0
        public void FilteringConversationFiltersReport()
        {
            var exporter           = new ConversationExporter();
            var exporterParameters = new ConversationExporterParameters("chat.txt", null, "bob", null, null, true);

            var conversation = exporter.ReadConversation(exporterParameters);
            var activity     = conversation.activity.ToList <Activity>();

            Assert.That(activity[0].count, Is.EqualTo(3));
            Assert.That(activity[0].sender, Is.EqualTo("bob"));
        }
Ejemplo n.º 18
0
        public void ReadConversationExceptionFileNotFound()
        {
            ConversationExporter exporter = new ConversationExporter(path + "chatVVV.txt", path + "chat_output.json");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            exporter.ReadConversation();

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }
Ejemplo n.º 19
0
        public void WriteConversationExceptionFileNameEmpty()
        {
            ConversationExporter exporter = new ConversationExporter(path + "chat.txt", path + "");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            exporter.WriteConversation(new Conversation());

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }
Ejemplo n.º 20
0
        public void WriteConversationExceptionDirectoryNotFound()
        {
            ConversationExporter exporter = new ConversationExporter(path + "chat.txt", path + "\\vvv\\" + "chat_output.json");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            exporter.WriteConversation(new Conversation());

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }
Ejemplo n.º 21
0
        public void ExportingConversationExportsConversation()
        {
            var exporter = new ConversationExporter();

            var args = new string[2];

            args[0] = "--inputFilePath";
            args[1] = "./MyChat/chat.txt";

            var configuration         = new ConfigurationBuilder().AddCommandLine(args).Build();
            var exporterConfiguration = configuration.Get <ConversationExporterConfiguration>();

            var additionalOptions = new AdditionalConversationOptions(exporterConfiguration);

            exporter.ExportConversation("chat.txt", "chat.json", additionalOptions);

            var serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.That(savedConversation.name, Is.EqualTo("My Conversation"));

            var messages = savedConversation.messages.ToList();

            Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470901)));
            Assert.That(messages[0].senderId, Is.EqualTo("bob"));
            Assert.That(messages[0].content, Is.EqualTo("Hello there!"));

            Assert.That(messages[1].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470905)));
            Assert.That(messages[1].senderId, Is.EqualTo("mike"));
            Assert.That(messages[1].content, Is.EqualTo("how are you?"));

            Assert.That(messages[2].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470906)));
            Assert.That(messages[2].senderId, Is.EqualTo("bob"));
            Assert.That(messages[2].content, Is.EqualTo("I'm good thanks, do you like pie?"));

            Assert.That(messages[3].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470910)));
            Assert.That(messages[3].senderId, Is.EqualTo("mike"));
            Assert.That(messages[3].content, Is.EqualTo("no, let me ask Angus..."));

            Assert.That(messages[4].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470912)));
            Assert.That(messages[4].senderId, Is.EqualTo("angus"));
            Assert.That(messages[4].content, Is.EqualTo("Hell yes! Are we buying some pie?"));

            Assert.That(messages[5].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470914)));
            Assert.That(messages[5].senderId, Is.EqualTo("bob"));
            Assert.That(messages[5].content, Is.EqualTo("No, just want to know if there's anybody else in the pie society..."));

            Assert.That(messages[6].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470915)));
            Assert.That(messages[6].senderId, Is.EqualTo("angus"));
            Assert.That(messages[6].content, Is.EqualTo("YES! I'm the head pie eater there..."));
        }
        public void GeneralTest()
        {
            var exporter = new ConversationExporter();

            exporter.ExportConversation("chat.txt", "chat.json");

            var serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject<Conversation>(serializedConversation);

            Assert.That(savedConversation.name, Is.EqualTo("My Conversation"));

        }
Ejemplo n.º 23
0
        public void ConversationmostActiveUser()
        {
            ConversationExporter exporter = new ConversationExporter();
            ConversationExporterConfiguration configuration = new ConversationExporterConfiguration("chat.txt", "chat.json", null);

            exporter.ExportConversation(configuration);
            var          serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd();
            Conversation savedConversation      = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            var messages = savedConversation.messages.ToList();
            var con      = new Conversation("Test Conversation", messages, configuration);

            Console.WriteLine(con.mostActiveUser);
            Assert.AreEqual("User: bob made 3 Chats", con.mostActiveUser);
        }
        public void Test_CheckConversationName()
        {
            var output = "chat5.json";

            var exporter      = new ConversationExporter();
            var configuration = new ConversationExporterConfiguration("chat.txt", output);

            configuration.writeUserActivity = false;

            exporter.ExportConversation(configuration);

            var serializedConversation = new StreamReader(new FileStream(output, FileMode.Open)).ReadToEnd();
            var savedConversation      = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.Equal("My Conversation", savedConversation.name);
        }
Ejemplo n.º 25
0
        public void ReadConversationEmptyFile()
        {
            string       testConversation = "";
            StreamWriter writer           = new StreamWriter(new FileStream(path + "chat_test_8.txt", FileMode.Create, FileAccess.Write));

            writer.Write(testConversation);
            writer.Flush();
            writer.Close();

            ConversationExporter exporter = new ConversationExporter(path + "chat_test_8.txt", path + "chat_output.json");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }
        public void ExportingConversationExportsConversation()
        {
            var exporter = new ConversationExporter();

            string[] args        = { };
            var      editorCofig = new EditorConfiguration(args);
            var      editor      = new ConversationEditor(editorCofig);
            var      logCreator  = new LogCreator(editorCofig);

            exporter.ExportConversation("chat.txt", "chat.json", editor, logCreator);

            var serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd();

            var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            Assert.That(savedConversation.name, Is.EqualTo("My Conversation"));

            var messages = savedConversation.messages.ToList();

            Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470901)));
            Assert.That(messages[0].senderId, Is.EqualTo("bob"));
            Assert.That(messages[0].content, Is.EqualTo("Hello there!"));

            Assert.That(messages[1].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470905)));
            Assert.That(messages[1].senderId, Is.EqualTo("mike"));
            Assert.That(messages[1].content, Is.EqualTo("how are you?"));

            Assert.That(messages[2].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470906)));
            Assert.That(messages[2].senderId, Is.EqualTo("bob"));
            Assert.That(messages[2].content, Is.EqualTo("I'm good thanks, do you like pie?"));

            Assert.That(messages[3].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470910)));
            Assert.That(messages[3].senderId, Is.EqualTo("mike"));
            Assert.That(messages[3].content, Is.EqualTo("no, let me ask Angus..."));

            Assert.That(messages[4].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470912)));
            Assert.That(messages[4].senderId, Is.EqualTo("angus"));
            Assert.That(messages[4].content, Is.EqualTo("Hell yes! Are we buying some pie?"));

            Assert.That(messages[5].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470914)));
            Assert.That(messages[5].senderId, Is.EqualTo("bob"));
            Assert.That(messages[5].content, Is.EqualTo("No, just want to know if there's anybody else in the pie society..."));

            Assert.That(messages[6].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470915)));
            Assert.That(messages[6].senderId, Is.EqualTo("angus"));
            Assert.That(messages[6].content, Is.EqualTo("YES! I'm the head pie eater there..."));
        }
        public void Test_CheckMessages()
        {
            var output = "chat0.json";

            var exporter      = new ConversationExporter();
            var configuration = new ConversationExporterConfiguration("chat.txt", output);

            configuration.writeUserActivity = false;


            exporter.ExportConversation(configuration);

            var serializedConversation = new StreamReader(new FileStream(output, FileMode.Open)).ReadToEnd();
            var savedConversation      = JsonConvert.DeserializeObject <Conversation>(serializedConversation);

            var messages = savedConversation.messages.ToList();

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470901), messages[0].timestamp);
            Assert.Equal("bob", messages[0].senderId);
            Assert.Equal("Hello there!", messages[0].content);

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470905), messages[1].timestamp);
            Assert.Equal("mike", messages[1].senderId);
            Assert.Equal("how are you?", messages[1].content);

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470906), messages[2].timestamp);
            Assert.Equal("bob", messages[2].senderId);
            Assert.Equal("I'm good thanks, do you like pie?", messages[2].content);

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470910), messages[3].timestamp);
            Assert.Equal("mike", messages[3].senderId);
            Assert.Equal("no, let me ask Angus...", messages[3].content);

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470912), messages[4].timestamp);
            Assert.Equal("angus", messages[4].senderId);
            Assert.Equal("Hell yes! Are we buying some pie?", messages[4].content);

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470914), messages[5].timestamp);
            Assert.Equal("bob", messages[5].senderId);
            Assert.Equal("No, just want to know if there's anybody else in the pie society...", messages[5].content);

            Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1448470915), messages[6].timestamp);
            Assert.Equal("angus", messages[6].senderId);
            Assert.Equal("YES! I'm the head pie eater there...", messages[6].content);
        }
Ejemplo n.º 28
0
        public void ReadConversationExceptionTimestampFormat()
        {
            string       testConversation = "My Test Conversation\nVVV bob Hello there!";
            StreamWriter writer           = new StreamWriter(new FileStream(path + "chat_test_6.txt", FileMode.Create, FileAccess.Write));

            writer.Write(testConversation);
            writer.Flush();
            writer.Close();

            ConversationExporter exporter = new ConversationExporter(path + "chat_test_6.txt", path + "chat_output.json");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            exporter.ReadConversation();

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }
Ejemplo n.º 29
0
        public void ReadConversationExceptionMessageLessArguments()
        {
            string       testConversation = "My Test Conversation\n1448470901";
            StreamWriter writer           = new StreamWriter(new FileStream(path + "chat_test_7.txt", FileMode.Create, FileAccess.Write));

            writer.Write(testConversation);
            writer.Flush();
            writer.Close();

            ConversationExporter exporter = new ConversationExporter(path + "chat_test_7.txt", path + "chat_output.json");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            exporter.ReadConversation();

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }
Ejemplo n.º 30
0
        public void ReadConversationExceptionFilePermission()
        {
            StreamReader reader = new StreamReader(new FileStream(path + "chat.txt", FileMode.Open, FileAccess.Read), Encoding.ASCII);

            StreamWriter writer = new StreamWriter(new FileStream(path + "chat_test_5.txt", FileMode.Create, FileAccess.Write));

            writer.Write(reader.ReadToEnd());
            writer.Flush();
            writer.Close();

            ConversationExporter exporter = new ConversationExporter(path + "chat_text_5.txt", path + "chat_output.json");
            ConversationFilters  filter   = new ConversationFilters("", "", new string[] { "" });

            exporter.ReadConversation();

            bool test = exporter.ExportConversation(filter);

            Assert.IsFalse(test);
        }