2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
23 #include <dali/dali.h>
24 #include <dali-toolkit/dali-toolkit.h>
26 #include <dali-toolkit-test-suite-utils.h>
30 using namespace Toolkit;
38 Vector3 AlbumLayoutItemSizeFunction(const Vector3& layoutSize)
40 float width = layoutSize.width * 0.2f;
41 return Vector3(width, width, width);
44 float AlbumLayoutAlbumRadiusFunction(const Vector3& layoutSize)
46 return layoutSize.width * 0.5f;
50 static void Startup();
51 static void Cleanup();
54 void (*tet_startup)() = Startup;
55 void (*tet_cleanup)() = Cleanup;
58 static void UtcDaliAlbumLayoutNew();
59 static void UtcDaliAlbumSetAndGetItemSizeFunction();
60 static void UtcDaliAlbumSetAndGetScrollSpeedFactor();
61 static void UtcDaliAlbumSetAndGetMaximumSwipeSpeed();
62 static void UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration();
63 static void UtcDaliAlbumSetNumOfItems();
64 static void UtcDaliAlbumSetStackNum();
65 static void UtcDaliAlbumSetPosition();
66 static void UtcDaliAlbumSetRotationX();
67 static void UtcDaliAlbumSetRotationZ();
68 static void UtcDaliAlbumSetScale();
69 static void UtcDaliAlbumSetColor();
70 static void UtcDaliAlbumSetCenterPosition();
71 static void UtcDaliAlbumSetSetCenterScale();
72 static void UtcDaliAlbumSetSetCenterColor();
73 static void UtcDaliAlbumSetStackPosition();
74 static void UtcDaliAlbumSetSetStackScale();
75 static void UtcDaliAlbumSetStackColor();
78 POSITIVE_TC_IDX = 0x01,
82 // Add test functionality for all APIs in the class (Positive and Negative)
84 struct tet_testlist tet_testlist[] = {
85 { UtcDaliAlbumLayoutNew, POSITIVE_TC_IDX },
86 { UtcDaliAlbumSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
87 { UtcDaliAlbumSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
88 { UtcDaliAlbumSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
89 { UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
90 { UtcDaliAlbumSetNumOfItems, POSITIVE_TC_IDX },
91 { UtcDaliAlbumSetStackNum, POSITIVE_TC_IDX },
92 { UtcDaliAlbumSetPosition, POSITIVE_TC_IDX },
93 { UtcDaliAlbumSetRotationX, POSITIVE_TC_IDX },
94 { UtcDaliAlbumSetRotationZ, POSITIVE_TC_IDX },
95 { UtcDaliAlbumSetScale, POSITIVE_TC_IDX },
96 { UtcDaliAlbumSetColor, POSITIVE_TC_IDX },
97 { UtcDaliAlbumSetCenterPosition, POSITIVE_TC_IDX },
98 { UtcDaliAlbumSetSetCenterScale, POSITIVE_TC_IDX },
99 { UtcDaliAlbumSetSetCenterColor, POSITIVE_TC_IDX },
100 { UtcDaliAlbumSetStackPosition, POSITIVE_TC_IDX },
101 { UtcDaliAlbumSetSetStackScale, POSITIVE_TC_IDX },
102 { UtcDaliAlbumSetStackColor, POSITIVE_TC_IDX },
107 // Called only once before first test is run.
108 static void Startup()
112 // Called only once after last test is run
113 static void Cleanup()
117 static void UtcDaliAlbumLayoutNew()
119 ToolkitTestApplication application;
121 // Create a album layout
122 AlbumLayoutPtr albumLayout = AlbumLayout::New();
124 DALI_TEST_CHECK(albumLayout);
127 static void UtcDaliAlbumSetAndGetItemSizeFunction()
129 ToolkitTestApplication application;
131 // Create a album layout
132 AlbumLayoutPtr albumLayout = AlbumLayout::New();
134 // Set the item size function
135 albumLayout->SetItemSizeFunction(AlbumLayoutItemSizeFunction);
137 // Check whether we get the correct item size function
138 DALI_TEST_CHECK(albumLayout->GetItemSizeFunction() == AlbumLayoutItemSizeFunction);
141 static void UtcDaliAlbumSetAndGetScrollSpeedFactor()
143 ToolkitTestApplication application;
145 // Create a album layout
146 AlbumLayoutPtr albumLayout = AlbumLayout::New();
148 // Set the scroll speed factor
149 albumLayout->SetScrollSpeedFactor(0.05f);
151 // Check whether we get the correct scroll speed factor
152 DALI_TEST_EQUALS( albumLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
155 static void UtcDaliAlbumSetAndGetMaximumSwipeSpeed()
157 ToolkitTestApplication application;
159 // Create a album layout
160 AlbumLayoutPtr albumLayout = AlbumLayout::New();
162 // Set the maximum swipe speed
163 albumLayout->SetMaximumSwipeSpeed(50.0f);
165 // Check whether we get the correct maximum swipe speed
166 DALI_TEST_EQUALS( albumLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
169 static void UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration()
171 ToolkitTestApplication application;
173 // Create a album layout
174 AlbumLayoutPtr albumLayout = AlbumLayout::New();
176 // Set the flick animaiton duration
177 albumLayout->SetItemFlickAnimationDuration(0.35f);
179 // Check whether we get the correct flick animaiton duration
180 DALI_TEST_EQUALS( albumLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
183 static void UtcDaliAlbumSetNumOfItems()
185 AlbumLayoutPtr albumLayout = AlbumLayout::New();
187 albumLayout->SetNumOfItems(15);
189 DALI_TEST_CHECK(albumLayout->GetNumOfItems() == 15);
192 static void UtcDaliAlbumSetStackNum()
194 AlbumLayoutPtr albumLayout = AlbumLayout::New();
196 albumLayout->SetStackNum(30);
198 DALI_TEST_CHECK(albumLayout->GetStackNum() == 30);
201 static void UtcDaliAlbumSetPosition()
203 AlbumLayoutPtr albumLayout = AlbumLayout::New();
205 std::vector<Vector3> position_list;
208 Vector3 pos = Vector3(850.0f,-250.0f,0.0);
209 position_list.push_back(pos);
212 pos = Vector3(700.0f,50.0f,0.0);
213 position_list.push_back(pos);
216 pos = Vector3(440.0f,227.0f,0.0);
217 position_list.push_back(pos);
220 pos = Vector3(-440.0f,227.0f,0.0);
221 position_list.push_back(pos);
224 pos = Vector3(-700.0f,50.0f,0.0);
225 position_list.push_back(pos);
228 pos = Vector3(-850.0f,-250.0f,0.0);
229 position_list.push_back(pos);
231 albumLayout->SetPosition(position_list);
233 DALI_TEST_CHECK(albumLayout->GetPosition() == position_list);
236 static void UtcDaliAlbumSetRotationX()
238 AlbumLayoutPtr albumLayout = AlbumLayout::New();
240 albumLayout->SetRotationX(Math::PI/4.0f);
242 DALI_TEST_CHECK(albumLayout->GetRotationX() == Math::PI/4.0f);
245 static void UtcDaliAlbumSetRotationZ()
247 AlbumLayoutPtr albumLayout = AlbumLayout::New();
249 std::vector<float> rotation_list;
252 float rotate = Math::PI/6.0f;
253 rotation_list.push_back(rotate);
257 rotation_list.push_back(rotate);
260 rotate = Math::PI/6.0f;
261 rotation_list.push_back(rotate);
264 rotate = -Math::PI/6.0f;
265 rotation_list.push_back(rotate);
269 rotation_list.push_back(rotate);
272 rotate = -Math::PI/6.0f;
273 rotation_list.push_back(rotate);
275 albumLayout->SetRotationZ(rotation_list);
277 DALI_TEST_CHECK(albumLayout->GetRotationZ() == rotation_list);
280 static void UtcDaliAlbumSetScale()
282 AlbumLayoutPtr albumLayout = AlbumLayout::New();
284 std::vector<float> scale_list;
288 scale_list.push_back(scale);
292 scale_list.push_back(scale);
295 scale = Math::PI/6.0f;
296 scale_list.push_back(scale);
299 scale = -Math::PI/6.0f;
300 scale_list.push_back(scale);
304 scale_list.push_back(scale);
307 scale = -Math::PI/6.0f;
308 scale_list.push_back(scale);
310 albumLayout->SetScale(scale_list);
312 DALI_TEST_CHECK(albumLayout->GetScale() == scale_list);
315 static void UtcDaliAlbumSetColor()
317 // Create a album layout
318 AlbumLayoutPtr albumLayout = AlbumLayout::New();
320 std::vector<Vector2> color_list;
323 Vector2 color = Vector2(1.0f,1.0f);
324 color_list.push_back(color);
327 color = Vector2(1.0f,1.0f);
328 color_list.push_back(color);
331 color = Vector2(1.0f,1.0f);
332 color_list.push_back(color);
335 color = Vector2(1.0f,1.0f);
336 color_list.push_back(color);
339 color = Vector2(1.0f,1.0f);
340 color_list.push_back(color);
343 color = Vector2(1.0f,1.0f);
344 color_list.push_back(color);
346 albumLayout->SetColor(color_list);
348 DALI_TEST_CHECK(albumLayout->GetColor() == color_list);
351 static void UtcDaliAlbumSetCenterPosition()
353 AlbumLayoutPtr albumLayout = AlbumLayout::New();
355 albumLayout->SetCenterPosition(Vector3( 0.0f,-80.0f,100.0f));
357 DALI_TEST_CHECK(albumLayout->GetCenterPosition() == Vector3( 0.0f,-80.0f,100.0f));
360 static void UtcDaliAlbumSetSetCenterScale()
362 AlbumLayoutPtr albumLayout = AlbumLayout::New();
364 albumLayout->SetCenterScale(1.75f);
366 DALI_TEST_CHECK(albumLayout->GetCenterScale() == 1.75f);
369 static void UtcDaliAlbumSetSetCenterColor()
371 AlbumLayoutPtr albumLayout = AlbumLayout::New();
373 albumLayout->SetCenterColor(Vector2(1.0f,1.0f));
375 DALI_TEST_CHECK(albumLayout->GetCenterColor() == Vector2(1.0f,1.0f));
378 static void UtcDaliAlbumSetStackPosition()
380 AlbumLayoutPtr albumLayout = AlbumLayout::New();
382 albumLayout->SetStackPosition(Vector3(750.0f,-500.0f,0.0f),Vector3(-750.0f,-500.0f,0.0f));
384 DALI_TEST_CHECK(albumLayout->GetRightStackPosition() == Vector3(750.0f,-500.0f,0.0f) && albumLayout->GetLeftStackPosition() == Vector3(-750.0f,-500.0f,0.0f));
387 static void UtcDaliAlbumSetSetStackScale()
389 AlbumLayoutPtr albumLayout = AlbumLayout::New();
391 albumLayout->SetStackScale(1.0f,1.0f);
393 DALI_TEST_CHECK(albumLayout->GetRightStackScale() == 1.0f && albumLayout->GetLeftStackScale() == 1.0f);
396 static void UtcDaliAlbumSetStackColor()
398 AlbumLayoutPtr albumLayout = AlbumLayout::New();
400 albumLayout->SetStackColor(Vector2(1.0f,1.0f),Vector2(1.0f,1.0f));
402 DALI_TEST_CHECK(albumLayout->GetRightStackColor() == Vector2(1.0f,1.0f) && albumLayout->GetLeftStackColor() == Vector2(1.0f,1.0f));