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

Side by Side Diff: ui/gfx/vector3d_unittest.cc

Issue 11293193: ui: Add non-member Vector2dScale() and Vector3dScale() methods to create scaled vectors (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: use it in cc/ Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« ui/gfx/vector3d_f.cc ('K') | « ui/gfx/vector3d_f.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "testing/gtest/include/gtest/gtest.h" 6 #include "testing/gtest/include/gtest/gtest.h"
7 #include "ui/gfx/vector3d_f.h" 7 #include "ui/gfx/vector3d_f.h"
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <limits> 10 #include <limits>
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 }; 84 };
85 85
86 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(triple_values); ++i) { 86 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(triple_values); ++i) {
87 gfx::Vector3dF v(triple_values[i][0], 87 gfx::Vector3dF v(triple_values[i][0],
88 triple_values[i][1], 88 triple_values[i][1],
89 triple_values[i][2]); 89 triple_values[i][2]);
90 v.Scale(triple_values[i][3], triple_values[i][4], triple_values[i][5]); 90 v.Scale(triple_values[i][3], triple_values[i][4], triple_values[i][5]);
91 EXPECT_EQ(v.x(), triple_values[i][0] * triple_values[i][3]); 91 EXPECT_EQ(v.x(), triple_values[i][0] * triple_values[i][3]);
92 EXPECT_EQ(v.y(), triple_values[i][1] * triple_values[i][4]); 92 EXPECT_EQ(v.y(), triple_values[i][1] * triple_values[i][4]);
93 EXPECT_EQ(v.z(), triple_values[i][2] * triple_values[i][5]); 93 EXPECT_EQ(v.z(), triple_values[i][2] * triple_values[i][5]);
94
95 Vector3dF v2 = ScaleVector3d(
96 gfx::Vector3dF(triple_values[i][0],
97 triple_values[i][1],
98 triple_values[i][2]),
99 triple_values[i][3], triple_values[i][4], triple_values[i][5]);
100 EXPECT_EQ(v2.x(), triple_values[i][0] * triple_values[i][3]);
sky 2012/11/09 17:06:21 and order wrong here too.
danakj 2012/11/09 18:21:47 Done.
101 EXPECT_EQ(v2.y(), triple_values[i][1] * triple_values[i][4]);
102 EXPECT_EQ(v2.z(), triple_values[i][2] * triple_values[i][5]);
94 } 103 }
95 104
96 float single_values[][4] = { 105 float single_values[][4] = {
97 { 4.5f, 1.2f, 1.8f, 3.3f }, 106 { 4.5f, 1.2f, 1.8f, 3.3f },
98 { 4.5f, -1.2f, 1.8f, 3.3f }, 107 { 4.5f, -1.2f, 1.8f, 3.3f },
99 { 4.5f, 1.2f, -1.8f, 3.3f }, 108 { 4.5f, 1.2f, -1.8f, 3.3f },
100 { 4.5f, -1.2f, -1.8f, 3.3f }, 109 { 4.5f, -1.2f, -1.8f, 3.3f },
101 { -4.5f, 1.2f, 3.3f }, 110 { -4.5f, 1.2f, 3.3f },
102 { -4.5f, 1.2f, 0 }, 111 { -4.5f, 1.2f, 0 },
103 { -4.5f, 1.2f, 1.8f, 3.3f }, 112 { -4.5f, 1.2f, 1.8f, 3.3f },
104 { -4.5f, 1.2f, 1.8f, 0 }, 113 { -4.5f, 1.2f, 1.8f, 0 },
105 { 4.5f, 0, 1.8f, 3.3f }, 114 { 4.5f, 0, 1.8f, 3.3f },
106 { 0, 1.2f, 1.8f, 3.3f }, 115 { 0, 1.2f, 1.8f, 3.3f },
107 { 4.5f, 0, 1.8f, 3.3f }, 116 { 4.5f, 0, 1.8f, 3.3f },
108 { 0, 1.2f, 1.8f, 3.3f }, 117 { 0, 1.2f, 1.8f, 3.3f },
109 { 4.5f, 1.2f, 0, 3.3f }, 118 { 4.5f, 1.2f, 0, 3.3f },
110 { 4.5f, 1.2f, 0, 3.3f } 119 { 4.5f, 1.2f, 0, 3.3f }
111 }; 120 };
112 121
113 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(single_values); ++i) { 122 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(single_values); ++i) {
114 gfx::Vector3dF v(single_values[i][0], 123 gfx::Vector3dF v(single_values[i][0],
115 single_values[i][1], 124 single_values[i][1],
116 single_values[i][2]); 125 single_values[i][2]);
117 v.Scale(single_values[i][3]); 126 v.Scale(single_values[i][3]);
118 EXPECT_EQ(v.x(), single_values[i][0] * single_values[i][3]); 127 EXPECT_EQ(v.x(), single_values[i][0] * single_values[i][3]);
119 EXPECT_EQ(v.y(), single_values[i][1] * single_values[i][3]); 128 EXPECT_EQ(v.y(), single_values[i][1] * single_values[i][3]);
120 EXPECT_EQ(v.z(), single_values[i][2] * single_values[i][3]); 129 EXPECT_EQ(v.z(), single_values[i][2] * single_values[i][3]);
130
131 Vector3dF v2 = ScaleVector3d(
132 gfx::Vector3dF(single_values[i][0],
133 single_values[i][1],
134 single_values[i][2]),
135 single_values[i][3]);
136 EXPECT_EQ(v2.x(), single_values[i][0] * single_values[i][3]);
137 EXPECT_EQ(v2.y(), single_values[i][1] * single_values[i][3]);
138 EXPECT_EQ(v2.z(), single_values[i][2] * single_values[i][3]);
121 } 139 }
122 } 140 }
123 141
124 TEST(Vector3dTest, Length) { 142 TEST(Vector3dTest, Length) {
125 float float_values[][3] = { 143 float float_values[][3] = {
126 { 0, 0, 0 }, 144 { 0, 0, 0 },
127 { 10.5f, 20.5f, 8.5f }, 145 { 10.5f, 20.5f, 8.5f },
128 { 20.5f, 10.5f, 8.5f }, 146 { 20.5f, 10.5f, 8.5f },
129 { 8.5f, 20.5f, 10.5f }, 147 { 8.5f, 20.5f, 10.5f },
130 { 10.5f, 8.5f, 20.5f }, 148 { 10.5f, 8.5f, 20.5f },
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 }; 224 };
207 225
208 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 226 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
209 Vector3dF actual = gfx::CrossProduct(tests[i].input1, tests[i].input2); 227 Vector3dF actual = gfx::CrossProduct(tests[i].input1, tests[i].input2);
210 EXPECT_EQ(tests[i].expected.ToString(), actual.ToString()); 228 EXPECT_EQ(tests[i].expected.ToString(), actual.ToString());
211 } 229 }
212 230
213 } 231 }
214 232
215 } // namespace gfx 233 } // namespace gfx
OLDNEW
« ui/gfx/vector3d_f.cc ('K') | « ui/gfx/vector3d_f.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698