Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Unified Diff: ui/gfx/test/transform_test_common.h

Issue 11774005: Migrate more functions from MathUtil to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/gfx/test/transform_test_common.h
diff --git a/ui/gfx/test/transform_test_common.h b/ui/gfx/test/transform_test_common.h
new file mode 100644
index 0000000000000000000000000000000000000000..a03196394d9f1d123121f715617514a8ec0c2cb7
--- /dev/null
+++ b/ui/gfx/test/transform_test_common.h
@@ -0,0 +1,67 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_
+#define UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_
+
+#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
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace gfx {
+
+// NOTE: the following macros are redundant with those from
+// 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
+// different enough to be appropriate here.
+
+#define EXPECT_ROW1_EQ(a, b, c, d, transform) \
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(0, 0)); \
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(0, 1)); \
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(0, 2)); \
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(0, 3));
+
+#define EXPECT_ROW2_EQ(a, b, c, d, transform) \
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(1, 0)); \
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(1, 1)); \
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(1, 2)); \
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(1, 3));
+
+#define EXPECT_ROW3_EQ(a, b, c, d, transform) \
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(2, 0)); \
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(2, 1)); \
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(2, 2)); \
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(2, 3));
+
+#define EXPECT_ROW4_EQ(a, b, c, d, transform) \
+ EXPECT_FLOAT_EQ((a), (transform).matrix().get(3, 0)); \
+ EXPECT_FLOAT_EQ((b), (transform).matrix().get(3, 1)); \
+ EXPECT_FLOAT_EQ((c), (transform).matrix().get(3, 2)); \
+ EXPECT_FLOAT_EQ((d), (transform).matrix().get(3, 3)); \
+
+// Checking float values for equality close to zero is not robust using
+// EXPECT_FLOAT_EQ (see gtest documentation). So, to verify rotation matrices,
+// we must use a looser absolute error threshold in some places.
+#define EXPECT_ROW1_NEAR(a, b, c, d, transform, errorThreshold) \
+ EXPECT_NEAR((a), (transform).matrix().get(0, 0), (errorThreshold)); \
+ EXPECT_NEAR((b), (transform).matrix().get(0, 1), (errorThreshold)); \
+ EXPECT_NEAR((c), (transform).matrix().get(0, 2), (errorThreshold)); \
+ EXPECT_NEAR((d), (transform).matrix().get(0, 3), (errorThreshold));
+
+#define EXPECT_ROW2_NEAR(a, b, c, d, transform, errorThreshold) \
+ EXPECT_NEAR((a), (transform).matrix().get(1, 0), (errorThreshold)); \
+ EXPECT_NEAR((b), (transform).matrix().get(1, 1), (errorThreshold)); \
+ EXPECT_NEAR((c), (transform).matrix().get(1, 2), (errorThreshold)); \
+ EXPECT_NEAR((d), (transform).matrix().get(1, 3), (errorThreshold));
+
+#define EXPECT_ROW3_NEAR(a, b, c, d, transform, errorThreshold) \
+ EXPECT_NEAR((a), (transform).matrix().get(2, 0), (errorThreshold)); \
+ EXPECT_NEAR((b), (transform).matrix().get(2, 1), (errorThreshold)); \
+ EXPECT_NEAR((c), (transform).matrix().get(2, 2), (errorThreshold)); \
+ EXPECT_NEAR((d), (transform).matrix().get(2, 3), (errorThreshold));
+
+void InitializeTestMatrix(Transform* transform);
+void InitializeTestMatrix2(Transform* transform);
+
+}
danakj 2013/01/07 23:22:35 } // namespace gfx
+
+#endif // UI_GFX_TEST_TRANSFORM_TEST_COMMON_H_

Powered by Google App Engine
This is Rietveld 408576698