Initial commit: Add project files
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
using KArtSell.Modules.ModelOperations.Domain;
|
||||
namespace KArtSell.ModelOperations.UnitTests;
|
||||
public sealed class ScheduleOccurrencePlannerTests
|
||||
{
|
||||
private readonly ScheduleOccurrencePlanner planner = new();
|
||||
[Fact] public void Daily_anchor_does_not_drift_to_dispatch_time()
|
||||
{
|
||||
var scheduled = new DateTimeOffset(2026, 8, 1, 1, 0, 0, TimeSpan.Zero);
|
||||
var next = planner.GetNextDueAt(scheduled, "DAILY", "LATEST_ONLY", 1, scheduled.AddHours(10));
|
||||
Assert.Equal(scheduled.AddDays(1), next);
|
||||
}
|
||||
[Fact] public void Missed_occurrences_are_skipped_without_dispatch_storm()
|
||||
{
|
||||
var scheduled = new DateTimeOffset(2026, 7, 1, 1, 0, 0, TimeSpan.Zero);
|
||||
var next = planner.GetNextDueAt(scheduled, "DAILY", "LATEST_ONLY", 1, new DateTimeOffset(2026, 8, 1, 4, 0, 0, TimeSpan.Zero));
|
||||
Assert.True(next > new DateTimeOffset(2026, 8, 1, 4, 0, 0, TimeSpan.Zero));
|
||||
Assert.Equal(1, next.Hour);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user