namespace HSchool.People.Tests; public class GoldenRosterTests { private const string Native = "RussianLanguage"; [Fact] public void GoldenRoster_MatchesFixture() { var roster = Fixtures.Generate(Fixtures.Classrooms(4)); var actual = RosterFingerprint.Format(roster, Fixtures.SchoolSeed, "Slavic", Native); var relative = Path.Combine("golden", "roster.txt"); var output = Path.Combine(AppContext.BaseDirectory, relative); var source = Path.Combine(Fixtures.RepoRoot(), "tests", "HSchool.People.Tests", relative); if (string.Equals(Environment.GetEnvironmentVariable("WRITE_GOLDEN"), "1", StringComparison.Ordinal)) { Directory.CreateDirectory(Path.GetDirectoryName(source)!); File.WriteAllText(source, actual); Directory.CreateDirectory(Path.GetDirectoryName(output)!); File.WriteAllText(output, actual); } Assert.True(File.Exists(output), $"Golden roster is missing at {output}."); RosterFingerprint.AssertEqual(File.ReadAllText(output), actual); } }