Chromium Code Reviews| 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 |