// reduce to non caching builder public AfterCachePlotOperationFactory <TRenderTile, TContext> WithCache() { var retval = new CachingPlotOperation <TRenderTile, TContext>(plotOperation, sharedRenderConfig.MatcherNavigator, sharedRenderConfig.Viewport); return(new AfterCachePlotOperationFactory <TRenderTile, TContext>(sharedRenderConfig, retval)); }
public void RenderSetUp_With_Cache() { var rc = new GameRenderingConfig(RenderType.Grid); var renderer = new RendererSubstitute <MatchedTile, MatchedContext>(); var matcher = new DummyTileMatcher <MatchedTile, MatchedContext>(); var plot = PlotOperations.FromContext(rc).Create(matcher).WithCache().BuildUnsafe(); Assert.IsTrue(CachingPlotOperation <MatchedTile, MatchedContext> .IsRecordingRenderer(plot.ActiveRenderer)); plot.Renderer = renderer; Assert.IsTrue(CachingPlotOperation <MatchedTile, MatchedContext> .IsRecordingRenderer(plot.ActiveRenderer)); Assert.AreEqual(plot.Renderer, renderer); }