예제 #1
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);
        }
예제 #2
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);
        }