public void AsyncQueueLogWriterTests_WriteEvent_WritesToChild() { var events = new List<LogEvent>(10); var childWriter = new ListLogWriter(events, 10); var logWriter = new AsyncQueueLogWriter(childWriter, 1, TimeSpan.Zero, null); var logEvent = new LogEvent() { EventName = "Test" }; logWriter.Write(logEvent); System.Threading.Thread.Sleep(250); Assert.AreEqual(1, events.Count); Assert.AreEqual(logEvent.EventName, events[0].EventName); }
public void AggregateLogWriter_WriteEvent_WritesToChildOnBatchSizeReached() { var events = new List<LogEvent>(10); var child = new ListLogWriter(events, 10); var logWriter = new AsyncQueueLogWriter(child, 10, TimeSpan.Zero, null); for (int cnt = 0; cnt < 5; cnt++) { var logEvent = new LogEvent(); logEvent.EventName = "Test " + Guid.NewGuid().ToString(); logWriter.Write(logEvent); } System.Threading.Thread.Sleep(250); Assert.AreEqual(0, events.Count); for (int cnt = 0; cnt < 5; cnt++) { var logEvent = new LogEvent(); logEvent.EventName = "Test " + Guid.NewGuid().ToString(); logWriter.Write(logEvent); } System.Threading.Thread.Sleep(250); Assert.AreEqual(10, events.Count); }
public void AggregateLogWriter_WriteEvent_WritesAfterTimeoutIfBatchSizeNotReached() { var events = new List<LogEvent>(10); var child = new ListLogWriter(events, 10); var logWriter = new AsyncQueueLogWriter(child, 10, TimeSpan.FromSeconds(1), null); for (int cnt = 0; cnt < 5; cnt++) { var logEvent = new LogEvent(); logEvent.EventName = "Test " + Guid.NewGuid().ToString(); logWriter.Write(logEvent); } Assert.AreEqual(0, events.Count); System.Threading.Thread.Sleep(250); Assert.AreEqual(0, events.Count); System.Threading.Thread.Sleep(1000); Assert.AreEqual(5, events.Count); }