Пример #1
0
        public void MessagesModel_ReceivesMessagesFromLoggerEvents()
        {
            // Arrange
            var loggerEvents = new MockLoggerEvents();
            var model        = new MessagesModel(null, loggerEvents);

            // Act
            loggerEvents.RaiseLogged(new[] { "Foo", "Bar" });
            // Assert
            Assert.AreEqual(2, model.Messages.Count);
        }
Пример #2
0
        public void MessagesModel_LoggerEventsLoggedRaisesOneListChangedEvent()
        {
            // Arrange
            var loggerEvents = new MockLoggerEvents();
            var model        = new MessagesModel(null, loggerEvents);
            int listChanged  = 0;

            model.Messages.ListChanged += (s, e) => listChanged++;
            // Act
            loggerEvents.RaiseLogged(new[] { "Foo", "Bar" });
            // Assert
            Assert.AreEqual(1, listChanged);
        }
Пример #3
0
        public void MessagesModel_HoldsMaximumCapacityOfMessages()
        {
            // Arrange
            var loggerEvents     = new MockLoggerEvents();
            var model            = new MessagesModel(null, loggerEvents);
            int numberOfMessages = MessagesModel.MaxMessageCapacity + 1;
            var messages         = Enumerable.Range(0, numberOfMessages)
                                   .Select(x => "Foo")
                                   .ToList();

            // Act
            loggerEvents.RaiseLogged(messages);
            // Assert
            Assert.AreNotEqual(numberOfMessages, model.Messages.Count);
            Assert.AreEqual(MessagesModel.MaxMessageCapacity, model.Messages.Count);
        }
Пример #4
0
        public void MessagesModel_ReplacesMessages()
        {
            // Arrange
            var loggerEvents     = new MockLoggerEvents();
            var model            = new MessagesModel(null, loggerEvents);
            int numberOfMessages = MessagesModel.MaxMessageCapacity / 2;

            for (int i = 0; i < 4; i++)
            {
                var messages = Enumerable.Range(0, numberOfMessages)
                               .Select(x => $"Foo{i}")
                               .ToList();
                // Act
                loggerEvents.RaiseLogged(messages);
            }
            // Assert
            IEnumerable <string> expected = Enumerable.Range(0, numberOfMessages)
                                            .Select(x => "Foo2")
                                            .Concat(Enumerable.Range(0, numberOfMessages)
                                                    .Select(x => "Foo3"));

            CollectionAssert.AreEqual(expected, model.Messages);
        }