public void MiddlewareShouldCollectAndWriteMultiple() { var maxMessages = 0; using var middleware = new ConcurrentCollectMiddleware { NextMiddleware = new ActionMiddleware(messages => { Thread.Sleep(10); var count = messages.Count(); if (maxMessages < count) { maxMessages = count; } }) }; for (var i = 0; i < 25; i++) { middleware.Execute(new LogMessage()); } middleware.Flush(); Assert.NotEqual(0, maxMessages); Assert.NotEqual(1, maxMessages); }
public void DisposeShouldWriteAllMessages() { var messagesCount = 0; { using var middleware = new ConcurrentCollectMiddleware { NextMiddleware = new ActionMiddleware(messages => { Thread.Sleep(10); var count = messages.Count(); messagesCount += count; }) }; for (var i = 0; i < 25; i++) { middleware.Execute(new LogMessage()); } } Assert.Equal(25, messagesCount); }