Phase 33: technician climate control and locker assignment.

This commit is contained in:
Leonid Pershin
2026-08-20 04:44:41 +03:00
parent ee23fb4994
commit ce772cd3c3
19 changed files with 436 additions and 24 deletions
@@ -0,0 +1,27 @@
using HSchool.Content;
namespace HSchool.Content.Tests;
public class ChangingRoomMapTests
{
[Fact]
public void VanillaMap_HasTwoChangingRooms_AndGraphIsConnected()
{
var root = Path.Combine(AppContext.BaseDirectory, "vanilla");
var documents = PackDocuments.FromDirectory(CatalogLoader.CorePackId, root);
var catalog = new CatalogLoader().Load([CatalogLoader.CorePackId], documents);
var map = CatalogLoader.LastDefaultMap([CatalogLoader.CorePackId], documents);
Assert.NotNull(map);
MapValidator.Validate(map, catalog);
var changing = map.Rooms
.Where(room => room.Def is "MaleChangingRoom" or "FemaleChangingRoom")
.ToList();
Assert.Equal(2, changing.Count);
Assert.Contains(map.Rooms, room => room.Id == "boys-changing-room" && room.Def == "MaleChangingRoom");
Assert.Contains(map.Rooms, room => room.Id == "girls-changing-room" && room.Def == "FemaleChangingRoom");
Assert.Contains(map.Rooms, room => room.Id == "utility-room" && room.Def == "UtilityRoom");
Assert.Equal(["Technician"], catalog.PositionsFor(DefKind.Room, "UtilityRoom"));
}
}