public void Fire_event_with_one_handler() { var hub = new EventHub <TestEvent>(); var list = new List <string>(); var handler = new Handler("one", list); hub.AddListener(handler.Handle, handler.PluginId); hub.FireEvent(new TestEvent { Value = 10 }); list.Should().BeEquivalentTo(new[] { "one" }); handler.Event.Should().NotBeNull(); handler.Event.Value.Should().Be(10); }
public void Fire_event_with_three_handlers_with_dependency_chain() { var hub = new EventHub <TestEvent>(); var list = new List <string>(); var handler1 = new Handler("one", list); var handler2 = new Handler("two", list); var handler3 = new Handler("three", list); hub.AddListener(handler1.Handle, handler1.PluginId, new[] { handler2.PluginId }); hub.AddListener(handler2.Handle, handler2.PluginId, new[] { handler3.PluginId }); hub.AddListener(handler3.Handle, handler3.PluginId); hub.FireEvent(new TestEvent { Value = 10 }); list.Should().BeEquivalentTo(new[] { "three", "two", "one" }); }
public void Empty_event_hub_fire_event() { var hub = new EventHub <TestEvent>(); hub.FireEvent(new TestEvent()); }