public void Create_Mediator_Instantiates_Mediator_For_View_When_Mapped() { instance.Map(typeof(SupportView)).ToProcess(new MediatorCreator(typeof(SupportMediator))); SupportView objA = new SupportView(); instance.HandleView(objA, objA.GetType()); objA.AddThisView(); string[] expectedNotifications = new string[1] { "SupportMediator" }; Assert.That (expectedNotifications, Is.EquivalentTo (mediatorWatcher.Notifications)); }
public void RunAllUnprocessors_Runs_All_Unprocessors_For_All_Views() { TrackingProcessor trackingProcessor2 = new TrackingProcessor(); SupportView view = new SupportView(); ObjectWhichExtendsSupportView viewA = new ObjectWhichExtendsSupportView(); ViewProcessorMapping mapping = new ViewProcessorMapping(new TypeMatcher().AllOf(view.GetType()).CreateTypeFilter(), trackingProcessor); ViewProcessorMapping mappingA = new ViewProcessorMapping(new TypeMatcher().AllOf(viewA.GetType()).CreateTypeFilter(), trackingProcessor2); viewProcessorFactory.RunProcessors(view, view.GetType(), new ViewProcessorMapping[1] {mapping}); viewProcessorFactory.RunProcessors(viewA, viewA.GetType(), new ViewProcessorMapping[2] {mapping, mappingA}); viewProcessorFactory.RunAllUnprocessors(); Assert.That (trackingProcessor.UnprocessedViews, Is.EquivalentTo (new object[2]{ view, viewA }), "trackingProcessor unprocessed all views"); Assert.That (trackingProcessor2.UnprocessedViews, Is.EquivalentTo (new object[1]{ viewA }), "trackingProcessor2 unprocessed all views"); }