public void GetUtcNowAccuracyIsSeconds() { var systemClock = new SystemClockSecondsAccuracy(); var nowActual = systemClock.UtcNow; var nowExpected = DateTimeOffset.UtcNow; var diff = nowExpected - nowActual; var seconds = Math.Abs(diff.TotalSeconds); Assert.True(seconds < 1.0); }
public void UtcNowHasZeroMilliseconds() { var systemClock = new SystemClockSecondsAccuracy(); var sw = Stopwatch.StartNew(); var startTime = systemClock.UtcNow; Assert.Equal(0, startTime.Millisecond); SpinWait.SpinUntil(() => sw.ElapsedMilliseconds > 1, 2); var endTime = systemClock.UtcNow; Assert.Equal(0, endTime.Millisecond); Assert.True(sw.ElapsedMilliseconds > 0); var duration = endTime - startTime; Assert.Equal(0.0, duration.TotalMilliseconds); }