OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_ | |
6 #define UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_ | |
7 | |
8 #include "ui/gfx/transform.h" | |
danakj
2013/01/07 23:22:35
sort
shawnsingh
2013/01/07 23:59:53
I wonder why this did not get caught by presubmit
| |
9 #include "testing/gtest/include/gtest/gtest.h" | |
10 | |
11 namespace gfx { | |
12 | |
13 // NOTE: the following macros are redundant with those from | |
14 // web_transformation_matrix_unittests, but for now they are | |
danakj
2013/01/07 23:22:35
does this comment make sense anymore?
shawnsingh
2013/01/07 23:59:53
It's not out-dated or wrong, but maybe it's value
| |
15 // different enough to be appropriate here. | |
16 | |
17 #define EXPECT_ROW1_EQ(a, b, c, d, transform) \ | |
18 EXPECT_FLOAT_EQ((a), (transform).matrix().get(0, 0)); \ | |
19 EXPECT_FLOAT_EQ((b), (transform).matrix().get(0, 1)); \ | |
20 EXPECT_FLOAT_EQ((c), (transform).matrix().get(0, 2)); \ | |
21 EXPECT_FLOAT_EQ((d), (transform).matrix().get(0, 3)); | |
22 | |
23 #define EXPECT_ROW2_EQ(a, b, c, d, transform) \ | |
24 EXPECT_FLOAT_EQ((a), (transform).matrix().get(1, 0)); \ | |
25 EXPECT_FLOAT_EQ((b), (transform).matrix().get(1, 1)); \ | |
26 EXPECT_FLOAT_EQ((c), (transform).matrix().get(1, 2)); \ | |
27 EXPECT_FLOAT_EQ((d), (transform).matrix().get(1, 3)); | |
28 | |
29 #define EXPECT_ROW3_EQ(a, b, c, d, transform) \ | |
30 EXPECT_FLOAT_EQ((a), (transform).matrix().get(2, 0)); \ | |
31 EXPECT_FLOAT_EQ((b), (transform).matrix().get(2, 1)); \ | |
32 EXPECT_FLOAT_EQ((c), (transform).matrix().get(2, 2)); \ | |
33 EXPECT_FLOAT_EQ((d), (transform).matrix().get(2, 3)); | |
34 | |
35 #define EXPECT_ROW4_EQ(a, b, c, d, transform) \ | |
36 EXPECT_FLOAT_EQ((a), (transform).matrix().get(3, 0)); \ | |
37 EXPECT_FLOAT_EQ((b), (transform).matrix().get(3, 1)); \ | |
38 EXPECT_FLOAT_EQ((c), (transform).matrix().get(3, 2)); \ | |
39 EXPECT_FLOAT_EQ((d), (transform).matrix().get(3, 3)); \ | |
40 | |
41 // Checking float values for equality close to zero is not robust using | |
42 // EXPECT_FLOAT_EQ (see gtest documentation). So, to verify rotation matrices, | |
43 // we must use a looser absolute error threshold in some places. | |
44 #define EXPECT_ROW1_NEAR(a, b, c, d, transform, errorThreshold) \ | |
45 EXPECT_NEAR((a), (transform).matrix().get(0, 0), (errorThreshold)); \ | |
46 EXPECT_NEAR((b), (transform).matrix().get(0, 1), (errorThreshold)); \ | |
47 EXPECT_NEAR((c), (transform).matrix().get(0, 2), (errorThreshold)); \ | |
48 EXPECT_NEAR((d), (transform).matrix().get(0, 3), (errorThreshold)); | |
49 | |
50 #define EXPECT_ROW2_NEAR(a, b, c, d, transform, errorThreshold) \ | |
51 EXPECT_NEAR((a), (transform).matrix().get(1, 0), (errorThreshold)); \ | |
52 EXPECT_NEAR((b), (transform).matrix().get(1, 1), (errorThreshold)); \ | |
53 EXPECT_NEAR((c), (transform).matrix().get(1, 2), (errorThreshold)); \ | |
54 EXPECT_NEAR((d), (transform).matrix().get(1, 3), (errorThreshold)); | |
55 | |
56 #define EXPECT_ROW3_NEAR(a, b, c, d, transform, errorThreshold) \ | |
57 EXPECT_NEAR((a), (transform).matrix().get(2, 0), (errorThreshold)); \ | |
58 EXPECT_NEAR((b), (transform).matrix().get(2, 1), (errorThreshold)); \ | |
59 EXPECT_NEAR((c), (transform).matrix().get(2, 2), (errorThreshold)); \ | |
60 EXPECT_NEAR((d), (transform).matrix().get(2, 3), (errorThreshold)); | |
61 | |
62 void InitializeTestMatrix(Transform* transform); | |
63 void InitializeTestMatrix2(Transform* transform); | |
64 | |
65 } | |
danakj
2013/01/07 23:22:35
} // namespace gfx
| |
66 | |
67 #endif // UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_ | |
OLD | NEW |