Example #1
0
        public void QueueEvent()
        {
            Assert.That(() =>
            {
                bool eventPropogated = false;

                PassListener listener = new PassListener((bool pass) =>
                {
                    eventPropogated = pass;
                });
                EventManager.Instance.RegisterListener <Event1>(listener);

                EventManager.Instance.QueueEvent(new Event1());

                EventManager.Instance.UnregisterListener(listener);

                return(!eventPropogated);
            });

            Assert.That(() =>
            {
                bool eventPropogated = false;

                PassListener listener = new PassListener((bool pass) =>
                {
                    eventPropogated = pass;
                });
                EventManager.Instance.RegisterListener <Event1>(listener);

                EventManager.Instance.QueueEvent(new Event1());
                EventManager.Instance.Dispatch();

                EventManager.Instance.UnregisterListener(listener);

                return(eventPropogated);
            });
        }
Example #2
0
        public void TriggerEvent()
        {
            Listener1 listener1 = new Listener1();
            Listener2 listener2 = new Listener2();

            EventManager.Instance.RegisterListener <Event1>(listener1);

            Assert.False(EventManager.Instance.TriggerEvent(new Event1()));

            EventManager.Instance.RegisterListener <Event1>(listener2);
            Assert.True(EventManager.Instance.TriggerEvent(new Event1()));

            EventManager.Instance.UnregisterListener <Event1>(listener2);
            Assert.False(EventManager.Instance.TriggerEvent(new Event1()));

            EventManager.Instance.RegisterListener <Event1>(listener2);
            EventManager.Instance.UnregisterListener(listener2);
            Assert.False(EventManager.Instance.TriggerEvent(new Event1()));

            Assert.That(() =>
            {
                bool eventPropogated = false;

                PassListener listener = new PassListener((bool pass) =>
                {
                    eventPropogated = pass;
                });
                EventManager.Instance.RegisterListener <Event1>(listener);

                EventManager.Instance.TriggerEvent(new Event1());

                EventManager.Instance.UnregisterListener(listener);

                return(eventPropogated);
            });
        }