Skip to content

Commit 67c5f47

Browse files
committed
refactor: tweaks to code and improved debugging display
1 parent 0c600e9 commit 67c5f47

File tree

5 files changed

+11
-21
lines changed

5 files changed

+11
-21
lines changed

src/TimeProviderExtensions/ManualTimeProvider.ManualTimer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ private void Dispose(bool _)
7373
scheduledCallback = null;
7474
}
7575

76-
private static void ValidateTimeSpanRange(TimeSpan time, [CallerArgumentExpression("time")] string? parameter = null)
76+
private static void ValidateTimeSpanRange(TimeSpan time, [CallerArgumentExpression(nameof(time))] string? parameter = null)
7777
{
7878
long tm = (long)time.TotalMilliseconds;
7979
if (tm < -1)

src/TimeProviderExtensions/ManualTimeProvider.ManualTimerScheduledCallback.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public partial class ManualTimeProvider : TimeProvider
1414
// the GC should be collect the ManualTimer in case users forget to dispose it.
1515
// If all the references captured by this type was part of the ManualTimer
1616
// type, the finalizer would not be invoked on ManualTimer if a callback was scheduled.
17-
private sealed class ManualTimerScheduler : IComparable<ManualTimerScheduler>
17+
private sealed class ManualTimerScheduler
1818
{
1919
private readonly TimerCallback callback;
2020
private readonly object? state;
@@ -32,11 +32,6 @@ public ManualTimerScheduler(ManualTimeProvider timeProvider, TimerCallback callb
3232
this.state = state;
3333
}
3434

35-
public int CompareTo(ManualTimerScheduler? other)
36-
=> other is not null
37-
? Comparer<DateTimeOffset>.Default.Compare(CallbackTime, other.CallbackTime)
38-
: -1;
39-
4035
public override string ToString()
4136
=> running
4237
? $"Next callback invocation {CallbackTime.ToString("yyyy-MM-ddTHH:mm:ss.fff", CultureInfo.InvariantCulture)}"

src/TimeProviderExtensions/ManualTimeProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace TimeProviderExtensions;
99
/// <remarks>
1010
/// Learn more at <see href="https://github.com/egil/TimeProviderExtensions"/>.
1111
/// </remarks>
12-
[DebuggerDisplay("{ToString()}. Scheduled callback count: {ScheduledCallbackCount}")]
12+
[DebuggerDisplay("UtcNow: {ToString(),nq}. Scheduled timer callbacks: {callbacks.Count}. Auto advance amount: {autoAdvanceAmount,nq}.")]
1313
public partial class ManualTimeProvider : TimeProvider
1414
{
1515
internal const uint MaxSupportedTimeout = 0xfffffffe;
@@ -24,7 +24,7 @@ public partial class ManualTimeProvider : TimeProvider
2424
/// <summary>
2525
/// Gets the number of callbacks that are scheduled to be triggered in the future.
2626
/// </summary>
27-
internal int ScheduledCallbackCount => callbacks.Count;
27+
internal int ScheduledCallbacks => callbacks.Count;
2828

2929
/// <summary>
3030
/// Gets the starting date and time for this provider.

test/TimeProviderExtensions.Tests/ManualTimeProviderWaitAsyncTests.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ public class ManualTimeProviderWaitAsyncTests
88
private readonly static TimeSpan DelayedTaskDelay = TimeSpan.FromMilliseconds(2);
99
private readonly static string StringTaskResult = Guid.NewGuid().ToString();
1010

11-
private static async Task DelayedTask(TimeProvider provider)
12-
{
13-
await provider.Delay(DelayedTaskDelay);
14-
}
11+
private static async Task DelayedTask(TimeProvider provider) => await provider.Delay(DelayedTaskDelay);
1512

1613
private static async Task<string> DelayedStringTask(TimeProvider provider)
1714
{
@@ -40,8 +37,6 @@ public async Task WaitAsync_timeout_input_validation(Func<ManualTimeProvider, Ta
4037
await sut.Invoking(invalidInvocation)
4138
.Should()
4239
.ThrowAsync<ArgumentOutOfRangeException>();
43-
// This should be timeout in all cases, but it seems the .NET 8 implementation sometimes returns dueTime.
44-
//.WithParameterName("timeout");
4540
}
4641

4742
public static TheoryData<Func<ManualTimeProvider, Task>> CompletedInvocations { get; } =

test/TimeProviderExtensions.Tests/Microsoft.Extensions.Time.Testing.Test/TimerTests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,20 +210,20 @@ public void WaiterRemovedAfterDispose()
210210
var timer2Counter = 0;
211211

212212
var timeProvider = new FakeTimeProvider();
213-
var waitersCountStart = timeProvider.ScheduledCallbackCount;
213+
var waitersCountStart = timeProvider.ScheduledCallbacks;
214214

215215
var timer1 = timeProvider.CreateTimer(_ => timer1Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1));
216216
var timer2 = timeProvider.CreateTimer(_ => timer2Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1));
217217

218-
var waitersCountDuring = timeProvider.ScheduledCallbackCount;
218+
var waitersCountDuring = timeProvider.ScheduledCallbacks;
219219

220220
timeProvider.Advance(TimeSpan.FromMilliseconds(1));
221221

222222
timer1.Dispose();
223223

224224
timeProvider.Advance(TimeSpan.FromMilliseconds(1));
225225

226-
var waitersCountAfter = timeProvider.ScheduledCallbackCount;
226+
var waitersCountAfter = timeProvider.ScheduledCallbacks;
227227

228228
Assert.Equal(0, waitersCountStart);
229229
Assert.Equal(2, waitersCountDuring);
@@ -240,12 +240,12 @@ public void WaiterRemovedWhenCollectedWithoutDispose()
240240
var timer2Counter = 0;
241241

242242
var timeProvider = new FakeTimeProvider();
243-
var waitersCountStart = timeProvider.ScheduledCallbackCount;
243+
var waitersCountStart = timeProvider.ScheduledCallbacks;
244244

245245
var timer1 = timeProvider.CreateTimer(_ => timer1Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1));
246246
var timer2 = timeProvider.CreateTimer(_ => timer2Counter++, null, TimeSpan.FromMilliseconds(1), TimeSpan.FromMilliseconds(1));
247247

248-
var waitersCountDuring = timeProvider.ScheduledCallbackCount;
248+
var waitersCountDuring = timeProvider.ScheduledCallbacks;
249249

250250
timeProvider.Advance(TimeSpan.FromMilliseconds(1));
251251

@@ -257,7 +257,7 @@ public void WaiterRemovedWhenCollectedWithoutDispose()
257257

258258
timeProvider.Advance(TimeSpan.FromMilliseconds(1));
259259

260-
var waitersCountAfter = timeProvider.ScheduledCallbackCount;
260+
var waitersCountAfter = timeProvider.ScheduledCallbacks;
261261

262262
Assert.Equal(0, waitersCountStart);
263263
Assert.Equal(2, waitersCountDuring);

0 commit comments

Comments
 (0)