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 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"); }