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

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

Issue 109433013: Move geometric types to a separate, more lightweight target. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years 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
OLDNEW
(Empty)
1 // Copyright 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 #include "base/basictypes.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 #include "ui/gfx/box_f.h"
8
9 namespace gfx {
10
11 TEST(BoxTest, Constructors) {
12 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 0.f).ToString(),
13 BoxF().ToString());
14 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, -3.f, -5.f, -7.f).ToString(),
15 BoxF().ToString());
16
17 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 3.f, 5.f, 7.f).ToString(),
18 BoxF(3.f, 5.f, 7.f).ToString());
19 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 0.f).ToString(),
20 BoxF(-3.f, -5.f, -7.f).ToString());
21
22 EXPECT_EQ(BoxF(2.f, 4.f, 6.f, 3.f, 5.f, 7.f).ToString(),
23 BoxF(Point3F(2.f, 4.f, 6.f), 3.f, 5.f, 7.f).ToString());
24 EXPECT_EQ(BoxF(2.f, 4.f, 6.f, 0.f, 0.f, 0.f).ToString(),
25 BoxF(Point3F(2.f, 4.f, 6.f), -3.f, -5.f, -7.f).ToString());
26 }
27
28 TEST(BoxTest, IsEmpty) {
29 EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 0.f).IsEmpty());
30 EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 0.f, 0.f, 0.f).IsEmpty());
31
32 EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 2.f, 0.f, 0.f).IsEmpty());
33 EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 2.f, 0.f, 0.f).IsEmpty());
34 EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 0.f, 2.f, 0.f).IsEmpty());
35 EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 0.f, 2.f, 0.f).IsEmpty());
36 EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 2.f).IsEmpty());
37 EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 0.f, 0.f, 2.f).IsEmpty());
38
39 EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 0.f, 2.f, 2.f).IsEmpty());
40 EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 0.f, 2.f, 2.f).IsEmpty());
41 EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 2.f, 0.f, 2.f).IsEmpty());
42 EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 2.f, 0.f, 2.f).IsEmpty());
43 EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 2.f, 2.f, 0.f).IsEmpty());
44 EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 2.f, 2.f, 0.f).IsEmpty());
45
46 EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 2.f, 2.f, 2.f).IsEmpty());
47 EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 2.f, 2.f, 2.f).IsEmpty());
48 }
49
50 TEST(BoxTest, Union) {
51 BoxF empty_box;
52 BoxF box1(0.f, 0.f, 0.f, 1.f, 1.f, 1.f);
53 BoxF box2(0.f, 0.f, 0.f, 4.f, 6.f, 8.f);
54 BoxF box3(3.f, 4.f, 5.f, 6.f, 4.f, 0.f);
55
56 EXPECT_EQ(empty_box.ToString(), UnionBoxes(empty_box, empty_box).ToString());
57 EXPECT_EQ(box1.ToString(), UnionBoxes(empty_box, box1).ToString());
58 EXPECT_EQ(box1.ToString(), UnionBoxes(box1, empty_box).ToString());
59 EXPECT_EQ(box2.ToString(), UnionBoxes(empty_box, box2).ToString());
60 EXPECT_EQ(box2.ToString(), UnionBoxes(box2, empty_box).ToString());
61 EXPECT_EQ(box3.ToString(), UnionBoxes(empty_box, box3).ToString());
62 EXPECT_EQ(box3.ToString(), UnionBoxes(box3, empty_box).ToString());
63
64 // box_1 is contained in box_2
65 EXPECT_EQ(box2.ToString(), UnionBoxes(box1, box2).ToString());
66 EXPECT_EQ(box2.ToString(), UnionBoxes(box2, box1).ToString());
67
68 // box_1 and box_3 are disjoint
69 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 5.f).ToString(),
70 UnionBoxes(box1, box3).ToString());
71 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 5.f).ToString(),
72 UnionBoxes(box3, box1).ToString());
73
74 // box_2 and box_3 intersect, but neither contains the other
75 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 8.f).ToString(),
76 UnionBoxes(box2, box3).ToString());
77 EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 8.f).ToString(),
78 UnionBoxes(box3, box2).ToString());
79 }
80
81 TEST(BoxTest, ExpandTo) {
82 BoxF box1;
83 BoxF box2(0.f, 0.f, 0.f, 1.f, 1.f, 1.f);
84 BoxF box3(1.f, 1.f, 1.f, 0.f, 0.f, 0.f);
85
86 Point3F point1(0.5f, 0.5f, 0.5f);
87 Point3F point2(-0.5f, -0.5f, -0.5f);
88
89 BoxF expected1_1(0.f, 0.f, 0.f, 0.5f, 0.5f, 0.5f);
90 BoxF expected1_2(-0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f);
91
92 BoxF expected2_1 = box2;
93 BoxF expected2_2(-0.5f, -0.5f, -0.5f, 1.5f, 1.5f, 1.5f);
94
95 BoxF expected3_1(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f);
96 BoxF expected3_2(-0.5f, -0.5f, -0.5f, 1.5f, 1.5f, 1.5f);
97
98 box1.ExpandTo(point1);
99 EXPECT_EQ(expected1_1.ToString(), box1.ToString());
100 box1.ExpandTo(point2);
101 EXPECT_EQ(expected1_2.ToString(), box1.ToString());
102
103 box2.ExpandTo(point1);
104 EXPECT_EQ(expected2_1.ToString(), box2.ToString());
105 box2.ExpandTo(point2);
106 EXPECT_EQ(expected2_2.ToString(), box2.ToString());
107
108 box3.ExpandTo(point1);
109 EXPECT_EQ(expected3_1.ToString(), box3.ToString());
110 box3.ExpandTo(point2);
111 EXPECT_EQ(expected3_2.ToString(), box3.ToString());
112 }
113
114 TEST(BoxTest, Scale) {
115 BoxF box1(2.f, 3.f, 4.f, 5.f, 6.f, 7.f);
116
117 EXPECT_EQ(BoxF().ToString(), ScaleBox(box1, 0.f).ToString());
118 EXPECT_EQ(box1.ToString(), ScaleBox(box1, 1.f).ToString());
119 EXPECT_EQ(BoxF(4.f, 12.f, 24.f, 10.f, 24.f, 42.f).ToString(),
120 ScaleBox(box1, 2.f, 4.f, 6.f).ToString());
121
122 BoxF box2 = box1;
123 box2.Scale(0.f);
124 EXPECT_EQ(BoxF().ToString(), box2.ToString());
125
126 box2 = box1;
127 box2.Scale(1.f);
128 EXPECT_EQ(box1.ToString(), box2.ToString());
129
130 box2.Scale(2.f, 4.f, 6.f);
131 EXPECT_EQ(BoxF(4.f, 12.f, 24.f, 10.f, 24.f, 42.f).ToString(),
132 box2.ToString());
133 }
134
135 TEST(BoxTest, Equals) {
136 EXPECT_TRUE(BoxF() == BoxF());
137 EXPECT_TRUE(BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f) ==
138 BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f));
139 EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 1.f));
140 EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 0.f, 0.f, 1.f, 0.f));
141 EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 0.f, 1.f, 0.f, 0.f));
142 EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 1.f, 0.f, 0.f, 0.f));
143 EXPECT_FALSE(BoxF() == BoxF(0.f, 1.f, 0.f, 0.f, 0.f, 0.f));
144 EXPECT_FALSE(BoxF() == BoxF(1.f, 0.f, 0.f, 0.f, 0.f, 0.f));
145 }
146
147 TEST(BoxTest, NotEquals) {
148 EXPECT_FALSE(BoxF() != BoxF());
149 EXPECT_FALSE(BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f) !=
150 BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f));
151 EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 1.f));
152 EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 0.f, 0.f, 1.f, 0.f));
153 EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 0.f, 1.f, 0.f, 0.f));
154 EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 1.f, 0.f, 0.f, 0.f));
155 EXPECT_TRUE(BoxF() != BoxF(0.f, 1.f, 0.f, 0.f, 0.f, 0.f));
156 EXPECT_TRUE(BoxF() != BoxF(1.f, 0.f, 0.f, 0.f, 0.f, 0.f));
157 }
158
159
160 TEST(BoxTest, Offset) {
161 BoxF box1(2.f, 3.f, 4.f, 5.f, 6.f, 7.f);
162
163 EXPECT_EQ(box1.ToString(), (box1 + Vector3dF(0.f, 0.f, 0.f)).ToString());
164 EXPECT_EQ(BoxF(3.f, 1.f, 0.f, 5.f, 6.f, 7.f).ToString(),
165 (box1 + Vector3dF(1.f, -2.f, -4.f)).ToString());
166
167 BoxF box2 = box1;
168 box2 += Vector3dF(0.f, 0.f, 0.f);
169 EXPECT_EQ(box1.ToString(), box2.ToString());
170
171 box2 += Vector3dF(1.f, -2.f, -4.f);
172 EXPECT_EQ(BoxF(3.f, 1.f, 0.f, 5.f, 6.f, 7.f).ToString(),
173 box2.ToString());
174 }
175
176 } // namespace gfx
OLDNEW
« ui/aura/aura.gyp ('K') | « ui/gfx/box_f.cc ('k') | ui/gfx/geometry/box_f.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698