Ejemplo n.º 1
0
        void TestTimeSource(TimeSource source, DateTime expected, DateTimeKind kind)
        {
            Assert.IsType(typeof(FastLocalTimeSource), TimeSource.Current);
            TimeSource.Current = source;
            Assert.Same(source, TimeSource.Current);
            var evt = new LogEventInfo(LogLevel.Info, "logger", "msg");

            Assert.Equal(kind, evt.TimeStamp.Kind);
            Assert.True((expected - evt.TimeStamp).Duration() < TimeSpan.FromSeconds(5));

            Assert.True((source.Time - source.FromSystemTime(DateTime.UtcNow)).Duration() < TimeSpan.FromSeconds(5));

            LogEventInfo evt2;

            do
            {
                evt2 = new LogEventInfo(LogLevel.Info, "logger", "msg");
            } while (evt.TimeStamp == evt2.TimeStamp);
            Assert.Equal(kind, evt2.TimeStamp.Kind);
            Assert.True(evt2.TimeStamp > evt.TimeStamp);
            Assert.True(evt2.TimeStamp - evt.TimeStamp <= TimeSpan.FromSeconds(1));
        }