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.
22 #include <dali/dali.h>
23 #include <dali-toolkit/dali-toolkit.h>
25 #include <dali-toolkit-test-suite-utils.h>
29 using namespace Toolkit;
37 Vector3 AlbumLayoutItemSizeFunction(const Vector3& layoutSize)
39 float width = layoutSize.width * 0.2f;
40 return Vector3(width, width, width);
43 float AlbumLayoutAlbumRadiusFunction(const Vector3& layoutSize)
45 return layoutSize.width * 0.5f;
49 static void Startup();
50 static void Cleanup();
53 void (*tet_startup)() = Startup;
54 void (*tet_cleanup)() = Cleanup;
57 static void UtcDaliAlbumLayoutNew();
58 static void UtcDaliAlbumSetAndGetItemSizeFunction();
59 static void UtcDaliAlbumSetAndGetScrollSpeedFactor();
60 static void UtcDaliAlbumSetAndGetMaximumSwipeSpeed();
61 static void UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration();
62 static void UtcDaliAlbumSetNumOfItems();
63 static void UtcDaliAlbumSetStackNum();
64 static void UtcDaliAlbumSetPosition();
65 static void UtcDaliAlbumSetRotationX();
66 static void UtcDaliAlbumSetRotationZ();
67 static void UtcDaliAlbumSetScale();
68 static void UtcDaliAlbumSetColor();
69 static void UtcDaliAlbumSetCenterPosition();
70 static void UtcDaliAlbumSetSetCenterScale();
71 static void UtcDaliAlbumSetSetCenterColor();
72 static void UtcDaliAlbumSetStackPosition();
73 static void UtcDaliAlbumSetSetStackScale();
74 static void UtcDaliAlbumSetStackColor();
77 POSITIVE_TC_IDX = 0x01,
81 // Add test functionality for all APIs in the class (Positive and Negative)
83 struct tet_testlist tet_testlist[] = {
84 { UtcDaliAlbumLayoutNew, POSITIVE_TC_IDX },
85 { UtcDaliAlbumSetAndGetItemSizeFunction, POSITIVE_TC_IDX },
86 { UtcDaliAlbumSetAndGetScrollSpeedFactor, POSITIVE_TC_IDX },
87 { UtcDaliAlbumSetAndGetMaximumSwipeSpeed, POSITIVE_TC_IDX },
88 { UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration, POSITIVE_TC_IDX },
89 { UtcDaliAlbumSetNumOfItems, POSITIVE_TC_IDX },
90 { UtcDaliAlbumSetStackNum, POSITIVE_TC_IDX },
91 { UtcDaliAlbumSetPosition, POSITIVE_TC_IDX },
92 { UtcDaliAlbumSetRotationX, POSITIVE_TC_IDX },
93 { UtcDaliAlbumSetRotationZ, POSITIVE_TC_IDX },
94 { UtcDaliAlbumSetScale, POSITIVE_TC_IDX },
95 { UtcDaliAlbumSetColor, POSITIVE_TC_IDX },
96 { UtcDaliAlbumSetCenterPosition, POSITIVE_TC_IDX },
97 { UtcDaliAlbumSetSetCenterScale, POSITIVE_TC_IDX },
98 { UtcDaliAlbumSetSetCenterColor, POSITIVE_TC_IDX },
99 { UtcDaliAlbumSetStackPosition, POSITIVE_TC_IDX },
100 { UtcDaliAlbumSetSetStackScale, POSITIVE_TC_IDX },
101 { UtcDaliAlbumSetStackColor, POSITIVE_TC_IDX },
106 // Called only once before first test is run.
107 static void Startup()
111 // Called only once after last test is run
112 static void Cleanup()
116 static void UtcDaliAlbumLayoutNew()
118 ToolkitTestApplication application;
120 // Create a album layout
121 AlbumLayoutPtr albumLayout = AlbumLayout::New();
123 DALI_TEST_CHECK(albumLayout);
126 static void UtcDaliAlbumSetAndGetItemSizeFunction()
128 ToolkitTestApplication application;
130 // Create a album layout
131 AlbumLayoutPtr albumLayout = AlbumLayout::New();
133 // Set the item size function
134 albumLayout->SetItemSizeFunction(AlbumLayoutItemSizeFunction);
136 // Check whether we get the correct item size function
137 DALI_TEST_CHECK(albumLayout->GetItemSizeFunction() == AlbumLayoutItemSizeFunction);
140 static void UtcDaliAlbumSetAndGetScrollSpeedFactor()
142 ToolkitTestApplication application;
144 // Create a album layout
145 AlbumLayoutPtr albumLayout = AlbumLayout::New();
147 // Set the scroll speed factor
148 albumLayout->SetScrollSpeedFactor(0.05f);
150 // Check whether we get the correct scroll speed factor
151 DALI_TEST_EQUALS( albumLayout->GetScrollSpeedFactor(), 0.05f, TEST_LOCATION );
154 static void UtcDaliAlbumSetAndGetMaximumSwipeSpeed()
156 ToolkitTestApplication application;
158 // Create a album layout
159 AlbumLayoutPtr albumLayout = AlbumLayout::New();
161 // Set the maximum swipe speed
162 albumLayout->SetMaximumSwipeSpeed(50.0f);
164 // Check whether we get the correct maximum swipe speed
165 DALI_TEST_EQUALS( albumLayout->GetMaximumSwipeSpeed(), 50.0f, TEST_LOCATION );
168 static void UtcDaliAlbumLayoutSetAndGetItemFlickAnimationDuration()
170 ToolkitTestApplication application;
172 // Create a album layout
173 AlbumLayoutPtr albumLayout = AlbumLayout::New();
175 // Set the flick animaiton duration
176 albumLayout->SetItemFlickAnimationDuration(0.35f);
178 // Check whether we get the correct flick animaiton duration
179 DALI_TEST_EQUALS( albumLayout->GetItemFlickAnimationDuration(), 0.35f, TEST_LOCATION );
182 static void UtcDaliAlbumSetNumOfItems()
184 AlbumLayoutPtr albumLayout = AlbumLayout::New();
186 albumLayout->SetNumOfItems(15);
188 DALI_TEST_CHECK(albumLayout->GetNumOfItems() == 15);
191 static void UtcDaliAlbumSetStackNum()
193 AlbumLayoutPtr albumLayout = AlbumLayout::New();
195 albumLayout->SetStackNum(30);
197 DALI_TEST_CHECK(albumLayout->GetStackNum() == 30);
200 static void UtcDaliAlbumSetPosition()
202 AlbumLayoutPtr albumLayout = AlbumLayout::New();
204 std::vector<Vector3> position_list;
207 Vector3 pos = Vector3(850.0f,-250.0f,0.0);
208 position_list.push_back(pos);
211 pos = Vector3(700.0f,50.0f,0.0);
212 position_list.push_back(pos);
215 pos = Vector3(440.0f,227.0f,0.0);
216 position_list.push_back(pos);
219 pos = Vector3(-440.0f,227.0f,0.0);
220 position_list.push_back(pos);
223 pos = Vector3(-700.0f,50.0f,0.0);
224 position_list.push_back(pos);
227 pos = Vector3(-850.0f,-250.0f,0.0);
228 position_list.push_back(pos);
230 albumLayout->SetPosition(position_list);
232 DALI_TEST_CHECK(albumLayout->GetPosition() == position_list);
235 static void UtcDaliAlbumSetRotationX()
237 AlbumLayoutPtr albumLayout = AlbumLayout::New();
239 albumLayout->SetRotationX(Math::PI/4.0f);
241 DALI_TEST_CHECK(albumLayout->GetRotationX() == Math::PI/4.0f);
244 static void UtcDaliAlbumSetRotationZ()
246 AlbumLayoutPtr albumLayout = AlbumLayout::New();
248 std::vector<float> rotation_list;
251 float rotate = Math::PI/6.0f;
252 rotation_list.push_back(rotate);
256 rotation_list.push_back(rotate);
259 rotate = Math::PI/6.0f;
260 rotation_list.push_back(rotate);
263 rotate = -Math::PI/6.0f;
264 rotation_list.push_back(rotate);
268 rotation_list.push_back(rotate);
271 rotate = -Math::PI/6.0f;
272 rotation_list.push_back(rotate);
274 albumLayout->SetRotationZ(rotation_list);
276 DALI_TEST_CHECK(albumLayout->GetRotationZ() == rotation_list);
279 static void UtcDaliAlbumSetScale()
281 AlbumLayoutPtr albumLayout = AlbumLayout::New();
283 std::vector<float> scale_list;
287 scale_list.push_back(scale);
291 scale_list.push_back(scale);
294 scale = Math::PI/6.0f;
295 scale_list.push_back(scale);
298 scale = -Math::PI/6.0f;
299 scale_list.push_back(scale);
303 scale_list.push_back(scale);
306 scale = -Math::PI/6.0f;
307 scale_list.push_back(scale);
309 albumLayout->SetScale(scale_list);
311 DALI_TEST_CHECK(albumLayout->GetScale() == scale_list);
314 static void UtcDaliAlbumSetColor()
316 // Create a album layout
317 AlbumLayoutPtr albumLayout = AlbumLayout::New();
319 std::vector<Vector2> color_list;
322 Vector2 color = Vector2(1.0f,1.0f);
323 color_list.push_back(color);
326 color = Vector2(1.0f,1.0f);
327 color_list.push_back(color);
330 color = Vector2(1.0f,1.0f);
331 color_list.push_back(color);
334 color = Vector2(1.0f,1.0f);
335 color_list.push_back(color);
338 color = Vector2(1.0f,1.0f);
339 color_list.push_back(color);
342 color = Vector2(1.0f,1.0f);
343 color_list.push_back(color);
345 albumLayout->SetColor(color_list);
347 DALI_TEST_CHECK(albumLayout->GetColor() == color_list);
350 static void UtcDaliAlbumSetCenterPosition()
352 AlbumLayoutPtr albumLayout = AlbumLayout::New();
354 albumLayout->SetCenterPosition(Vector3( 0.0f,-80.0f,100.0f));
356 DALI_TEST_CHECK(albumLayout->GetCenterPosition() == Vector3( 0.0f,-80.0f,100.0f));
359 static void UtcDaliAlbumSetSetCenterScale()
361 AlbumLayoutPtr albumLayout = AlbumLayout::New();
363 albumLayout->SetCenterScale(1.75f);
365 DALI_TEST_CHECK(albumLayout->GetCenterScale() == 1.75f);
368 static void UtcDaliAlbumSetSetCenterColor()
370 AlbumLayoutPtr albumLayout = AlbumLayout::New();
372 albumLayout->SetCenterColor(Vector2(1.0f,1.0f));
374 DALI_TEST_CHECK(albumLayout->GetCenterColor() == Vector2(1.0f,1.0f));
377 static void UtcDaliAlbumSetStackPosition()
379 AlbumLayoutPtr albumLayout = AlbumLayout::New();
381 albumLayout->SetStackPosition(Vector3(750.0f,-500.0f,0.0f),Vector3(-750.0f,-500.0f,0.0f));
383 DALI_TEST_CHECK(albumLayout->GetRightStackPosition() == Vector3(750.0f,-500.0f,0.0f) && albumLayout->GetLeftStackPosition() == Vector3(-750.0f,-500.0f,0.0f));
386 static void UtcDaliAlbumSetSetStackScale()
388 AlbumLayoutPtr albumLayout = AlbumLayout::New();
390 albumLayout->SetStackScale(1.0f,1.0f);
392 DALI_TEST_CHECK(albumLayout->GetRightStackScale() == 1.0f && albumLayout->GetLeftStackScale() == 1.0f);
395 static void UtcDaliAlbumSetStackColor()
397 AlbumLayoutPtr albumLayout = AlbumLayout::New();
399 albumLayout->SetStackColor(Vector2(1.0f,1.0f),Vector2(1.0f,1.0f));
401 DALI_TEST_CHECK(albumLayout->GetRightStackColor() == Vector2(1.0f,1.0f) && albumLayout->GetLeftStackColor() == Vector2(1.0f,1.0f));