示例#1
0
        public void TestEventTypeCheck()
        {
            var @event = new OtherEvent();
            var binder = new AssertingStaticEventBinder();
            var engine = new DefaultEventEngine <IGameContext>(new StandardKernel(), new[] { binder });

            engine.Fire(null, @event);
        }
示例#2
0
        public void TestBasicPropagation()
        {
            var @event = new BasicEvent {
                Original = 1
            };
            var binder = new BasicStaticEventBinder();
            var engine = new DefaultEventEngine <IGameContext>(new StandardKernel(), new[] { binder });

            engine.Fire(null, @event);
            Assert.Equal(1, @event.HitValue);
        }
示例#3
0
        public void TestFilteredPropagationOutOfOrder()
        {
            var event1 = new BasicEvent {
                Original = 1
            };
            var event2 = new BasicEvent {
                Original = 2
            };
            var binder = new FilteredStaticEventBinder();
            var engine = new DefaultEventEngine <IGameContext>(new StandardKernel(), new[] { binder });

            engine.Fire(null, event2);
            Assert.NotEqual(2, event2.HitValue);
            engine.Fire(null, event1);
            Assert.Equal(1, event1.HitValue);
        }