public void OnAfterDeserializeShould_RestoreHostingServicesInstancesIfStillAlive() { m_Manager.Initialize(m_Settings); var svc = m_Manager.AddHostingService(typeof(TestHostingService), "test"); Assert.IsTrue(m_Manager.HostingServices.Contains(svc)); var generator = new ObjectIDGenerator(); var id = generator.GetId(svc, out bool firstTime); Assert.IsTrue(firstTime); m_Manager.OnBeforeSerialize(); var serializedData = Serialize(m_Manager); svc = null; m_Manager = null; m_Settings.HostingServicesManager = null; var newManager = new HostingServicesManager(); m_Settings.HostingServicesManager = newManager; newManager.Initialize(m_Settings); Deserialize(newManager, serializedData); newManager.OnAfterDeserialize(); Assert.IsNotEmpty(newManager.HostingServices); svc = newManager.HostingServices.FirstOrDefault(); Assert.NotNull(svc); var id2 = generator.GetId(svc, out firstTime); Assert.IsFalse(firstTime); Assert.AreEqual(id, id2); m_Manager = newManager; }