public void CannotRemoveReadOnlyEventFromInheritingEntity() { bool collectionChanged = false; Entity parent = new Entity() { Name = "parent" }; Event parentEvent = new Event(Workspace.Instance.GetPlugin(TriggerOccursEventType)); parentEvent.SetProperty("Trigger", new Value("test")); parent.AddEvent(parentEvent); Entity child = new Entity(); child.AddPrototype(parent); child.Events.CollectionChanged += (o, e) => collectionChanged = true; AbstractEvent childEvent = child.Events.Single(); child.RemoveEvent(childEvent); Assert.IsFalse(collectionChanged); Assert.AreEqual(1, child.Events.Count); }
public void RemoveReadOnlyEvent() { int eventsFired = 0; Entity parent = new Entity() { Name = "parent" }; Entity child = new Entity(); child.Events.CollectionChanged += (o, e) => eventsFired++; child.AddPrototype(parent); Event parentEvent = new Event(Workspace.Instance.GetPlugin(TriggerOccursEventType)); parent.AddEvent(parentEvent); parent.RemoveEvent(parentEvent); Assert.AreEqual(2, eventsFired); Assert.AreEqual(0, parent.Events.Count); Assert.AreEqual(0, child.Events.Count); }
public void RemoveLocalEvent() { int eventsFired = 0; Entity entity = new Entity(); entity.Events.CollectionChanged += (o, e) => eventsFired++; Event evt = new Event(Workspace.Instance.GetPlugin(TriggerOccursEventType)); entity.AddEvent(evt); entity.RemoveEvent(evt); Assert.AreEqual(2, eventsFired); Assert.AreEqual(0, entity.Events.Count); }