20 lines
660 B
C#
20 lines
660 B
C#
namespace ClawdDotNet.Core.Tests.Infrastructure;
|
|
|
|
/// <summary>
|
|
/// Ein steuerbarer <see cref="TimeProvider"/> für die Zeit-abhängigen Tests (R2 der
|
|
/// Teststrategie). Bewusst schlank: die Tests treiben den Scanner über
|
|
/// <c>ScanOnceAsync</c> direkt, sie brauchen nur eine feste, verstellbare Uhr.
|
|
/// </summary>
|
|
internal sealed class FakeTimeProvider : TimeProvider
|
|
{
|
|
private DateTimeOffset _now;
|
|
|
|
public FakeTimeProvider(DateTimeOffset start) => _now = start;
|
|
|
|
public override DateTimeOffset GetUtcNow() => _now;
|
|
|
|
public void SetUtcNow(DateTimeOffset value) => _now = value;
|
|
|
|
public void Advance(TimeSpan delta) => _now += delta;
|
|
}
|