using System.Reflection; using HSchool.Server.Game; namespace HSchool.Server.Tests; public class SchoolWorkerShapeTests { [Fact] public void SchoolWorker_IsOneInternalSealedTypeWithTheMailbox() { var worker = typeof(SchoolWorker); Assert.True(worker.IsSealed); Assert.False(worker.IsPublic); Assert.Equal("SchoolWorker", worker.Name); var mailbox = worker.GetField("_mailbox", BindingFlags.Instance | BindingFlags.NonPublic); Assert.NotNull(mailbox); var mailboxTypes = worker.Assembly.GetTypes() .Where(type => type.GetField("_mailbox", BindingFlags.Instance | BindingFlags.NonPublic) is not null) .ToArray(); Assert.Equal([typeof(SchoolWorker)], mailboxTypes); } }