public void TestMethod1() { var setup = new BusSetup().Default(); Mock <IEventHandler <string> > mock = new Mock <IEventHandler <string> >(); mock.Setup(x => x.Handle(It.IsAny <object>(), It.IsAny <string>())).Returns <object, string>(Write); using (var bus = setup.Build()) { bus.Subscribe <string>(mock.Object.Handle); bus.FireAsync(this, "hello").Wait(); bus.FireAsync(this, "hello").Wait(); bus.FireAsync(this, "world").Wait(); mock.Verify(x => x.Handle(It.IsAny <object>(), It.IsAny <string>()), Times.Exactly(3)); } }
public async Task PerformanceTest() { var setup = new BusSetup().Default(); using (var bus = setup.Build()) { foreach (var i in Enumerable.Range(1, 1000000)) { using (bus.Subscribe <EArg>( (o, s) => { return(Task.FromResult(0)); })) using (bus.Subscribe <string>((o, s) => Task.FromResult(0))) using (bus.Subscribe <int>((o, s) => Task.FromResult(0))) { await bus.FireAsync(this, new EArg { Text = "test" }); } } } }