Beispiel #1
0
        public void IsLoggingAsync()
        {
            var     delay  = 1000;
            var     sink   = new SimulatedSlowSink(delay);
            ILogger logger = new Logger(sink);

            var sw = Stopwatch.StartNew();

            logger.Log("Message");


            var maxTimeToWriteToLogInMilliseconds = delay;

            Assert.Less(sw.ElapsedMilliseconds, maxTimeToWriteToLogInMilliseconds);

            Thread.Sleep(delay);
            Assert.AreEqual("Message", sink.WrittenLine);
        }
Beispiel #2
0
        public void IsLoggingAsync()
        {
            // Arrange
            var delay = 1000;
            var maxTimeToWriteToLogInMilliseconds = delay;
            var sink = new SimulatedSlowSink(delay);
            var logStatementDispathcer = new AsyncLogStatementDispatcher(new List <ISink> {
                sink
            });

            var sw = Stopwatch.StartNew();

            // Act
            var logger = new Logger(logStatementDispathcer);

            logger.Log("Message");

            // Assert
            Assert.Less(sw.ElapsedMilliseconds, maxTimeToWriteToLogInMilliseconds);
        }