public void WhenIntersectionIsReturned_ThenIntersectionResponseValuesAreProperlyRounded()
            {
                // Arrange
                var cube = new Entity.Shape.Cube(
                    new Entity.Shape.Point3D(19.199999999999989, 10.269999999999989, 9.999999999999989),
                    5.400000000000010,
                    2.149999999999989,
                    -2.799999999999989);

                var intersectorMock = new Mock <IIntersector <Entity.Shape.Cube, Entity.Shape.Cube> >();

                intersectorMock.Setup(i => i.GetIntersection(It.IsAny <Entity.Shape.Cube>(), It.IsAny <Entity.Shape.Cube>()))
                .Returns(cube);

                var intersectorRegistryMock = new Mock <IIntersectorRegistry>();

                intersectorRegistryMock.Setup(reg => reg.GetIntersector <Entity.Shape.Cube, Entity.Shape.Cube>())
                .Returns(intersectorMock.Object);

                var sut = new IntersectionService(intersectorRegistryMock.Object);

                // Act
                var result = sut.GetIntersection(_fixture.Create <Cube>(), _fixture.Create <Cube>());

                // Assert
                result.Intersection.CenterX.Should().Be(19.2);
                result.Intersection.CenterY.Should().Be(10.27);
                result.Intersection.CenterZ.Should().Be(10);
                result.Intersection.SizeX.Should().Be(5.4);
                result.Intersection.SizeY.Should().Be(2.15);
                result.Intersection.SizeZ.Should().Be(-2.8);
                result.Intersect.Should().BeTrue();
            }
 private Cube GetApplicationModel(Entity.Shape.Cube cube)
 {
     return(new Cube(
                Math.Round(cube.Center.X, 2),
                Math.Round(cube.Center.Y, 2),
                Math.Round(cube.Center.Z, 2),
                Math.Round(cube.SizeX, 2),
                Math.Round(cube.SizeY, 2),
                Math.Round(cube.SizeZ, 2)));
 }