public void RunEventSource__Delegate() { IDisposable token = null; var messageBus = new MessageBus(); messageBus.InitializeEventSources(); var resetEvent = new ManualResetEvent(false); var target = new TestEventSource2(resetEvent); try { token = messageBus.RunEventSource(target); var report = messageBus.WorkerPool.GetThreadReport(); report.RegisteredThreads.Count.Should().Be(1); var str = report.ToString(); } finally { token?.Dispose(); resetEvent.Dispose(); messageBus.Dispose(); } }
public void RunEventSource_Test2() { int sum = 0; IDisposable token = null; var messageBus = new MessageBus(); messageBus.InitializeEventSources(); messageBus.Subscribe <int>(b => b.WithDefaultTopic().Invoke(i => sum += i)); var resetEvent = new ManualResetEvent(false); var target = new TestEventSource2(resetEvent); try { token = messageBus.RunEventSource(target); resetEvent.WaitOne(5000).Should().BeTrue(); sum.Should().Be(7); } finally { token?.Dispose(); resetEvent.Dispose(); messageBus.Dispose(); } }