public ScatterExpectation <TRequest, TResponse> ExpectScatter <TRequest, TResponse>(string topic, Func <TRequest, bool> filter, string description) { var expectation = new ScatterExpectation <TRequest, TResponse>(topic, description, filter); _expectations.Add(expectation); _subscriptions.Participate <TRequest, TResponse>(p => p .WithTopic(topic) .Invoke(r => expectation.TryHandle(r)) .Immediate() .WithFilter(filter)); return(expectation); }
public void SubscriptionCollection_CreateReport_Test() { var target = new SubscriptionCollection(new MessageBus()); target.Subscribe <int>(b => b .WithTopic("test1") .Invoke(x => { })); target.Listen <int, string>(b => b .WithTopic("test2") .Invoke(x => "ok")); target.Participate <long, DateTime>(b => b .WithTopic("test3") .Invoke(x => DateTime.UtcNow)); var report = target.ReportContents(); report.Length.Should().Be(3); }