Fix PE change-clothes interruption and post-PE mode detection.

Add appropriateness tests for staging PE kit, wearing form before gym, and returning to everyday clothes after the lesson.
This commit is contained in:
Leonid Pershin
2026-08-20 06:31:41 +03:00
parent c541156614
commit e461a9f3e4
5 changed files with 112 additions and 11 deletions
@@ -68,7 +68,7 @@ public class PresenceTests
}
[Fact]
public void PhysicalEducationAfterAClassroomLesson_ReachesTheGymOnTheBreak()
public void PhysicalEducationBeforeLesson_GoesToChangingRoomOnTheBreak()
{
var (catalog, map) = Vanilla();
var walks = WalkGraph.Build(catalog, map);
@@ -78,9 +78,11 @@ public class PresenceTests
var (school, _, pupilId) = StaffedFirstFloorClass();
using (school)
{
AdvanceTo(school, new DateTime(2012, 4, 3, 9, 25, 0, DateTimeKind.Utc));
AdvanceTo(school, new DateTime(2012, 4, 3, 9, 24, 0, DateTimeKind.Utc));
var row = school.CapturePresence().Single(item => item.PersonId == pupilId);
Assert.Equal("gym-hall", row.NodeId);
var person = school.Roster!.People.Single(item => item.Id == pupilId);
var room = person.Female ? "girls-changing-room" : "boys-changing-room";
Assert.Equal(room, row.NodeId);
Assert.Empty(row.Path);
}
}