Language: C#
EventAggregator with MEF syntax
[TestClass] public class MefEventAggregatorTestFixture { [TestMethod] public void Subscriber_is_invoked_when_publisher_raises_event() { var catalog = new InterceptingCatalog( new TypeCatalog(typeof(EventAggregator), typeof (FakePublisher), typeof (MockSubscriber)) ); var container = new CompositionContainer(catalog); var publisher = container.GetExportedValue<FakePublisher>(); var subscriber = container.GetExportedValue<MockSubscriber>(); publisher.RaiseTestEvent(); Assert.IsTrue(subscriber.ExecuteWasCalled); } } [Export] public class FakePublisher { private EventAggregator _ea; [ImportingConstructor] public FakePublisher(EventAggregator ea) { _ea = ea; } public void RaiseTestEvent() { _ea.Publish(new FakeMessage()); } } [Export] public class MockSubscriber { public bool ExecuteWasCalled { get; set; } [EventSubscription] public void Execute(FakeMessage message) { ExecuteWasCalled = true; } } public class FakeMessage { }
Tags:
Report Abuse
Subscribe
Discuss
What's new
What is it
New Snippet
Recent Snippets
My Snippets
Web Code
Search

