public static EventAggregator Create(ILogger logger) { var msgsToIgnoreTraceOn = new List <Type> { typeof(InitializationOfUnitTestHarnessClientEvent), typeof(TestExecutionClassCompletedClientEvent), typeof(TestExecutionClassBeginClientEvent), typeof(SignalTestCompleteClientEvent), }; var config = new EventAggregator.Config { HoldReferences = true, OnMessageNotPublishedBecauseZeroListeners = msgNotHandled => { var msgType = msgNotHandled.GetType(); if (msgsToIgnoreTraceOn.Contains(msgType)) { return; } logger.Debug("No event listener objects were defined to listen to message of type({0})".FormatWith(msgType.FullName)); } }; return(new EventAggregator(config)); }
public EventAggregator Create() { var msgsToIgnoreTraceOn = new List<Type> { typeof (InitializationOfUnitTestHarnessClientEvent), typeof (TestExecutionClassCompletedClientEvent), typeof (TestExecutionClassBeginClientEvent), typeof (SignalTestCompleteClientEvent), }; var config = new EventAggregator.Config { HoldReferences = true, OnMessageNotPublishedBecauseZeroListeners = msgNotHandled => { var msgType = msgNotHandled.GetType(); if (msgsToIgnoreTraceOn.Contains(msgType)) return; _logger.Debug("No event listener objects were defined to listen to message of type({0})".FormatWith(msgType.FullName)); } }; return new EventAggregator(config); }
public void When_no_subscribers_can_detect_nothing_was_published() { var config = new EventAggregator.Config(); bool warningWasCalled = false; config.OnMessageNotPublishedBecauseZeroListeners = msg => { warningWasCalled = true; }; var eventAggregator = new EventAggregator(config); eventAggregator.SendMessage <SomeMessage>(); warningWasCalled.ShouldBeTrue(); }
public void When_instructed_to_hold_a_strong_reference_and_the_listener_is_attempted__been_garbage_collected_and_an_event_is_published_the_zombied_handler_should_be_removed() { var config = new EventAggregator.Config { HoldReferences = true }; var eventAggregator = new EventAggregator(config); AddHandlerInScopeThatWillRemoveInstanceWhenGarbageCollected(eventAggregator, true); GC.Collect(); eventAggregator.SendMessage <SomeMessage>(); eventAggregator.GetListeners().Count().ShouldEqual(1); }
public void When_instructed_to_hold_a_strong_reference_and_the_listener_is_attempted__been_garbage_collected_and_an_event_is_published_the_zombied_handler_should_be_removed() { var config = new EventAggregator.Config { HoldReferences = true }; var eventAggregator = new EventAggregator(config); AddHandlerInScopeThatWillRemoveInstanceWhenGarbageCollected(eventAggregator, true); GC.Collect(); eventAggregator.SendMessage<SomeMessage>(); eventAggregator.GetListeners().Count().ShouldEqual(1); }
public static void Run() { var config = new EventAggregator.Config { // Make the marshaler run in the background thread DefaultThreadMarshaler = action => Task.Factory.StartNew(action), }; var eventAggregationManager = new EventAggregator(config); eventAggregationManager.AddListener(new LongRunningHandler()); "EventAggregator setup complete".Log(); eventAggregationManager.SendMessage <SampleEventMessage>(); }
protected override void Load(ContainerBuilder builder) { EventAggregator.Config config = new EventAggregator.Config { OnMessageNotPublishedBecauseZeroListeners = delegate(object o) { string message = string.Format("{0} was not handled", o); MessageBox.Show(message, @"EventAggregator - Not Handled"); } , SupportMessageInheritance = true }; EventAggregator eventAggregator = new EventAggregator(config); builder.RegisterInstance(eventAggregator).As<IEventAggregator>().ExternallyOwned(); base.Load(builder); }
protected override void Load(ContainerBuilder builder) { EventAggregator.Config config = new EventAggregator.Config { OnMessageNotPublishedBecauseZeroListeners = delegate(object o) { string message = string.Format("{0} was not handled", o); MessageBox.Show(message, @"EventAggregator - Not Handled"); } , SupportMessageInheritance = true }; EventAggregator eventAggregator = new EventAggregator(config); builder.RegisterInstance(eventAggregator).As <IEventAggregator>().ExternallyOwned(); base.Load(builder); }
public void When_no_subscribers_can_detect_nothing_was_published() { var config = new EventAggregator.Config(); bool warningWasCalled = false; config.OnMessageNotPublishedBecauseZeroListeners = msg => { warningWasCalled = true; }; var eventAggregator = new EventAggregator(config); eventAggregator.SendMessage<SomeMessage>(); warningWasCalled.ShouldBeTrue(); }