public void TestEventTypeCheck() { var @event = new OtherEvent(); var binder = new AssertingStaticEventBinder(); var engine = new DefaultEventEngine <IGameContext>(new StandardKernel(), new[] { binder }); engine.Fire(null, @event); }
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); }
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); }