[dali_1.0.14] Merge branch 'tizen'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-unmanaged / utc-Dali-AlbumLayout.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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
18 #include <iostream>
19 #include <stdlib.h>
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali/dali.h>
22 #include <dali-toolkit/dali-toolkit.h>
23
24 using namespace Dali;
25
26 using namespace Toolkit;
27
28 using namespace std;
29
30
31 namespace
32 {
33
34 Vector3 AlbumLayoutItemSizeFunction(const Vector3& layoutSize)
35 {
36   float width = layoutSize.width * 0.2f;
37   return Vector3(width, width, width);
38 }
39
40 float AlbumLayoutAlbumRadiusFunction(const Vector3& layoutSize)
41 {
42   return layoutSize.width * 0.5f;
43 }
44 } // namespace
45
46
47 void album_layout_startup(void)
48 {
49   test_return_value = TET_UNDEF;
50 }
51
52 void album_layout_cleanup(void)
53 {
54   test_return_value = TET_PASS;
55 }
56
57 int UtcDaliAlbumLayoutNew(void)
58 {
59   ToolkitTestApplication application;
60
61   // Create a album layout
62   AlbumLayoutPtr albumLayout = AlbumLayout::New();
63
64   DALI_TEST_CHECK(albumLayout);
65   END_TEST;
66 }
67
68 int UtcDaliAlbumSetAndGetItemSizeFunction(void)
69 {
70   ToolkitTestApplication application;
71
72   // Create a album layout
73   AlbumLayoutPtr albumLayout = AlbumLayout::New();
74
75   // Set the item size function
76   albumLayout->SetItemSizeFunction(AlbumLayoutItemSizeFunction);
77
78   // Check whether we get the correct item size function
79   DALI_TEST_CHECK(albumLayout->GetItemSizeFunction() == AlbumLayoutItemSizeFunction);
80   END_TEST;
81 }
82
83 int UtcDaliAlbumSetAndGetScrollSpeedFactor(void)
84 {
85   ToolkitTestApplication application;
86
87   // Create a album layout
88   AlbumLayoutPtr albumLayout = AlbumLayout::New();
89
90   // Set the scroll speed factor
91   albumLayout->SetScrollSpeedFactor(0.05f);
92
93   // Check whether we get the correct scroll speed factor
94   DALI_TEST_EQUALS( albumLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
95   END_TEST;
96 }
97
98 int UtcDaliAlbumSetAndGetMaximumSwipeSpeed(void)
99 {
100   ToolkitTestApplication application;
101
102   // Create a album layout
103   AlbumLayoutPtr albumLayout = AlbumLayout::New();
104
105   // Set the maximum swipe speed
106   albumLayout->SetMaximumSwipeSpeed(50.0f);
107
108   // Check whether we get the correct maximum swipe speed
109   DALI_TEST_EQUALS( albumLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
110   END_TEST;
111 }
112
113 int UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration(void)
114 {
115   ToolkitTestApplication application;
116
117   // Create a album layout
118   AlbumLayoutPtr albumLayout = AlbumLayout::New();
119
120   // Set the flick animaiton duration
121   albumLayout->SetItemFlickAnimationDuration(0.35f);
122
123   // Check whether we get the correct flick animaiton duration
124   DALI_TEST_EQUALS( albumLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
125   END_TEST;
126 }
127
128 int UtcDaliAlbumSetNumOfItems(void)
129 {
130   AlbumLayoutPtr albumLayout = AlbumLayout::New();
131
132   albumLayout->SetNumOfItems(15);
133
134   DALI_TEST_CHECK(albumLayout->GetNumOfItems() == 15);
135   END_TEST;
136 }
137
138 int UtcDaliAlbumSetStackNum(void)
139 {
140   AlbumLayoutPtr albumLayout = AlbumLayout::New();
141
142   albumLayout->SetStackNum(30);
143
144   DALI_TEST_CHECK(albumLayout->GetStackNum() == 30);
145   END_TEST;
146 }
147
148 int UtcDaliAlbumSetPosition(void)
149 {
150   AlbumLayoutPtr albumLayout = AlbumLayout::New();
151
152   std::vector<Vector3> position_list;
153
154   /*(0.0f)*/
155   Vector3 pos = Vector3(850.0f,-250.0f,0.0);
156   position_list.push_back(pos);
157
158   /*(1.0f)*/
159   pos = Vector3(700.0f,50.0f,0.0);
160   position_list.push_back(pos);
161
162   /*(2.0f)*/
163   pos = Vector3(440.0f,227.0f,0.0);
164   position_list.push_back(pos);
165
166   /*(4.0f)*/
167   pos = Vector3(-440.0f,227.0f,0.0);
168   position_list.push_back(pos);
169
170   /*(5.0f)*/
171   pos = Vector3(-700.0f,50.0f,0.0);
172   position_list.push_back(pos);
173
174   /*(6.0f)*/
175   pos = Vector3(-850.0f,-250.0f,0.0);
176   position_list.push_back(pos);
177
178   albumLayout->SetPosition(position_list);
179
180   DALI_TEST_CHECK(albumLayout->GetPosition() == position_list);
181   END_TEST;
182 }
183
184 int UtcDaliAlbumSetRotationX(void)
185 {
186   AlbumLayoutPtr albumLayout = AlbumLayout::New();
187
188   albumLayout->SetRotationX(Math::PI/4.0f);
189
190   DALI_TEST_CHECK(albumLayout->GetRotationX() == Math::PI/4.0f);
191   END_TEST;
192 }
193
194 int UtcDaliAlbumSetRotationZ(void)
195 {
196   AlbumLayoutPtr albumLayout = AlbumLayout::New();
197
198   std::vector<float> rotation_list;
199
200   /*(0.0f)*/
201   float rotate = Math::PI/6.0f;
202   rotation_list.push_back(rotate);
203
204   /*(1.0f)*/
205   rotate = 0.0f;
206   rotation_list.push_back(rotate);
207
208   /*(2.0f)*/
209   rotate = Math::PI/6.0f;
210   rotation_list.push_back(rotate);
211
212   /*(4.0f)*/
213   rotate = -Math::PI/6.0f;
214   rotation_list.push_back(rotate);
215
216   /*(5.0f)*/
217   rotate = 0.0f;
218   rotation_list.push_back(rotate);
219
220   /*(6.0f)*/
221   rotate = -Math::PI/6.0f;
222   rotation_list.push_back(rotate);
223
224   albumLayout->SetRotationZ(rotation_list);
225
226   DALI_TEST_CHECK(albumLayout->GetRotationZ() == rotation_list);
227   END_TEST;
228 }
229
230 int UtcDaliAlbumSetScale(void)
231 {
232   AlbumLayoutPtr albumLayout = AlbumLayout::New();
233
234   std::vector<float> scale_list;
235
236   /*(0.0f)*/
237   float scale = 1.0f;
238   scale_list.push_back(scale);
239
240   /*(1.0f)*/
241   scale = 0.0f;
242   scale_list.push_back(scale);
243
244   /*(2.0f)*/
245   scale = Math::PI/6.0f;
246   scale_list.push_back(scale);
247
248   /*(4.0f)*/
249   scale = -Math::PI/6.0f;
250   scale_list.push_back(scale);
251
252   /*(5.0f)*/
253   scale = 0.0f;
254   scale_list.push_back(scale);
255
256   /*(6.0f)*/
257   scale = -Math::PI/6.0f;
258   scale_list.push_back(scale);
259
260   albumLayout->SetScale(scale_list);
261
262   DALI_TEST_CHECK(albumLayout->GetScale() == scale_list);
263   END_TEST;
264 }
265
266 int UtcDaliAlbumSetColor(void)
267 {
268   // Create a album layout
269   AlbumLayoutPtr albumLayout = AlbumLayout::New();
270
271   std::vector<Vector2> color_list;
272
273   /*(0.0f)*/
274   Vector2 color = Vector2(1.0f,1.0f);
275   color_list.push_back(color);
276
277   /*(1.0f)*/
278   color = Vector2(1.0f,1.0f);
279   color_list.push_back(color);
280
281   /*(2.0f)*/
282   color = Vector2(1.0f,1.0f);
283   color_list.push_back(color);
284
285   /*(4.0f)*/
286   color = Vector2(1.0f,1.0f);
287   color_list.push_back(color);
288
289   /*(5.0f)*/
290   color = Vector2(1.0f,1.0f);
291   color_list.push_back(color);
292
293   /*(6.0f)*/
294   color = Vector2(1.0f,1.0f);
295   color_list.push_back(color);
296
297   albumLayout->SetColor(color_list);
298
299   DALI_TEST_CHECK(albumLayout->GetColor() == color_list);
300   END_TEST;
301 }
302
303 int UtcDaliAlbumSetCenterPosition(void)
304 {
305   AlbumLayoutPtr albumLayout = AlbumLayout::New();
306
307   albumLayout->SetCenterPosition(Vector3( 0.0f,-80.0f,100.0f));
308
309   DALI_TEST_CHECK(albumLayout->GetCenterPosition() == Vector3( 0.0f,-80.0f,100.0f));
310   END_TEST;
311 }
312
313 int UtcDaliAlbumSetSetCenterScale(void)
314 {
315   AlbumLayoutPtr albumLayout = AlbumLayout::New();
316
317   albumLayout->SetCenterScale(1.75f);
318
319   DALI_TEST_CHECK(albumLayout->GetCenterScale() == 1.75f);
320   END_TEST;
321 }
322
323 int UtcDaliAlbumSetSetCenterColor(void)
324 {
325   AlbumLayoutPtr albumLayout = AlbumLayout::New();
326
327   albumLayout->SetCenterColor(Vector2(1.0f,1.0f));
328
329   DALI_TEST_CHECK(albumLayout->GetCenterColor() == Vector2(1.0f,1.0f));
330   END_TEST;
331 }
332
333 int UtcDaliAlbumSetStackPosition(void)
334 {
335   AlbumLayoutPtr albumLayout = AlbumLayout::New();
336
337   albumLayout->SetStackPosition(Vector3(750.0f,-500.0f,0.0f),Vector3(-750.0f,-500.0f,0.0f));
338
339   DALI_TEST_CHECK(albumLayout->GetRightStackPosition() == Vector3(750.0f,-500.0f,0.0f) && albumLayout->GetLeftStackPosition() == Vector3(-750.0f,-500.0f,0.0f));
340   END_TEST;
341 }
342
343 int UtcDaliAlbumSetSetStackScale(void)
344 {
345   AlbumLayoutPtr albumLayout = AlbumLayout::New();
346
347   albumLayout->SetStackScale(1.0f,1.0f);
348
349   DALI_TEST_CHECK(albumLayout->GetRightStackScale() == 1.0f && albumLayout->GetLeftStackScale() == 1.0f);
350   END_TEST;
351 }
352
353 int UtcDaliAlbumSetStackColor(void)
354 {
355   AlbumLayoutPtr albumLayout = AlbumLayout::New();
356
357   albumLayout->SetStackColor(Vector2(1.0f,1.0f),Vector2(1.0f,1.0f));
358
359   DALI_TEST_CHECK(albumLayout->GetRightStackColor() == Vector2(1.0f,1.0f) && albumLayout->GetLeftStackColor() == Vector2(1.0f,1.0f));
360   END_TEST;
361 }