public void TestStaticFn_TransformQuaternion_i ()
{
Vector3 v1 = new Vector3 (10, 50, -20);
Quaternion quatmati = new Quaternion (0, 0, 0, 1); // identity
Quaternion quatmat1 = new Quaternion (1, 0, 0, 0);
Quaternion quatmat2 = new Quaternion (0, 1, 0, 0);
Quaternion quatmat3 = new Quaternion (0, 0, 1, 0);
var tests = new Tuple<Vector3, Quaternion, Vector3>[]
{
//vector -> transform -> expected
new Tuple<Vector3, Quaternion, Vector3>(
v1, quatmati, v1),
new Tuple<Vector3, Quaternion, Vector3>(
v1, quatmat1, new Vector3 ( 10, -50, 20)),
new Tuple<Vector3, Quaternion, Vector3>(
v1, quatmat2, new Vector3 (-10, 50, 20)),
new Tuple<Vector3, Quaternion, Vector3>(
v1, quatmat3, new Vector3 (-10, -50, -20)),
};
for (Int32 i = 0; i < tests.Length; ++i)
{
var test = tests [i];
Vector3 vec = test.Item1;
Quaternion trans = test.Item2;
Vector3 expected = test.Item3;
Vector3 result;
Vector3.Transform (ref vec, ref trans, out result);
AssertEqualWithinReason(result, expected);
}
}