Enhance school simulation and management by integrating roster functionality, allowing for the installation and persistence of student and staff data. Update the school architecture to include a roster alongside existing components, ensuring proper validation against map layouts. Revise room definitions to support homeroom designations and update related tests to validate new functionalities and ensure robustness in roster handling.
This commit is contained in:
@@ -41,8 +41,8 @@ public class MapViewTests
|
||||
Assert.Empty(corridor.Positions);
|
||||
Assert.Equal("Коридор 1", corridor.Name);
|
||||
|
||||
var classroom = ru.Single(node => node.Id == "classroom-1a");
|
||||
Assert.Equal("Класс 1A", classroom.Name);
|
||||
var classroom = ru.Single(node => node.Id == "classroom-101");
|
||||
Assert.Equal("Класс 101", classroom.Name);
|
||||
Assert.Equal(
|
||||
[
|
||||
new MapViewItem("Доска", 1),
|
||||
@@ -53,7 +53,7 @@ public class MapViewTests
|
||||
classroom.Items);
|
||||
Assert.Equal(16, classroom.PupilSlots);
|
||||
Assert.Equal(["Учитель"], classroom.Positions);
|
||||
Assert.Equal("Classroom 1A", en.Single(node => node.Id == "classroom-1a").Name);
|
||||
Assert.Equal("Classroom 101", en.Single(node => node.Id == "classroom-101").Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -23,6 +23,8 @@ public class VanillaCoreTests
|
||||
Assert.Equal(["Sit"], catalog.Things["DirectorsChair"].Actions);
|
||||
Assert.True(catalog.Buildings.ContainsKey("GymBuilding"));
|
||||
Assert.True(catalog.Rooms.ContainsKey("Classroom"));
|
||||
Assert.True(catalog.Rooms["Classroom"].Homeroom);
|
||||
Assert.False(catalog.Rooms["ComputerLab"].Homeroom);
|
||||
Assert.Equal("Класс", catalog.Label("ru", catalog.Rooms["Classroom"]));
|
||||
Assert.Equal(["Teacher"], catalog.PositionsFor(DefKind.Room, "Classroom"));
|
||||
Assert.Equal(1, catalog.Things["StudentDesk"].PupilSlots);
|
||||
@@ -32,13 +34,16 @@ public class VanillaCoreTests
|
||||
Assert.Contains(catalog.Rooms["Classroom"].Slots, slot => slot.Key == "teacherChair" && slot.Thing == "Chair");
|
||||
Assert.Equal(16, catalog.Rooms["Classroom"].Slots.Single(slot => slot.Key == "studentDesks").Count);
|
||||
Assert.Equal(2, map.Buildings.Count);
|
||||
Assert.True(map.Rooms.Count >= 18, "Vanilla layout should look like a small school, not a stub.");
|
||||
Assert.Contains(map.Rooms, room => room.Id == "classroom-1a" && room.Label == "1A");
|
||||
var homerooms = map.Rooms.Where(room => room.Def == "Classroom").ToList();
|
||||
Assert.Equal(11, homerooms.Count);
|
||||
Assert.Contains(map.Rooms, room => room.Id == "classroom-101" && room.Label == "101");
|
||||
Assert.Contains(map.Rooms, room => room.Id == "classroom-207" && room.Label == "207");
|
||||
Assert.DoesNotContain(map.Rooms, room => room.Label is "1A" or "1B" or "2A" or "2B");
|
||||
Assert.Equal(
|
||||
16,
|
||||
map.Rooms.Single(room => room.Id == "classroom-1a").Slots.Single(slot => slot.Key == "studentDesks").Count);
|
||||
map.Rooms.Single(room => room.Id == "classroom-101").Slots.Single(slot => slot.Key == "studentDesks").Count);
|
||||
Assert.Contains(
|
||||
map.Rooms.Single(room => room.Id == "classroom-1a").Slots,
|
||||
map.Rooms.Single(room => room.Id == "classroom-101").Slots,
|
||||
slot => slot.Key == "teacherChair" && slot.Thing == "Chair");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user