public void CreateDefault_ShouldReturnTransform3DComponentWithZeroTranslationZeroRotationAndScaleEqualOne()
        {
            // Arrange
            // Act
            var transformComponent = Transform3DComponent.CreateDefault();

            // Assert
            Assert.That(transformComponent.Translation, Is.EqualTo(Vector3.Zero));
            Assert.That(transformComponent.Rotation, Is.EqualTo(Vector3.Zero));
            Assert.That(transformComponent.Scale, Is.EqualTo(Vector3.One));
        }
 public void SetUp()
 {
     // Arrange
     _transformComponent = new Transform3DComponent
     {
         Translation = new Vector3(1, 2, 3),
         Rotation    = new Vector3(4, 5, 6),
         Scale       = new Vector3(7, 8, 9)
     };
     _transformComponentModel = new Transform3DComponentModel(_transformComponent);
 }
        public void VectorX(double rx, double ry, double rz, double vx, double vy, double vz)
        {
            // Arrange
            var transformComponent = new Transform3DComponent
            {
                Rotation = new Vector3(rx, ry, rz)
            };

            // Act
            var vectorX = transformComponent.VectorX;

            // Assert
            Assert.That(vectorX, Is.EqualTo(new Vector3(vx, vy, vz)).Using(Vector3Comparer));
        }
        public void SerializeAndDeserialize()
        {
            // Arrange
            var component = new Transform3DComponent
            {
                Translation = new Vector3(1.23, 4.56, 7.89),
                Rotation    = new Vector3(2.31, 5.64, 8.97),
                Scale       = new Vector3(3.12, 6.45, 9.78)
            };

            // Act
            var actual = SerializeAndDeserialize(component);

            // Assert
            Assert.That(actual.Translation, Is.EqualTo(component.Translation));
            Assert.That(actual.Rotation, Is.EqualTo(component.Rotation));
            Assert.That(actual.Scale, Is.EqualTo(component.Scale));
        }
        public void ToMatrix(double tx, double ty, double tz, double rx, double ry, double rz,
                             double sx, double sy, double sz, double m11, double m12, double m13, double m14, double m21, double m22,
                             double m23, double m24, double m31, double m32, double m33, double m34, double m41, double m42, double m43,
                             double m44)
        {
            // Arrange
            var transformComponent = new Transform3DComponent
            {
                Translation = new Vector3(tx, ty, tz),
                Rotation    = new Vector3(rx, ry, rz),
                Scale       = new Vector3(sx, sy, sz)
            };

            // Act
            var matrix = transformComponent.ToMatrix();

            // Assert
            Assert.That(matrix.M11, Is.EqualTo(m11));
            Assert.That(matrix.M12, Is.EqualTo(m12));
            Assert.That(matrix.M13, Is.EqualTo(m13));
            Assert.That(matrix.M14, Is.EqualTo(m14));

            Assert.That(matrix.M21, Is.EqualTo(m21));
            Assert.That(matrix.M22, Is.EqualTo(m22));
            Assert.That(matrix.M23, Is.EqualTo(m23));
            Assert.That(matrix.M24, Is.EqualTo(m24));

            Assert.That(matrix.M31, Is.EqualTo(m31));
            Assert.That(matrix.M32, Is.EqualTo(m32));
            Assert.That(matrix.M33, Is.EqualTo(m33));
            Assert.That(matrix.M34, Is.EqualTo(m34));

            Assert.That(matrix.M41, Is.EqualTo(m41));
            Assert.That(matrix.M42, Is.EqualTo(m42));
            Assert.That(matrix.M43, Is.EqualTo(m43));
            Assert.That(matrix.M44, Is.EqualTo(m44));
        }
 public Transform3DComponentModel(Transform3DComponent component)
 {
     _component = component;
 }