public void DoesLogInOrder(int count) { // Arrange var writer = new LogQueueWriter(); var formatter = new MessageOnlyFormatter(); using (var logger = new AsyncLogger(writer, formatter)) { // Act for (var i = 0; i < count; i++) { logger.Info(i.ToString()); } while (!writer.Lines.Any()) { } logger.Flush(); } // Assert Assert.Equal(count, writer.Lines.Count); var logLines = writer.Lines.Select(int.Parse).ToList(); for (var i = 0; i < logLines.Count - 1; i++) { Assert.Equal(logLines[i], logLines[i + 1] - 1); } }
public void DoesFormat(LogType logType, string message) { // Arrange var writer = new LogQueueWriter(); var formatter = new TypeMessageFormatter(); using (var logger = new AsyncLogger(writer, formatter)) { // Act logger.Log(logType, message); while (!writer.Lines.Any()) { } logger.Flush(); } // Assert var originalLog = writer.Lines.Single(); var duplicateEntry = new LogEntry { LogType = logType, Message = message }; var duplicateLog = formatter.Format(duplicateEntry); Assert.Equal(originalLog, duplicateLog); }
public void DoesLog(LogType logType, string message) { // Arrange var writer = new LogQueueWriter(); var formatter = new LogFormatter(); using (var logger = new AsyncLogger(writer, formatter)) { // Act logger.Log(logType, message); while (!writer.Lines.Any()) { } logger.Flush(); } // Assert Assert.Single(writer.Lines); }