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/public-api/dali-core.h>
24 #include <dali-test-suite-utils.h>
29 static void Startup();
30 static void Cleanup();
33 void (*tet_startup)() = Startup;
34 void (*tet_cleanup)() = Cleanup;
37 static void UtcDaliDynamicsShapeConstructor();
38 static void UtcDaliDynamicsShapeNewCapsule();
39 static void UtcDaliDynamicsShapeNewCone();
40 static void UtcDaliDynamicsShapeNewCube();
41 static void UtcDaliDynamicsShapeNewCylinder();
42 static void UtcDaliDynamicsShapeNewMesh();
43 static void UtcDaliDynamicsShapeNewSphere();
44 static void UtcDaliDynamicsShapeGetType();
47 POSITIVE_TC_IDX = 0x01,
51 // Add test functionality for all APIs in the class (Positive and Negative)
53 struct tet_testlist tet_testlist[] =
55 { UtcDaliDynamicsShapeConstructor, POSITIVE_TC_IDX },
56 { UtcDaliDynamicsShapeNewCapsule, POSITIVE_TC_IDX },
57 { UtcDaliDynamicsShapeNewCone, POSITIVE_TC_IDX },
58 { UtcDaliDynamicsShapeNewCube, POSITIVE_TC_IDX },
59 { UtcDaliDynamicsShapeNewCylinder, POSITIVE_TC_IDX },
60 { UtcDaliDynamicsShapeNewMesh, POSITIVE_TC_IDX },
61 { UtcDaliDynamicsShapeNewSphere, POSITIVE_TC_IDX },
62 { UtcDaliDynamicsShapeGetType, POSITIVE_TC_IDX },
67 // Called only once before first test is run.
72 // Called only once after last test is run
77 void UtcDaliDynamicsShapeConstructor()
79 tet_infoline("UtcDaliDynamicsShapeConstructor - DynamicsShape::DynamicsShape");
81 TestApplication application;
84 application.SendNotification();
88 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
89 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
93 // cannot create dynamics world, log failure and exit
94 DALI_TEST_CHECK( false );
98 // Default constructor - create an uninitialized handle
100 DALI_TEST_CHECK( !shape );
103 shape = DynamicsShape::NewCube(Vector3::ONE);
105 DALI_TEST_CHECK( shape );
108 void UtcDaliDynamicsShapeNewCapsule()
110 tet_infoline("UtcDaliDynamicsShapeNewCapsule - DynamicsShape::NewCapsule");
112 TestApplication application;
115 application.SendNotification();
116 application.Render();
117 application.Render();
119 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
120 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
124 // cannot create dynamics world, log failure and exit
125 DALI_TEST_CHECK( false );
129 DynamicsShape shape( DynamicsShape::NewCapsule( 1.0f, 2.0f ) );
131 DALI_TEST_CHECK( shape );
132 DALI_TEST_CHECK( DynamicsShape::CAPSULE == shape.GetType() );
135 void UtcDaliDynamicsShapeNewCone()
137 tet_infoline("UtcDaliDynamicsShapeNewCone - DynamicsShape::NewCone");
139 TestApplication application;
142 application.SendNotification();
143 application.Render();
144 application.Render();
146 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
147 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
151 // cannot create dynamics world, log failure and exit
152 DALI_TEST_CHECK( false );
156 DynamicsShape shape( DynamicsShape::NewCone( 1.0f, 2.0f ) );
158 DALI_TEST_CHECK( shape );
159 DALI_TEST_CHECK( DynamicsShape::CONE == shape.GetType() );
162 void UtcDaliDynamicsShapeNewCube()
164 tet_infoline("UtcDaliDynamicsShapeNewCube - DynamicsShape::NewCube");
166 TestApplication application;
169 application.SendNotification();
170 application.Render();
171 application.Render();
173 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
174 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
178 // cannot create dynamics world, log failure and exit
179 DALI_TEST_CHECK( false );
183 DynamicsShape shape( DynamicsShape::NewCube( Vector3::ONE ) );
185 DALI_TEST_CHECK( shape );
186 DALI_TEST_CHECK( DynamicsShape::CUBE == shape.GetType() );
189 void UtcDaliDynamicsShapeNewCylinder()
191 tet_infoline("UtcDaliDynamicsShapeNewCylinder - DynamicsShape::NewCylinder");
193 TestApplication application;
196 application.SendNotification();
197 application.Render();
198 application.Render();
200 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
201 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
205 // cannot create dynamics world, log failure and exit
206 DALI_TEST_CHECK( false );
210 DynamicsShape shape( DynamicsShape::NewCylinder( 1.0f, 2.0f ) );
212 DALI_TEST_CHECK( shape );
213 DALI_TEST_CHECK( DynamicsShape::CYLINDER == shape.GetType() );
216 void UtcDaliDynamicsShapeNewMesh()
218 tet_infoline("UtcDaliDynamicsShapeNewMesh - DynamicsShape::NewMesh");
220 TestApplication application;
223 application.SendNotification();
224 application.Render();
225 application.Render();
227 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
228 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
232 // cannot create dynamics world, log failure and exit
233 DALI_TEST_CHECK( false );
237 DynamicsShape shape( DynamicsShape::NewMesh( Mesh::NewPlane(10.0f, 10.0f, 10, 10)) );
239 DALI_TEST_CHECK( shape );
240 DALI_TEST_CHECK( DynamicsShape::MESH == shape.GetType() );
243 void UtcDaliDynamicsShapeNewSphere()
245 tet_infoline("UtcDaliDynamicsShapeNewSphere - DynamicsShape::NewSphere");
247 TestApplication application;
250 application.SendNotification();
251 application.Render();
252 application.Render();
254 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
255 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
259 // cannot create dynamics world, log failure and exit
260 DALI_TEST_CHECK( false );
264 DynamicsShape shape( DynamicsShape::NewSphere( 1.0f ) );
266 DALI_TEST_CHECK( shape );
267 DALI_TEST_CHECK( DynamicsShape::SPHERE == shape.GetType() );
270 void UtcDaliDynamicsShapeGetType()
272 tet_infoline("UtcDaliDynamicsShapeGetType - DynamicsShape::GetType");
274 TestApplication application;
277 application.SendNotification();
278 application.Render();
279 application.Render();
281 DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
282 DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
286 // cannot create dynamics world, log failure and exit
287 DALI_TEST_CHECK( false );
291 DynamicsShape shape( DynamicsShape::NewSphere( 1.0f ) );
293 DALI_TEST_CHECK( shape );
294 DALI_TEST_CHECK( DynamicsShape::SPHERE == shape.GetType() );