diff --git a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs index 4f74505425481047dcbb8606b6fea66083d59b77..43eac1eccc40cb04e75d65a285c9eb6c2c9b9493 100644 --- a/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs +++ b/src/Libraries/Microsoft.Extensions.TimeProvider.Testing/FakeTimeProvider.cs @@ -161,7 +161,7 @@ public override long GetTimestamp() /// Returns a string representation this provider's idea of current time. /// /// A string representing the provider's current time. - public override string ToString() => GetUtcNow().ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture); + public override string ToString() => _now.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture); /// public override ITimer CreateTimer(TimerCallback callback, object? state, TimeSpan dueTime, TimeSpan period) diff --git a/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs b/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs index f4b8d238ea7540ddb7849688944b362dde4ea5f3..4d46cc10c34744fbc2447f2774e5709398f2eb07 100644 --- a/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs +++ b/test/Libraries/Microsoft.Extensions.TimeProvider.Testing.Tests/FakeTimeProviderTests.cs @@ -320,5 +320,29 @@ public void AutoAdvance() Assert.Equal(timeProvider.Start + TimeSpan.FromSeconds(1), second); Assert.Equal(timeProvider.Start + TimeSpan.FromSeconds(2), third); } + + [Fact] + public void ToString_AutoAdvance_off() + { + var timeProvider = new FakeTimeProvider(); + + _ = timeProvider.ToString(); + + Assert.Equal(timeProvider.Start, timeProvider.GetUtcNow()); + } + + [Fact] + public void ToString_AutoAdvance_on() + { + var timeProvider = new FakeTimeProvider + { + AutoAdvanceAmount = TimeSpan.FromSeconds(1) + }; + + _ = timeProvider.ToString(); + + timeProvider.AutoAdvanceAmount = TimeSpan.Zero; + Assert.Equal(timeProvider.Start, timeProvider.GetUtcNow()); + } }