实验课表

This commit is contained in:
2026-07-28 21:25:21 +08:00 Unverified
parent ec979f640d
commit 51c3b81e27
7 changed files with 687 additions and 28 deletions
@@ -108,7 +108,41 @@ public sealed class TimetableExcelExporterTests
"2026-2027 学年第一学期期末考试",
new DateOnly(2027, 1, 5),
DateTime.UtcNow)
]);
])
{
ExperimentEntries =
[
new TimetableEntryDto(
Guid.NewGuid(),
Guid.NewGuid(),
"TASK-LAB",
"程序设计实验教学班",
"CSLAB101",
"程序设计实验",
["陈老师"],
["计算机科学 2601 班"],
"301",
"实验中心",
"主校区",
4,
1,
2,
2,
2,
WeekPattern.All,
null,
false,
null,
null,
DateTime.UtcNow,
true,
Guid.NewGuid(),
"LAB-01",
"基础控制实验",
new DateOnly(2026, 9, 10),
ExperimentArrangementMode.SelfScheduled)
]
};
var bytes = TimetableExcelExporter.Create(timetable);
@@ -117,8 +151,11 @@ public sealed class TimetableExcelExporterTests
var sheet = workbook.Worksheet("课表");
Assert.Contains("计算机科学 2601 班", sheet.Cell("A1").GetString());
Assert.Contains("已融入 1 场考试", sheet.Cell("A2").GetString());
Assert.Contains("已融入 1 场实验", sheet.Cell("A2").GetString());
Assert.Contains("高等数学", sheet.Cell(5, 2).GetString());
Assert.Contains("【考试】高等数学", sheet.Cell(5, 3).GetString());
Assert.Contains("【实验】基础控制实验", sheet.Cell(5, 5).GetString());
Assert.Contains("自主预约", sheet.Cell(5, 5).GetString());
Assert.Contains("2027-01-05", sheet.Cell(5, 3).GetString());
Assert.Contains(
sheet.CellsUsed(),