public void Deactivate_IgnoresDuplicateDeactivation() { var entity = new EntityLifeCycleStub(); entity.Initialize(); entity.Activate(); entity.Deactivate(); var eventFired = false; entity.DeActivated += (sender, args) => eventFired = true; entity.Deactivate(); Assert.IsFalse(eventFired); Assert.IsTrue(entity.IsDeactivated); Assert.AreEqual(1, entity.DoDeactivateCallCount); }
public void Destroy_FromDeActivated() { var entity = new EntityLifeCycleStub(); entity.Initialize(); entity.Activate(); entity.Deactivate(); var eventFired = false; entity.Destroyed += (sender, args) => eventFired = true; entity.Destroy(); Assert.IsTrue(eventFired); Assert.IsTrue(entity.IsDestroyed); Assert.AreEqual(1, entity.DoDestroyCallCount); }