public static void ClassInitialize(TestContext context) { NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar(), new TestAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); WorldPersistence worldPersistence = NitroxServiceLocator.LocateService <WorldPersistence>(); serverSerializers = NitroxServiceLocator.LocateService <IServerSerializer[]>(); worldsDataAfter = new PersistedWorldData[serverSerializers.Length]; tempSaveFilePath = Path.Combine(Path.GetTempPath(), "NitroxTestTempDir"); worldData = GeneratePersistedWorldData(); World world = worldPersistence.CreateWorld(worldData, ServerGameMode.CREATIVE); world.EventTriggerer.ResetWorldTime(); for (int index = 0; index < serverSerializers.Length; index++) { //Checking saving worldPersistence.UpdateSerializer(serverSerializers[index]); Assert.IsTrue(worldPersistence.Save(world, tempSaveFilePath), $"Saving normal world failed while using {serverSerializers[index]}."); Assert.IsFalse(worldPersistence.Save(null, tempSaveFilePath), $"Saving null world worked while using {serverSerializers[index]}."); //Checking loading Optional <World> worldAfter = worldPersistence.LoadFromFile(tempSaveFilePath); Assert.IsTrue(worldAfter.HasValue, $"Loading saved world failed while using {serverSerializers[index]}."); worldAfter.Value.EventTriggerer.ResetWorldTime(); worldsDataAfter[index] = PersistedWorldData.From(worldAfter.Value); } }
public void Setup() { NitroxServiceLocator.InitializeDependencyContainer(new SubnauticaServerAutoFacRegistrar(), new TestAutoFacRegistrar()); NitroxServiceLocator.BeginNewLifetimeScope(); tempSaveFilePath = Path.Combine(Path.GetTempPath(), "NitroxTestTempDir"); serverSerializers = NitroxServiceLocator.LocateService <IServerSerializer[]>(); worldPersistence = NitroxServiceLocator.LocateService <WorldPersistence>(); serverConfig = NitroxServiceLocator.LocateService <ServerConfig>(); worldData = GeneratePersistedWorldData(); world = worldPersistence.CreateWorld(worldData, serverConfig.GameMode); worldsDataAfter = new PersistedWorldData[serverSerializers.Length]; for (int index = 0; index < serverSerializers.Length; index++) { worldPersistence.UpdateSerializer(serverSerializers[index]); Assert.IsTrue(worldPersistence.Save(world, tempSaveFilePath)); Assert.IsFalse(worldPersistence.Save(null, tempSaveFilePath)); worldPersistence.UpdateSerializer(serverSerializers[index]); Optional <World> worldAfter = worldPersistence.LoadFromFile(tempSaveFilePath); Assert.IsTrue(worldAfter.HasValue); worldsDataAfter[index] = PersistedWorldData.From(worldAfter.Value); } }