public void DispatchReflection_NoSubscribedService_ServiceShouldNotHaveBeenCalled() { ServiceDispatcher serviceDispatcher = new ServiceDispatcher(new TestPlatformProvider()); serviceDispatcher.Initialize(); Service1 service1 = new Service1(); serviceDispatcher.Subscribe <IService1>(service1); serviceDispatcher.Unsubscribe <IService1>(service1); serviceDispatcher.Dispatch("service1", "serviceMethod1", null); Assert.False(service1.ServiceMethod1Called); }
public void ShouldSuccessfullyUnsubscribeWithMultipleSubscribedServices() { EventHandler event1Handler = (o, e) => { }; IServiceDispatcher serviceDispatcher = new ServiceDispatcher(new TestPlatformProvider()); serviceDispatcher.Initialize(); Service1 service1 = new Service1(); Service2 service2 = new Service2(); serviceDispatcher.Subscribe <IService1>(service1); serviceDispatcher.Subscribe <IService2>(service2); serviceDispatcher.SubscribeEvent <IService1>(s => s.Event1 += event1Handler, s => s.Event1 -= event1Handler); serviceDispatcher.Unsubscribe <IService2>(service2); }
public void EventShouldNotBeRaisedAfterServiceUnsubscribe() { bool event1Raised = false; EventHandler event1Handler = (o, e) => { event1Raised = true; }; IServiceDispatcher serviceDispatcher = new ServiceDispatcher(new TestPlatformProvider()); serviceDispatcher.Initialize(); Service1 service1 = new Service1(); serviceDispatcher.Subscribe <IService1>(service1); EventRegistration eventRegistration = serviceDispatcher.SubscribeEvent <IService1>(s => s.Event1 += event1Handler, s => s.Event1 -= event1Handler); serviceDispatcher.Unsubscribe <IService1>(service1); service1.RaiseEvent1(); Assert.False(event1Raised); }