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); }
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); }