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); }
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); }
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); }
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); }