Replace selectable name sets with a country that owns names and climate presets.
Create picks a country; climate is rolled from the school seed and stored. Old Slavic saves lift as Russia. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -172,12 +172,12 @@ public class DecisionTests
|
||||
private static (School School, string Homeroom, string PupilId) TwoHomeroomLessons()
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Slavic", TuesdayMorning);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Russia", TuesdayMorning);
|
||||
var schoolClass = roster.Classes.First(row =>
|
||||
row.RoomId is "classroom-101" or "classroom-102" or "classroom-103" or "classroom-104");
|
||||
var school = School.Create(1, "Два урока", TuesdayMorning, catalog, map);
|
||||
school.InstallPeople(roster, seed: 1, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed: 1, "Russia", pool);
|
||||
school.SetTimetable(new Timetable(
|
||||
[
|
||||
new LessonPlacement(schoolClass.Id, "Mathematics", "t1", schoolClass.RoomId, Day: 1, Period: 1),
|
||||
@@ -193,12 +193,12 @@ public class DecisionTests
|
||||
|
||||
private static School OpenStaffed(DefCatalog catalog, MapLayout map, int seed)
|
||||
{
|
||||
var roster = RosterGenerator.Generate(catalog, map, seed, "Slavic", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, seed, "Slavic", TuesdayMorning);
|
||||
var roster = RosterGenerator.Generate(catalog, map, seed, "Russia", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, seed, "Russia", TuesdayMorning);
|
||||
var schoolClass = roster.Classes.First(row =>
|
||||
row.RoomId is "classroom-101" or "classroom-102" or "classroom-103" or "classroom-104");
|
||||
var school = School.Create(seed, "Решения", TuesdayMorning, catalog, map);
|
||||
school.InstallPeople(roster, seed, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed, "Russia", pool);
|
||||
school.SetTimetable(new Timetable(
|
||||
[
|
||||
new LessonPlacement(schoolClass.Id, "Mathematics", "t1", schoolClass.RoomId, Day: 1, Period: 1),
|
||||
|
||||
@@ -93,8 +93,8 @@ public class LunchTests
|
||||
private static School StaffedSchool()
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", Tuesday6);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Slavic", Tuesday6);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", Tuesday6);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Russia", Tuesday6);
|
||||
|
||||
foreach (var subject in catalog.Subjects.Values.Where(def => !def.Abstract).Select(def => def.DefName))
|
||||
{
|
||||
@@ -120,7 +120,7 @@ public class LunchTests
|
||||
}
|
||||
|
||||
var school = School.Create(1, "Столовая", Tuesday6, catalog, map);
|
||||
school.InstallPeople(roster, seed: 1, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed: 1, "Russia", pool);
|
||||
school.SetTimetable(SchoolTimetables.Build(catalog, map, roster, null, weekDays: 5));
|
||||
school.ConfigurePresence(weekDays: 5, maxDecisionsPerTick: 64);
|
||||
return school;
|
||||
|
||||
@@ -14,11 +14,11 @@ public class PeopleInSchoolTests
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var demand = SchoolDemand.From(catalog, map);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", Start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Slavic", Start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", Start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Russia", Start);
|
||||
|
||||
using var school = School.Create(1, "Полная", Start, catalog, map);
|
||||
school.InstallPeople(roster, seed: 1, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed: 1, "Russia", pool);
|
||||
school.Tick(1d / 20d, 5d);
|
||||
|
||||
Assert.Same(roster, school.Roster);
|
||||
@@ -39,11 +39,11 @@ public class PeopleInSchoolTests
|
||||
{
|
||||
var start = new DateTime(2012, 3, 31, 6, 0, 0, DateTimeKind.Utc);
|
||||
var (catalog, map) = Vanilla();
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Slavic", start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Russia", start);
|
||||
|
||||
using var school = School.Create(1, "Неделя", start, catalog, map);
|
||||
school.InstallPeople(roster, seed: 1, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed: 1, "Russia", pool);
|
||||
|
||||
var monday = new DateTime(2012, 4, 2, 6, 0, 0, DateTimeKind.Utc);
|
||||
var changed = school.Tick((monday - start).TotalMinutes / 5d, 5d);
|
||||
@@ -60,7 +60,7 @@ public class PeopleInSchoolTests
|
||||
public void OffCampusNeeds_DoNotMoveOnTick()
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 2, "Slavic", Start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 2, "Russia", Start);
|
||||
using var school = School.Create(2, "Нужды", Start, catalog, map);
|
||||
school.InstallPeople(roster, seed: 2);
|
||||
|
||||
@@ -108,8 +108,8 @@ public class PeopleInSchoolTests
|
||||
public void SameSeed_InstallsTheSameNames()
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var first = RosterGenerator.Generate(catalog, map, schoolSeed: 9, "Slavic", Start);
|
||||
var second = RosterGenerator.Generate(catalog, map, schoolSeed: 9, "Slavic", Start);
|
||||
var first = RosterGenerator.Generate(catalog, map, schoolSeed: 9, "Russia", Start);
|
||||
var second = RosterGenerator.Generate(catalog, map, schoolSeed: 9, "Russia", Start);
|
||||
|
||||
using var a = School.Create(9, "А", Start, catalog, map);
|
||||
using var b = School.Create(9, "Б", Start, catalog, map);
|
||||
@@ -126,7 +126,7 @@ public class PeopleInSchoolTests
|
||||
{
|
||||
var catalog = Catalog();
|
||||
var map = Classrooms(4);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", Start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", Start);
|
||||
var demand = SchoolDemand.From(catalog, map);
|
||||
var oldest = roster.Classes.Max(schoolClass => schoolClass.Year);
|
||||
var graduated = roster.Classes
|
||||
@@ -135,7 +135,7 @@ public class PeopleInSchoolTests
|
||||
.ToHashSet(StringComparer.Ordinal);
|
||||
|
||||
using var school = School.Create(1, "Четыре кабинета", Start, catalog, map);
|
||||
school.InstallPeople(roster, seed: 1, "Slavic");
|
||||
school.InstallPeople(roster, seed: 1, "Russia");
|
||||
|
||||
var sept = new DateTime(2012, 9, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
var changed = school.Tick((sept - Start).TotalMinutes / 5d, 5d);
|
||||
@@ -160,9 +160,9 @@ public class PeopleInSchoolTests
|
||||
var start = new DateTime(2012, 9, 1, 6, 0, 0, DateTimeKind.Utc);
|
||||
var catalog = Catalog();
|
||||
var map = Classrooms(4);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 3, "Slavic", start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 3, "Russia", start);
|
||||
using var school = School.Create(3, "Первое сентября", start, catalog, map);
|
||||
school.InstallPeople(roster, seed: 3, "Slavic");
|
||||
school.InstallPeople(roster, seed: 3, "Russia");
|
||||
|
||||
var years = roster.Classes.Select(schoolClass => schoolClass.Year).OrderBy(year => year).ToArray();
|
||||
var changed = school.Tick(1d / 20d, 5d);
|
||||
|
||||
@@ -30,15 +30,15 @@ public class PresenceTests
|
||||
public void ClassWithoutLessons_StaysAway_TeacherWithAnotherClassComes()
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Slavic", TuesdayMorning);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Russia", TuesdayMorning);
|
||||
var idle = roster.Classes[0];
|
||||
var busy = roster.Classes[1];
|
||||
var hired = Staffing.Hire(catalog, map, roster, pool, pool.Applicants[0].Person.Id, Staffing.TeacherPosition, Cap);
|
||||
Assert.Equal(StaffingError.None, hired.Error);
|
||||
|
||||
using var school = School.Create(1, "Два класса", TuesdayMorning, catalog, map);
|
||||
school.InstallPeople(hired.Roster, seed: 1, "Slavic", hired.Pool);
|
||||
school.InstallPeople(hired.Roster, seed: 1, "Russia", hired.Pool);
|
||||
school.SetTimetable(new Timetable(
|
||||
[new LessonPlacement(busy.Id, "Mathematics", hired.Roster.People.First(person => person.IsStaff).Id, busy.RoomId, Day: 1, Period: 1)],
|
||||
[]));
|
||||
@@ -108,7 +108,7 @@ public class PresenceTests
|
||||
Assert.Contains(snapshot, row => row.NodeId is not null && (row.Path.Count > 0 || row.RemainingMinutes > 0));
|
||||
|
||||
using var loaded = School.Load(2, "Сейв", live.Clock.Time, running: true, speedIndex: 0, catalog, map);
|
||||
loaded.InstallPeople(live.Roster!, seed: 4, "Slavic", live.Applicants);
|
||||
loaded.InstallPeople(live.Roster!, seed: 4, "Russia", live.Applicants);
|
||||
loaded.SetTimetable(live.Timetable!);
|
||||
loaded.ConfigurePresence(weekDays: 5, maxDecisionsPerTick: 10_000);
|
||||
loaded.RestorePresence(snapshot);
|
||||
@@ -277,12 +277,12 @@ public class PresenceTests
|
||||
|
||||
private static School OpenStaffed(DefCatalog catalog, MapLayout map, int seed)
|
||||
{
|
||||
var roster = RosterGenerator.Generate(catalog, map, seed, "Slavic", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, seed, "Slavic", TuesdayMorning);
|
||||
var roster = RosterGenerator.Generate(catalog, map, seed, "Russia", TuesdayMorning);
|
||||
var pool = ApplicantPool.Create(catalog, roster, seed, "Russia", TuesdayMorning);
|
||||
var schoolClass = roster.Classes.First(row =>
|
||||
row.RoomId is "classroom-101" or "classroom-102" or "classroom-103" or "classroom-104");
|
||||
var school = School.Create(seed, "Присутствие", TuesdayMorning, catalog, map);
|
||||
school.InstallPeople(roster, seed, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed, "Russia", pool);
|
||||
school.SetTimetable(new Timetable(
|
||||
[
|
||||
new LessonPlacement(schoolClass.Id, "Mathematics", "t1", schoolClass.RoomId, Day: 1, Period: 1),
|
||||
@@ -295,11 +295,11 @@ public class PresenceTests
|
||||
|
||||
private static School Open(DefCatalog catalog, MapLayout map, DateTime start, int seed)
|
||||
{
|
||||
var roster = RosterGenerator.Generate(catalog, map, seed, "Slavic", start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, seed, "Slavic", start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, seed, "Russia", start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, seed, "Russia", start);
|
||||
var schoolClass = roster.Classes[0];
|
||||
var school = School.Create(seed, "Присутствие", start, catalog, map);
|
||||
school.InstallPeople(roster, seed, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed, "Russia", pool);
|
||||
school.SetTimetable(new Timetable(
|
||||
[new LessonPlacement(schoolClass.Id, "Mathematics", "t1", schoolClass.RoomId, Day: 0, Period: 1)],
|
||||
[]));
|
||||
@@ -310,10 +310,10 @@ public class PresenceTests
|
||||
private static School OpenEmpty(DateTime start)
|
||||
{
|
||||
var (catalog, map) = Vanilla();
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Slavic", start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Slavic", start);
|
||||
var roster = RosterGenerator.Generate(catalog, map, schoolSeed: 1, "Russia", start);
|
||||
var pool = ApplicantPool.Create(catalog, roster, schoolSeed: 1, "Russia", start);
|
||||
var school = School.Create(1, "Пустая", start, catalog, map);
|
||||
school.InstallPeople(roster, seed: 1, "Slavic", pool);
|
||||
school.InstallPeople(roster, seed: 1, "Russia", pool);
|
||||
school.ConfigurePresence(weekDays: 5, maxDecisionsPerTick: 10_000);
|
||||
return school;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user