校历优化
This commit is contained in:
1 parent
0ef0d4d399
commit
4ef4164b00
6 files changed
+196
-39
No files matched your search
@@ -0,0 +1,48 @@
|
||||
using Jiaowu.Api.Infrastructure.AcademicCalendar;
|
||||
|
||||
namespace Jiaowu.Api.Tests;
|
||||
|
||||
public sealed class HolidayCnRangesTests
|
||||
{
|
||||
[Fact]
|
||||
public void Group_merges_only_consecutive_days_with_the_same_name_and_status()
|
||||
{
|
||||
var ranges = HolidayCnRanges.Group(
|
||||
[
|
||||
new HolidayCnDay("国庆节", new DateOnly(2026, 10, 1), true),
|
||||
new HolidayCnDay("国庆节", new DateOnly(2026, 10, 2), true),
|
||||
new HolidayCnDay("国庆节", new DateOnly(2026, 10, 3), true),
|
||||
new HolidayCnDay("国庆节", new DateOnly(2026, 10, 4), false),
|
||||
new HolidayCnDay("国庆节", new DateOnly(2026, 10, 5), true),
|
||||
new HolidayCnDay("国庆节", new DateOnly(2026, 10, 7), true)
|
||||
]);
|
||||
|
||||
Assert.Collection(
|
||||
ranges,
|
||||
range =>
|
||||
{
|
||||
Assert.Equal("国庆节", range.Name);
|
||||
Assert.Equal(new DateOnly(2026, 10, 1), range.StartsOn);
|
||||
Assert.Equal(new DateOnly(2026, 10, 3), range.EndsOn);
|
||||
Assert.True(range.IsOffDay);
|
||||
},
|
||||
range =>
|
||||
{
|
||||
Assert.Equal(new DateOnly(2026, 10, 4), range.StartsOn);
|
||||
Assert.Equal(range.StartsOn, range.EndsOn);
|
||||
Assert.False(range.IsOffDay);
|
||||
},
|
||||
range =>
|
||||
{
|
||||
Assert.Equal(new DateOnly(2026, 10, 5), range.StartsOn);
|
||||
Assert.Equal(range.StartsOn, range.EndsOn);
|
||||
Assert.True(range.IsOffDay);
|
||||
},
|
||||
range =>
|
||||
{
|
||||
Assert.Equal(new DateOnly(2026, 10, 7), range.StartsOn);
|
||||
Assert.Equal(range.StartsOn, range.EndsOn);
|
||||
Assert.True(range.IsOffDay);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user