Revert "License conversion from Flora to Apache 2.0"
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-Rect.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 #include <iostream>
18
19 #include <stdlib.h>
20 #include <dali/dali.h>
21 #include <dali-test-suite-utils.h>
22
23 using namespace Dali;
24
25 void utc_dali_rect_startup(void)
26 {
27   test_return_value = TET_UNDEF;
28 }
29
30 void utc_dali_rect_cleanup(void)
31 {
32   test_return_value = TET_PASS;
33 }
34
35
36 // Positive test case for a method
37 int UtcDaliRectCons01(void)
38 {
39   TestApplication application;
40
41   Rect<float> rect;
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);
46   END_TEST;
47 }
48
49 int UtcDaliRectCons02(void)
50 {
51   TestApplication application;
52
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);
58   END_TEST;
59 }
60
61 int UtcDaliRectCons03(void)
62 {
63   TestApplication application;
64
65   Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
66
67   Rect<float> r2 = rect;
68
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);
73   END_TEST;
74 }
75
76 int UtcDaliRectCons04(void)
77 {
78   TestApplication application;
79
80   Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
81
82   Rect<float> r2(rect);
83
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);
88   END_TEST;
89 }
90
91 int UtcDaliRectSet(void)
92 {
93   TestApplication application;
94
95   Rect<float> rect(10.0f, 20.0f, 400.0f, 200.0f);
96
97   rect.Set(1.0f, 2.0f, 3.0f, 4.0f);
98
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);
103   END_TEST;
104 }
105
106 int UtcDaliRectIsEmpty(void)
107 {
108   TestApplication application;
109
110   Rect<int>   ri;
111   Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
112   Rect<float> rf2;
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);
117
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());
125   END_TEST;
126 }
127
128 int UtcDaliRectRight(void)
129 {
130   TestApplication application;
131
132   Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
133
134   DALI_TEST_EQUALS(rf.Right(), 410.0f, 0.001, TEST_LOCATION);
135   END_TEST;
136 }
137
138
139 int UtcDaliRectBottom(void)
140 {
141   TestApplication application;
142
143   Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
144
145   DALI_TEST_EQUALS(rf.Bottom(), 220.0f, 0.001, TEST_LOCATION);
146   END_TEST;
147 }
148
149
150 int UtcDaliRectArea(void)
151 {
152   TestApplication application;
153
154   Rect<float> rf(10.0f, 20.0f, 400.0f, 200.0f);
155
156   DALI_TEST_EQUALS(rf.Area(), 80000.0f, 0.001, TEST_LOCATION);
157   END_TEST;
158 }
159
160
161 int UtcDaliRectIntersects(void)
162 {
163   TestApplication application;
164
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);
171
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));
177   END_TEST;
178 }
179
180
181
182 int UtcDaliRectContains(void)
183 {
184   TestApplication application;
185
186   Rect<float> rf1( 10.0f,  20.0f, 200.0f, 200.0f);
187
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);
193
194   Rect<float> rf7( 50.0f,  70.0f, 50.0f,   50.0f);
195
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);
200
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));
207
208   DALI_TEST_CHECK(rf1.Contains(rf7));
209
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));
214   END_TEST;
215 }
216
217
218 int UtcDaliRectOperatorNotEquals(void)
219 {
220   TestApplication application;
221
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);
233
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);
244   END_TEST;
245 }
246
247
248 int UtcDaliRectOperatorEquals(void)
249 {
250   TestApplication application;
251
252   Rect<float> rf1( 10.0f,  20.0f, 200.0f, 200.0f);
253   Rect<float> rf1p( 10.0f,  20.0f, 200.0f, 200.0f);
254
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);
259
260   Rect<float> rf6( 0.0f,  0.0f, 9.0f, 10.0f);
261
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));
269
270
271   // integers
272   Rect<int> ri1( 10,  20, 200, 200 );
273   Rect<int> ri1p( 10,  20, 200, 200 );
274
275   DALI_TEST_CHECK(ri1 == ri1p);
276   END_TEST;
277 }