public void FlagEntityEventEventSystemListenerCanBeRemovedInCallbackAndRemoveComponent() { var eventTest = new RemoveEventTest(_contexts, true); eventTest.listener.IsFlagEntityEvent = true; _flagEntityEventSystem.Execute(); Assert.AreEqual("true", eventTest.value); }
public void StandardEventListenerCanBeRemovedInCallbackAndRemoveComponent() { var eventTest = new RemoveEventTest(_contexts, true); _contexts.Test.CreateEntity().AddStandardEvent("Test"); _standardEventSystem.Execute(); Assert.AreEqual("Test", eventTest.value); }
public void StandardEventListenerCanBeRemovedInMiddleOfCallback() { var eventTest1 = new RemoveEventTest(_contexts, false); var eventTest2 = new RemoveEventTest(_contexts, false); var eventTest3 = new RemoveEventTest(_contexts, false); _contexts.Test.CreateEntity().AddStandardEvent("Test"); _standardEventSystem.Execute(); Assert.AreEqual("Test", eventTest1.value); Assert.AreEqual("Test", eventTest2.value); Assert.AreEqual("Test", eventTest3.value); }
void when_events() { Contexts contexts = null; before = () => { contexts = new Contexts(); }; context["event"] = () => { AnyStandardEventEventSystem eventSystem = null; before = () => { eventSystem = new AnyStandardEventEventSystem(contexts); }; it["can remove listener in callback"] = () => { var eventTest = new RemoveEventTest(contexts, false); contexts.test.CreateEntity().AddStandardEvent("Test"); eventSystem.Execute(); eventTest.value.should_be("Test"); }; it["can remove listener in callback in the middle"] = () => { var eventTest1 = new RemoveEventTest(contexts, false); var eventTest2 = new RemoveEventTest(contexts, false); var eventTest3 = new RemoveEventTest(contexts, false); contexts.test.CreateEntity().AddStandardEvent("Test"); eventSystem.Execute(); eventTest1.value.should_be("Test"); eventTest2.value.should_be("Test"); eventTest3.value.should_be("Test"); }; it["can remove listener in callback and remove component"] = () => { var eventTest = new RemoveEventTest(contexts, true); contexts.test.CreateEntity().AddStandardEvent("Test"); eventSystem.Execute(); eventTest.value.should_be("Test"); }; }; context["entity event"] = () => { FlagEntityEventEventSystem eventSystem = null; before = () => { eventSystem = new FlagEntityEventEventSystem(contexts); }; it["can remove listener in callback"] = () => { var eventTest = new RemoveEventTest(contexts, false); eventTest.listener.isFlagEntityEvent = true; eventSystem.Execute(); eventTest.value.should_be("true"); }; it["can remove listener in callback and remove component"] = () => { var eventTest = new RemoveEventTest(contexts, true); eventTest.listener.isFlagEntityEvent = true; eventSystem.Execute(); eventTest.value.should_be("true"); }; }; }