public void HandleModelChanged() { Expect.Call(viewMock.Controller).PropertyBehavior().IgnoreArguments(); Expect.Call(viewMock.Model).PropertyBehavior().IgnoreArguments(); Expect.Call(() => eventDispatcherMock.ModelChanged += null).IgnoreArguments(); var eventRaiser = LastCall.GetEventRaiser(); Expect.Call(dataLayerMock.Connect(null)).Return(true).IgnoreArguments(); Expect.Call(() => eventDispatcherMock.Notify(controller, new ModelChangedArgs(EventReceiver.WorkitemView, EventContext.WorkitemCacheInvalidated))); Expect.Call(() => eventDispatcherMock.Notify(controller, new ModelChangedArgs(EventReceiver.ProjectView, EventContext.ProjectsRequested))).IgnoreArguments(); MockRepository.ReplayAll(); controller.RegisterView(viewMock); controller.PrepareView(); controller.Prepare(); eventRaiser.Raise(controller, new ModelChangedArgs(EventReceiver.OptionsView, EventContext.V1SettingsChanged)); MockRepository.VerifyAll(); }
public override void SetValue(object component, object newValue) { var item = (Entity)component; if (newValue != null && newValue.Equals(string.Empty)) { newValue = null; } item.SetProperty(Attribute, newValue); eventDispatcher.Notify(this, ResolveChangeArgs()); }
public void RegisterEventForTypeAndInvoke() { var invoked = false; IEventDispatcher dispatcher = ObjectFactory.Build <IEventDispatcher>(); dispatcher.Subscribe("test", "test", m => { invoked = true; }); dispatcher.Notify(new ObjectUpdatedMessage { EventType = "test", Type = "test" }); Assert.IsTrue(invoked); }
public void TestForDoubleInvocation() { var typeInvoked = false; var typeAndIdInvoked = false; IEventDispatcher dispatcher = ObjectFactory.Build <IEventDispatcher>(); dispatcher.Subscribe("test", "test", m => { typeInvoked = true; }); dispatcher.Subscribe("test", "test", "1", m => { typeAndIdInvoked = true; }); dispatcher.Notify(new ObjectUpdatedMessage { EventType = "test", Type = "test", ObjectId = "1" }); Assert.IsTrue(typeInvoked); Assert.IsTrue(typeAndIdInvoked); }