Ejemplo n.º 1
0
    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");
            };
        };
    }
 public void Setup()
 {
     _contexts              = new Contexts();
     _standardEventSystem   = new AnyStandardEventEventSystem(_contexts);
     _flagEntityEventSystem = new FlagEntityEventEventSystem(_contexts);
 }