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"); }
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 Unmapping_From_All_Processes_Removes_All_Processes() { viewProcessorMap.Map(matchingView.GetType()).ToProcess(typeof(TrackingProcessor)); viewProcessorMap.Map(matchingView.GetType()).ToProcess(trackingProcessor2); viewProcessorMap.Unmap(matchingView.GetType()).FromAll(); viewProcessorMap.Process(matchingView); AssertThatProcessorHasProcessedThese(FromInjector(typeof(TrackingProcessor)), new object[0]); AssertThatProcessorHasProcessedThese(trackingProcessor2, new object[0]); }