2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
20 #include <dali/dali.h>
21 #include <dali-test-suite-utils.h>
25 void utc_dali_rect_startup(void)
27 test_return_value = TET_UNDEF;
30 void utc_dali_rect_cleanup(void)
32 test_return_value = TET_PASS;
36 // Positive test case for a method
37 int UtcDaliRectCons01(void)
39 TestApplication application;
42 DALI_TEST_EQUALS(rect.x, 0.0f, 0.001, TEST_LOCATION);
43 DALI_TEST_EQUALS(rect.y, 0.0f, 0.001, TEST_LOCATION);
44 DALI_TEST_EQUALS(rect.width, 0.0f, 0.001, TEST_LOCATION);
45 DALI_TEST_EQUALS(rect.height, 0.0f, 0.001, TEST_LOCATION);
49 int UtcDaliRectCons02(void)
51 TestApplication application;
53 Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
54 DALI_TEST_EQUALS(rect.x, 10.0f, 0.001, TEST_LOCATION);
55 DALI_TEST_EQUALS(rect.y, 20.0f, 0.001, TEST_LOCATION);
56 DALI_TEST_EQUALS(rect.width, 400.0f, 0.001, TEST_LOCATION);
57 DALI_TEST_EQUALS(rect.height, 200.0f, 0.001, TEST_LOCATION);
61 int UtcDaliRectCons03(void)
63 TestApplication application;
65 Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
67 Rect<float> r2 = rect;
69 DALI_TEST_EQUALS(r2.x, 10.0f, 0.001, TEST_LOCATION);
70 DALI_TEST_EQUALS(r2.y, 20.0f, 0.001, TEST_LOCATION);
71 DALI_TEST_EQUALS(r2.width, 400.0f, 0.001, TEST_LOCATION);
72 DALI_TEST_EQUALS(r2.height, 200.0f, 0.001, TEST_LOCATION);
76 int UtcDaliRectCons04(void)
78 TestApplication application;
80 Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
84 DALI_TEST_EQUALS(r2.x, 10.0f, 0.001, TEST_LOCATION);
85 DALI_TEST_EQUALS(r2.y, 20.0f, 0.001, TEST_LOCATION);
86 DALI_TEST_EQUALS(r2.width, 400.0f, 0.001, TEST_LOCATION);
87 DALI_TEST_EQUALS(r2.height, 200.0f, 0.001, TEST_LOCATION);
91 int UtcDaliRectSet(void)
93 TestApplication application;
95 Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
97 rect.Set(1.0f, 2.0f, 3.0f, 4.0f);
99 DALI_TEST_EQUALS(rect.x, 1.0f, 0.001, TEST_LOCATION);
100 DALI_TEST_EQUALS(rect.y, 2.0f, 0.001, TEST_LOCATION);
101 DALI_TEST_EQUALS(rect.width, 3.0f, 0.001, TEST_LOCATION);
102 DALI_TEST_EQUALS(rect.height, 4.0f, 0.001, TEST_LOCATION);
106 int UtcDaliRectIsEmpty(void)
108 TestApplication application;
111 Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
113 Rect<float> rf3(10.0f, 20.0f, 0.0f, 200.0f);
114 Rect<float> rf4(10.0f, 20.0f, 400.0f, 0.0f);
115 Rect<double> rd(10.0, 20.0, 0.0, 200.0);
116 Rect<unsigned int> ru(0u, 0u, 4u, 0u);
118 DALI_TEST_CHECK(!rf.IsEmpty());
119 DALI_TEST_CHECK(rf2.IsEmpty());
120 DALI_TEST_CHECK(rf3.IsEmpty());
121 DALI_TEST_CHECK(rf4.IsEmpty());
122 DALI_TEST_CHECK(ri.IsEmpty());
123 DALI_TEST_CHECK(rd.IsEmpty());
124 DALI_TEST_CHECK(ru.IsEmpty());
128 int UtcDaliRectRight(void)
130 TestApplication application;
132 Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
134 DALI_TEST_EQUALS(rf.Right(), 410.0f, 0.001, TEST_LOCATION);
139 int UtcDaliRectBottom(void)
141 TestApplication application;
143 Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
145 DALI_TEST_EQUALS(rf.Bottom(), 220.0f, 0.001, TEST_LOCATION);
150 int UtcDaliRectArea(void)
152 TestApplication application;
154 Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
156 DALI_TEST_EQUALS(rf.Area(), 80000.0f, 0.001, TEST_LOCATION);
161 int UtcDaliRectIntersects(void)
163 TestApplication application;
165 Rect<float> rf1( 10.0f, 20.0f, 200.0f, 200.0f);
166 Rect<float> rf2( 10.0f, 120.0f, 200.0f, 200.0f);
167 Rect<float> rf3( 10.0f, -80.0f, 200.0f, 200.0f);
168 Rect<float> rf4(110.0f, 20.0f, 200.0f, 200.0f);
169 Rect<float> rf5(-90.0f, 20.0f, 200.0f, 200.0f);
170 Rect<float> rf6(1000.0f, 1200.0f, 10.0f, 10.0f);
172 DALI_TEST_CHECK(rf1.Intersects(rf2));
173 DALI_TEST_CHECK(rf1.Intersects(rf3));
174 DALI_TEST_CHECK(rf1.Intersects(rf4));
175 DALI_TEST_CHECK(rf1.Intersects(rf5));
176 DALI_TEST_CHECK(!rf1.Intersects(rf6));
182 int UtcDaliRectContains(void)
184 TestApplication application;
186 Rect<float> rf1( 10.0f, 20.0f, 200.0f, 200.0f);
188 Rect<float> rf2( 10.0f, 120.0f, 200.0f, 200.0f);
189 Rect<float> rf3( 10.0f, -80.0f, 200.0f, 200.0f);
190 Rect<float> rf4(110.0f, 20.0f, 200.0f, 200.0f);
191 Rect<float> rf5(-90.0f, 20.0f, 200.0f, 200.0f);
192 Rect<float> rf6(1000.0f, 1200.0f, 10.0f, 10.0f);
194 Rect<float> rf7( 50.0f, 70.0f, 50.0f, 50.0f);
196 Rect<float> rf8( 10.0f, 20.0f, 100.0f, 100.0f);
197 Rect<float> rf9( 110.0f, 20.0f, 100.0f, 100.0f);
198 Rect<float> rf10( 110.0f, 120.0f, 100.0f, 100.0f);
199 Rect<float> rf11( 10.0f, 120.0f, 100.0f, 100.0f);
201 DALI_TEST_CHECK(rf1.Contains(rf1));
202 DALI_TEST_CHECK(!rf1.Contains(rf2));
203 DALI_TEST_CHECK(!rf1.Contains(rf3));
204 DALI_TEST_CHECK(!rf1.Contains(rf4));
205 DALI_TEST_CHECK(!rf1.Contains(rf5));
206 DALI_TEST_CHECK(!rf1.Contains(rf6));
208 DALI_TEST_CHECK(rf1.Contains(rf7));
210 DALI_TEST_CHECK(rf1.Contains(rf8));
211 DALI_TEST_CHECK(rf1.Contains(rf9));
212 DALI_TEST_CHECK(rf1.Contains(rf10));
213 DALI_TEST_CHECK(rf1.Contains(rf11));
218 int UtcDaliRectOperatorNotEquals(void)
220 TestApplication application;
222 Rect<float> rf1( 10.0f, 20.0f, 200.0f, 200.0f);
223 Rect<float> rf2( 10.0f, 120.0f, 200.0f, 200.0f);
224 Rect<float> rf3( 10.0f, -80.0f, 200.0f, 200.0f);
225 Rect<float> rf4(110.0f, 20.0f, 200.0f, 200.0f);
226 Rect<float> rf5(-90.0f, 20.0f, 200.0f, 200.0f);
227 Rect<float> rf6(1000.0f, 1200.0f, 10.0f, 10.0f);
228 Rect<float> rf7( 50.0f, 70.0f, 50.0f, 50.0f);
229 Rect<float> rf8( 10.0f, 20.0f, 100.0f, 100.0f);
230 Rect<float> rf9( 110.0f, 20.0f, 100.0f, 100.0f);
231 Rect<float> rf10( 110.0f, 120.0f, 100.0f, 100.0f);
232 Rect<float> rf11( 10.0f, 120.0f, 100.0f, 100.0f);
234 DALI_TEST_CHECK(rf1 != rf2);
235 DALI_TEST_CHECK(rf1 != rf3);
236 DALI_TEST_CHECK(rf1 != rf4);
237 DALI_TEST_CHECK(rf1 != rf5);
238 DALI_TEST_CHECK(rf1 != rf6);
239 DALI_TEST_CHECK(rf1 != rf7);
240 DALI_TEST_CHECK(rf1 != rf8);
241 DALI_TEST_CHECK(rf1 != rf9);
242 DALI_TEST_CHECK(rf1 != rf10);
243 DALI_TEST_CHECK(rf1 != rf11);
248 int UtcDaliRectOperatorEquals(void)
250 TestApplication application;
252 Rect<float> rf1( 10.0f, 20.0f, 200.0f, 200.0f);
253 Rect<float> rf1p( 10.0f, 20.0f, 200.0f, 200.0f);
255 Rect<float> rf2(110.0f, 20.0f, 200.0f, 200.0f);
256 Rect<float> rf3( 10.0f, 120.0f, 200.0f, 200.0f);
257 Rect<float> rf4( 10.0f, 20.0f, 300.0f, 200.0f);
258 Rect<float> rf5( 10.0f, 20.0f, 200.0f, 500.0f);
260 Rect<float> rf6( 0.0f, 0.0f, 9.0f, 10.0f);
262 DALI_TEST_CHECK(rf1 == rf1p);
263 DALI_TEST_CHECK(rf1 == rf1);
264 DALI_TEST_CHECK(!(rf1 == rf2));
265 DALI_TEST_CHECK(!(rf1 == rf3));
266 DALI_TEST_CHECK(!(rf1 == rf4));
267 DALI_TEST_CHECK(!(rf1 == rf5));
268 DALI_TEST_CHECK(!(rf1 == rf6));
272 Rect<int> ri1( 10, 20, 200, 200 );
273 Rect<int> ri1p( 10, 20, 200, 200 );
275 DALI_TEST_CHECK(ri1 == ri1p);