Ejemplo n.º 1
0
        public void RenderAccess_With_Cache_ViewPort_then_Conversion()
        {
            var rc       = new GameRenderingConfig(RenderType.Grid);
            var renderer = new RendererSubstitute <RenderedTile, RenderedContext>();
            var conv     = new ConverterProxy();
            var matcher  = new DummyTileMatcher <MatchedTile, MatchedContext>();

            var sourceFactory = PlotOperations.FromContext(rc).Create(matcher);
            var cachedFactory = sourceFactory.WithCache();
            var vpFactory     = cachedFactory.ForViewport();
            var convRend      = vpFactory.WithConversion(conv).Build();

            var sourcePo = sourceFactory.BuildUnsafe();
            var cached   = cachedFactory.BuildUnsafe();
            var vp       = vpFactory.Build();

            sourcePo.Renderer.Should().Be(cached.ActiveRenderer);
            sourcePo.ActiveRenderer.Should().Be(cached.ActiveRenderer);

            convRend.Renderer = renderer;

            Assert.AreEqual(vp.ActiveRenderer, cached.Renderer);
            Assert.AreEqual(vp.Renderer, conv);

            sourcePo.Renderer.Should().Be(cached.ActiveRenderer);
            sourcePo.ActiveRenderer.Should().Be(cached.ActiveRenderer);

            vp.ActiveRenderer.Should().BeAssignableTo <ViewportRenderer <MatchedTile, MatchedContext> >();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public void RenderAccess_With_Cache_ViewPort()
        {
            var rc       = new GameRenderingConfig(RenderType.Grid);
            var renderer = new RendererSubstitute <RenderedTile, RenderedContext>();
            var conv     = new ConverterProxy();
            var matcher  = new DummyTileMatcher <RenderedTile, RenderedContext>();

            var cache =
                PlotOperations.FromContext(rc)
                .Create(matcher)
                .WithCache()
                .ForViewport()
                .WithRenderer(renderer)
                .Build();

            var s = cache.ActiveRenderer.Should().BeAssignableTo <ViewportRenderer <RenderedTile, RenderedContext> >().Subject;
            //s.RenderTarget.Should().BeAssignableTo<ViewportRenderer<RenderedTile, RenderedContext>>();
        }
Ejemplo n.º 4
0
        public void RenderAccess_With_Conversion()
        {
            var rc       = new GameRenderingConfig(RenderType.Grid);
            var renderer = new RendererSubstitute <RenderedTile, RenderedContext>();
            var conv     = new ConverterProxy();
            var matcher  = new DummyTileMatcher <MatchedTile, MatchedContext>();

            var sourceFactory = PlotOperations.FromContext(rc).Create(matcher);
            var plot          = sourceFactory.WithConversion(conv).BuildUnsafe();

            var sourcePo = sourceFactory.BuildUnsafe();

            sourcePo.Renderer.Should().Be(conv);
            sourcePo.ActiveRenderer.Should().Be(conv);
            plot.ActiveRenderer.Should().BeNull();

            plot.Renderer = renderer;
            Assert.AreEqual(plot.Renderer, renderer);
            Assert.AreEqual(plot.ActiveRenderer, renderer);
            sourcePo.Renderer.Should().Be(conv);
            sourcePo.ActiveRenderer.Should().Be(conv);
        }