public void RenderScene_ShouldRenderEntityTransformedWithParentTransform_WhenEntityHasParentWithTransform2DComponent() { // Arrange var renderingSystem = GetRenderingSystem(); var renderingSceneBuilder = new RenderingSceneBuilder(); renderingSceneBuilder.AddCamera(); var(parentEntity, childEntity) = renderingSceneBuilder.AddParentEllipseWithChildEllipse(); var scene = renderingSceneBuilder.Build(); var parentExpectedTransform = parentEntity.Get2DTransformationMatrix(); var childExpectedTransform = parentExpectedTransform * childEntity.Get2DTransformationMatrix(); // Act renderingSystem.RenderScene(scene); // Assert var parentEllipseRenderer = parentEntity.GetComponent <EllipseRendererComponent>(); _renderer2D.Received(1).RenderEllipse(new Ellipse(parentEllipseRenderer.RadiusX, parentEllipseRenderer.RadiusY), parentEllipseRenderer.Color, parentEllipseRenderer.FillInterior, parentExpectedTransform); var childEllipseRenderer = childEntity.GetComponent <EllipseRendererComponent>(); _renderer2D.Received(1).RenderEllipse(new Ellipse(childEllipseRenderer.RadiusX, childEllipseRenderer.RadiusY), childEllipseRenderer.Color, childEllipseRenderer.FillInterior, childExpectedTransform); }