예제 #1
0
        public void Store_And_Publish_Assert_Was_Called_Test()
        {
            // 2) act
            eventConteiner.Store(pluginName, e);
            eventConteiner.Publish(pluginName, publisher);

            // 3) assert
            publisher.AssertWasCalled(x => x.Publish(e));
        }
 /// <summary>
 /// Broadcast event to each subscribers using callback objects.
 /// </summary>
 public void GlobalPublish(AEvent e)
 {
     lock (syncLock)
     {
         foreach (var v in pluginSubscribers)
         {
             try
             {
                 v.Value.Publish(e);
             }
             catch (Exception ex)
             {
                 errorHandler.OnPublishFailed(v.Key, e, ex);
                 unpublishedEvents.Store(v.Key, e);
             }
         }
     }
 }