Exemplo n.º 1
0
        public void SouceLogs_ShouldRemoveNoExistedFile()
        {
            var existedFile   = new FileInfo(TestConsts.FILENAME_MESSAGEONLY).FullName;
            var noExistedFile = @"C:\scwang30002781717253 - Archive(100).xml";

            var combiner = new MsnHistoryCombiner();

            combiner.XmlFilePaths.Add(existedFile);
            combiner.XmlFilePaths.Add(noExistedFile);

            Assert.AreEqual(1, combiner.SourceLogs.Count);
        }
Exemplo n.º 2
0
        public void Merge_TwoSameSources_RemoveDuplicatedMessages()
        {
            var combiner = new MsnHistoryCombiner();

            combiner.XmlFilePaths.Add(new FileInfo(TestConsts.FILENAME_COMBINE_LEFT).FullName);
            combiner.XmlFilePaths.Add(new FileInfo(TestConsts.FILENAME_COMBINE_DUPLICATED).FullName);

            combiner.Merge();

            var targetFile = Path.Combine(MsnContext.Instance.TargetDirectoryPath, TestConsts.FILENAME_COMBINE_LEFT.GetHistoryFileUniqueName());
            var mergedLog  = HistoryXmlReader.Instance.Read(targetFile);

            Assert.AreEqual(7, mergedLog.Messages.Count);

            File.Delete(targetFile);
        }
Exemplo n.º 3
0
        public void Merge_TwoSouces_MergeTheMessageTogether()
        {
            var combiner = new MsnHistoryCombiner();

            combiner.XmlFilePaths.Add((new FileInfo(TestConsts.FILENAME_COMBINE_LEFT)).FullName);
            combiner.XmlFilePaths.Add((new FileInfo(TestConsts.FILENAME_COMBINE_RIGHT)).FullName);

            combiner.Merge();

            // find the result
            var targetFile = Path.Combine(MsnContext.Instance.TargetDirectoryPath, TestConsts.FILENAME_COMBINE_LEFT.GetHistoryFileUniqueName());

            Assert.IsTrue(File.Exists(targetFile));

            var mergedLog = HistoryXmlReader.Instance.Read(targetFile);

            Assert.AreEqual(17, mergedLog.Messages.Count);

            File.Delete(targetFile);
        }
Exemplo n.º 4
0
        public void ResetSessionID_MultipleAndUnOrdered_ReOrder()
        {
            var combiner = new MsnHistoryCombiner();

            combiner.MergedMsnLog = new MsnLog();

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 1, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 2, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 1, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 2, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 2, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 2, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 3, UniversalTime = DateTime.Now
            });

            combiner.ResetSessionID();
            Assert.AreEqual(1, combiner.MergedMsnLog.Messages[0].SessionID);
            Assert.AreEqual(4, combiner.MergedMsnLog.Messages[combiner.MergedMsnLog.Messages.Count - 2].SessionID);
            Assert.AreEqual(5, combiner.MergedMsnLog.Messages[combiner.MergedMsnLog.Messages.Count - 1].SessionID);
        }
Exemplo n.º 5
0
        public void ResetSessionID_OnlyOneSessionIdExist_NoChange()
        {
            var combiner = new MsnHistoryCombiner();

            combiner.MergedMsnLog = new MsnLog();

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 1, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 1, UniversalTime = DateTime.Now
            });
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                SessionID = 1, UniversalTime = DateTime.Now
            });

            combiner.ResetSessionID();

            Assert.AreEqual(1, combiner.MergedMsnLog.Messages[combiner.MergedMsnLog.Messages.Count - 1].SessionID);
        }
Exemplo n.º 6
0
        public void RemoveDuplicatedMessage_AllSame_RemoveTheDuplicated()
        {
            var combiner = new MsnHistoryCombiner();

            combiner.MergedMsnLog = new MsnLog();

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                From = new MsnDirection(null, MsnDirectionType.From)
                {
                    User = new List <MsnUser> {
                        new MsnUser(null)
                        {
                            FriendlyName = "Jerry"
                        }
                    }
                },
                SessionID     = 1,
                UniversalTime = DateTime.Now,
                Text          = new MsnText(null)
                {
                    Style = "bold", Value = "Test the unit"
                },
            });

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                From = new MsnDirection(null, MsnDirectionType.From)
                {
                    User = new List <MsnUser> {
                        new MsnUser(null)
                        {
                            FriendlyName = "Jerry"
                        }
                    }
                },
                SessionID     = 1,
                UniversalTime = DateTime.Now.AddMilliseconds(20),
                Text          = new MsnText(null)
                {
                    Style = "bold", Value = "Test the unit"
                },
            });

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                From = new MsnDirection(null, MsnDirectionType.From)
                {
                    User = new List <MsnUser> {
                        new MsnUser(null)
                        {
                            FriendlyName = "Jerry"
                        }
                    }
                },
                SessionID     = 1,
                UniversalTime = DateTime.Now.AddMilliseconds(400),
                Text          = new MsnText(null)
                {
                    Style = "bold", Value = "Test the unit"
                },
            });

            combiner.RemoveDuplicatedMessage();

            Assert.AreEqual(1, combiner.MergedMsnLog.Messages.Count);
        }
Exemplo n.º 7
0
        public void RemoveDuplicatedMessage_TextAllSameButTheDiffOfTimeOfFirstAndSecondIsTooBig_JustRemoveTheThird()
        {
            var combiner = new MsnHistoryCombiner();

            combiner.MergedMsnLog = new MsnLog();

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                From = new MsnDirection(null, MsnDirectionType.From)
                {
                    User = new List <MsnUser> {
                        new MsnUser(null)
                        {
                            FriendlyName = "Jerry"
                        }
                    }
                },
                SessionID     = 1,
                UniversalTime = DateTime.Now,
                Text          = new MsnText(null)
                {
                    Style = "bold", Value = "Test the unit"
                },
            });

            // This time diff is very big (great than 10 seconds)
            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                From = new MsnDirection(null, MsnDirectionType.From)
                {
                    User = new List <MsnUser> {
                        new MsnUser(null)
                        {
                            FriendlyName = "Jerry"
                        }
                    }
                },
                SessionID     = 1,
                UniversalTime = DateTime.Now.AddSeconds(11),
                Text          = new MsnText(null)
                {
                    Style = "bold", Value = "Test the unit"
                },
            });

            combiner.MergedMsnLog.Messages.Add(new MsnMessage(null)
            {
                From = new MsnDirection(null, MsnDirectionType.From)
                {
                    User = new List <MsnUser> {
                        new MsnUser(null)
                        {
                            FriendlyName = "Jerry"
                        }
                    }
                },
                SessionID     = 1,
                UniversalTime = DateTime.Now.AddSeconds(12),
                Text          = new MsnText(null)
                {
                    Style = "bold", Value = "Test the unit"
                },
            });

            combiner.RemoveDuplicatedMessage();

            Assert.AreEqual(2, combiner.MergedMsnLog.Messages.Count);
        }