コード例 #1
0
        public void RenderScene_ShouldRenderRectangle_WhenSceneContainsEntityWithRectangleRendererAndTransform()
        {
            // Arrange
            var renderingSystem       = GetRenderingSystem();
            var renderingSceneBuilder = new RenderingSceneBuilder();

            renderingSceneBuilder.AddCamera();
            var entity = renderingSceneBuilder.AddRectangle();
            var scene  = renderingSceneBuilder.Build();

            // Act
            renderingSystem.RenderScene(scene);

            // Assert
            var rectangleRenderer = entity.GetComponent <RectangleRendererComponent>();

            _renderer2D.Received(1).RenderRectangle(Arg.Is <AxisAlignedRectangle>(r =>
                                                                                  Math.Abs(r.Width - rectangleRenderer.Dimension.X) < 0.001 && Math.Abs(r.Height - rectangleRenderer.Dimension.Y) < 0.001),
                                                    rectangleRenderer.Color, rectangleRenderer.FillInterior,
                                                    entity.Get2DTransformationMatrix());
        }