コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }