public void TestStaticFn_Decompose_i ()
{
Single a1 = 4;
Single a2 = 2;
Single a3 = 3;
Matrix44 scale;
Matrix44.CreateScale(ref a1, ref a2, ref a3, out scale);
Matrix44 rotation;
Single pi; Maths.Pi(out pi);
Matrix44.CreateRotationY(ref pi, out rotation);
Single b1 = 100;
Single b2 = 5;
Single b3 = 3;
Matrix44 translation;
Matrix44.CreateTranslation(ref b1, ref b2, ref b3, out translation);
Matrix44 m = rotation * scale;
//m = translation * m;
m.Translation = new Vector3(100, 5, 3);
Vector3 outScale;
Quaternion outRotation;
Vector3 outTranslation;
Boolean decomposeOk;
Matrix44.Decompose(ref m, out outScale, out outRotation, out outTranslation, out decomposeOk);
Matrix44 mat;
Matrix44.CreateFromQuaternion(ref outRotation, out mat);
Assert.That(outScale, Is.EqualTo(new Vector3(4, 2, 3)));
Assert.That(mat, Is.EqualTo(rotation));
Assert.That(outTranslation, Is.EqualTo(new Vector3(100, 5, 3)));
}