OLD | NEW |
1 function assert_identity_2d_matrix(actual, description) { | 1 function assert_identity_2d_matrix(actual) { |
2 assert_matrix_equals(actual, { | 2 assert_true(actual instanceof DOMMatrixReadOnly); |
3 m11: 1, m12: 0, m13: 0, m14: 0, | 3 assert_true(actual.is2D, "is2D"); |
4 m21: 0, m22: 1, m23: 0, m24: 0, | 4 assert_true(actual.isIdentity, "isIdentity"); |
5 m31: 0, m32: 0, m33: 1, m34: 0, | 5 assert_identity_matrix(actual); |
6 m41: 0, m42: 0, m43: 0, m44: 1, | |
7 is2D: true, isIdentity: true | |
8 }, description); | |
9 } | 6 } |
10 | 7 |
11 function assert_identity_3d_matrix(actual, description) { | 8 function assert_identity_3d_matrix(actual) { |
12 assert_matrix_equals(actual, { | 9 assert_true(actual instanceof DOMMatrixReadOnly); |
13 m11: 1, m12: 0, m13: 0, m14: 0, | 10 assert_false(actual.is2D, "is2D"); |
14 m21: 0, m22: 1, m23: 0, m24: 0, | 11 assert_true(actual.isIdentity, "isIdentity"); |
15 m31: 0, m32: 0, m33: 1, m34: 0, | 12 assert_identity_matrix(actual); |
16 m41: 0, m42: 0, m43: 0, m44: 1, | |
17 is2D: false, isIdentity: true | |
18 }, description); | |
19 } | 13 } |
20 | 14 |
21 function assert_2d_matrix_equals(actual, expected, description) { | 15 function assert_identity_matrix(actual) { |
22 if (Array.isArray(expected)) { | 16 assert_array_equals(actual.toFloat64Array(), [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
0, 0, 0, 0, 1]); |
23 assert_equals(6, expected.length); | |
24 var full_expected = { | |
25 m11: expected[0], m12: expected[1], m13: 0, m14: 0, | |
26 m21: expected[2], m22: expected[3], m23: 0, m24: 0, | |
27 m31: 0, m32: 0, m33: 1, m34: 0, | |
28 m41: expected[4], m42: expected[5], m43: 0, m44: 1, | |
29 is2D: true, isIdentity: false | |
30 }; | |
31 assert_matrix_equals(actual, full_expected, description); | |
32 } else { | |
33 var full_expected = { | |
34 m11: expected.m11, m12: expected.m12, m13: 0, m14: 0, | |
35 m21: expected.m21, m22: expected.m22, m23: 0, m24: 0, | |
36 m31: 0, m32: 0, m33: 1, m34: 0, | |
37 m41: expected.m41, m42: expected.m42, m43: 0, m44: 1, | |
38 is2D: true, isIdentity: false | |
39 }; | |
40 assert_matrix_equals(actual, full_expected, description); | |
41 } | |
42 } | 17 } |
43 | 18 |
44 function assert_3d_matrix_equals(actual, expected, description){ | 19 function toArray(actual) { |
45 if (Array.isArray(expected)) { | 20 var array = actual.toFloat64Array(); |
46 assert_equals(16, expected.length); | 21 // Do not care negative zero for testing accomodation. |
47 var full_expected = { | 22 for (var i = 0; i < array.length; i++) { |
48 m11: expected[0], m12: expected[1], m13: expected[2], m14: expected[3], | 23 if (array[i] === -0) |
49 m21: expected[4], m22: expected[5], m23: expected[6], m24: expected[7], | 24 array[i] = 0; |
50 m31: expected[8], m32: expected[9], m33: expected[10], m34: expected[11]
, | |
51 m41: expected[12], m42: expected[13], m43: expected[14], m44: expected[1
5], | |
52 is2D: false, isIdentity: false | |
53 }; | |
54 assert_matrix_equals(actual, full_expected, description); | |
55 } else { | |
56 expected['is2D'] = false; | |
57 expected['isIdentity'] = false; | |
58 assert_matrix_equals(actual, expected, description); | |
59 } | 25 } |
| 26 return array; |
60 } | 27 } |
61 | 28 |
62 function assert_matrix_equals(actual, expected, description) { | 29 function assert_2d_matrix_equals(actual, expected) { |
63 assert_equals(actual.isIdentity, expected.isIdentity, description); | 30 assert_true(actual instanceof DOMMatrixReadOnly); |
64 assert_equals(actual.is2D, expected.is2D, description); | 31 assert_true(Array.isArray(expected)); |
65 assert_equals(actual.m11, expected.m11, description); | 32 assert_equals(6, expected.length, "expected.length"); |
66 assert_equals(actual.m12, expected.m12, description); | 33 assert_true(actual.is2D, "is2D"); |
67 assert_equals(actual.m13, expected.m13, description); | 34 assert_false(actual.isIdentity, "isIdentity"); |
68 assert_equals(actual.m14, expected.m14, description); | 35 assert_array_equals(toArray(actual), [ |
69 assert_equals(actual.m21, expected.m21, description); | 36 expected[0], expected[1], 0, 0, |
70 assert_equals(actual.m22, expected.m22, description); | 37 expected[2], expected[3], 0, 0, |
71 assert_equals(actual.m23, expected.m23, description); | 38 0, 0, 1, 0, |
72 assert_equals(actual.m24, expected.m24, description); | 39 expected[4], expected[5], 0, 1 |
73 assert_equals(actual.m31, expected.m31, description); | 40 ]); |
74 assert_equals(actual.m32, expected.m32, description); | |
75 assert_equals(actual.m33, expected.m33, description); | |
76 assert_equals(actual.m34, expected.m34, description); | |
77 assert_equals(actual.m41, expected.m41, description); | |
78 assert_equals(actual.m42, expected.m42, description); | |
79 assert_equals(actual.m43, expected.m43, description); | |
80 assert_equals(actual.m44, expected.m44, description); | |
81 assert_equals(actual.m11, actual.a, description); | |
82 assert_equals(actual.m12, actual.b, description); | |
83 assert_equals(actual.m21, actual.c, description); | |
84 assert_equals(actual.m22, actual.d, description); | |
85 assert_equals(actual.m41, actual.e, description); | |
86 assert_equals(actual.m42, actual.f, description); | |
87 } | 41 } |
| 42 |
| 43 function assert_3d_matrix_equals(actual, expected) { |
| 44 assert_true(actual instanceof DOMMatrixReadOnly); |
| 45 assert_true(Array.isArray(expected) ); |
| 46 assert_equals(16, expected.length, "expected.length"); |
| 47 assert_false(actual.is2D, "is2D"); |
| 48 assert_false(actual.isIdentity, "isIdentity"); |
| 49 assert_array_equals(toArray(actual), [ |
| 50 expected[0], expected[1], expected[2], expected[3], |
| 51 expected[4], expected[5], expected[6], expected[7], |
| 52 expected[8], expected[9], expected[10], expected[11], |
| 53 expected[12], expected[13], expected[14], expected[15], |
| 54 ]); |
| 55 } |
OLD | NEW |