public void AddedServicesGetInspectedAndRegistered() { WorkItem workItem = new TestableRootWorkItem(); EventBrokerStrategy strat = new EventBrokerStrategy(); MockBuilderContext context = new MockBuilderContext(strat); context.Locator.Add(new DependencyResolutionLocatorKey(typeof(WorkItem), null), workItem); EventTopic handle = workItem.EventTopics["GlobalEvent"]; MockService mock = new MockService(); context.HeadOfChain.BuildUp(context, typeof(MockService), mock, null); Assert.AreEqual(1, handle.SubscriptionCount, "The subscription was not registered."); Assert.AreEqual(1, handle.PublicationCount, "The publication was not registered."); }
public void RemovingItemRemovesSubscribersAndPublishers() { WorkItem workItem = new TestableRootWorkItem(); EventBrokerStrategy strat = new EventBrokerStrategy(); MockBuilderContext context = new MockBuilderContext(strat); MockEventObject thing = new MockEventObject(); MockEventSubscriber sub = new MockEventSubscriber(); context.Locator.Add(new DependencyResolutionLocatorKey(typeof(WorkItem), null), workItem); strat.BuildUp(context, typeof(MockEventObject), thing, null); strat.BuildUp(context, typeof(MockEventSubscriber), sub, null); Assert.IsFalse(thing.SomeEventIsNull()); Assert.IsFalse(thing.SomeEvent2IsNull()); strat.TearDown(context, thing); Assert.IsTrue(thing.SomeEventIsNull()); Assert.IsTrue(thing.SomeEvent2IsNull()); }
public void EventStrategyAcceptsEventBrokerServices() { WorkItem workItem = new TestableRootWorkItem(); EventBrokerStrategy strat = new EventBrokerStrategy(); MockBuilderContext context = new MockBuilderContext(strat); MockEventObject thing = new MockEventObject(); context.Locator.Add(new DependencyResolutionLocatorKey(typeof(WorkItem), null), workItem); strat.BuildUp(context, typeof(MockEventObject), thing, null); Assert.IsTrue(workItem.EventTopics.Contains("topic1")); Assert.IsTrue(workItem.EventTopics.Get("topic1").ContainsPublication(thing, "SomeEvent")); Assert.IsTrue(workItem.EventTopics.Contains("globalTopic")); Assert.IsTrue(workItem.EventTopics.Get("globalTopic").ContainsPublication(thing, "SomeEvent2")); Assert.IsTrue(workItem.EventTopics.Contains("localSubscriptionTopic")); Assert.IsTrue(workItem.EventTopics.Get("localSubscriptionTopic").ContainsSubscription(thing, "SomeHandler")); Assert.IsTrue(workItem.EventTopics.Contains("globalSubscriptionTopic")); Assert.IsTrue(workItem.EventTopics.Get("globalSubscriptionTopic").ContainsSubscription(thing, "SomeHandle2")); }