(AutomatedTests) Merged managed & unmanaged tests
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-DynamicsShape.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/public-api/dali-core.h>
21 #include <dali-test-suite-utils.h>
22
23 using namespace Dali;
24
25
26 int UtcDaliDynamicsShapeConstructor(void)
27 {
28 #if !defined(DYNAMICS_SUPPORT)
29   tet_infoline("No dynamics support compiled\n");
30   return 0;
31 #endif
32   tet_infoline("UtcDaliDynamicsShapeConstructor - DynamicsShape::DynamicsShape");
33
34   TestApplication application;
35
36   // start up
37   application.SendNotification();
38   application.Render();
39   application.Render();
40
41   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
42   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
43
44   if( world )
45   {
46
47     // Default constructor - create an uninitialized handle
48     DynamicsShape shape;
49     DALI_TEST_CHECK( !shape );
50
51     // initialize handle
52     shape = DynamicsShape::NewCube(Vector3::ONE);
53
54     DALI_TEST_CHECK( shape );
55   }
56   else
57   {
58     // cannot create dynamics world, log failure and exit
59     DALI_TEST_CHECK( false );
60   }
61
62   END_TEST;
63 }
64
65 int UtcDaliDynamicsShapeNewCapsule(void)
66 {
67 #if !defined(DYNAMICS_SUPPORT)
68   tet_infoline("No dynamics support compiled\n");
69   return 0;
70 #endif
71   tet_infoline("UtcDaliDynamicsShapeNewCapsule - DynamicsShape::NewCapsule");
72
73   TestApplication application;
74
75   // start up
76   application.SendNotification();
77   application.Render();
78   application.Render();
79
80   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
81   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
82
83   if( world )
84   {
85
86     DynamicsShape shape( DynamicsShape::NewCapsule( 1.0f, 2.0f ) );
87
88     DALI_TEST_CHECK( shape );
89     DALI_TEST_CHECK( DynamicsShape::CAPSULE == shape.GetType() );
90   }
91   else
92   {
93     // cannot create dynamics world, log failure and exit
94     DALI_TEST_CHECK( false );
95   }
96
97   END_TEST;
98 }
99
100 int UtcDaliDynamicsShapeNewCone(void)
101 {
102 #if !defined(DYNAMICS_SUPPORT)
103   tet_infoline("No dynamics support compiled\n");
104   return 0;
105 #endif
106   tet_infoline("UtcDaliDynamicsShapeNewCone - DynamicsShape::NewCone");
107
108   TestApplication application;
109
110   // start up
111   application.SendNotification();
112   application.Render();
113   application.Render();
114
115   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
116   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
117
118   if( world )
119   {
120     DynamicsShape shape( DynamicsShape::NewCone( 1.0f, 2.0f ) );
121
122     DALI_TEST_CHECK( shape );
123     DALI_TEST_CHECK( DynamicsShape::CONE == shape.GetType() );
124   }
125   else
126   {
127     // cannot create dynamics world, log failure and exit
128     DALI_TEST_CHECK( false );
129   }
130
131   END_TEST;
132 }
133
134 int UtcDaliDynamicsShapeNewCube(void)
135 {
136 #if !defined(DYNAMICS_SUPPORT)
137   tet_infoline("No dynamics support compiled\n");
138   return 0;
139 #endif
140   tet_infoline("UtcDaliDynamicsShapeNewCube - DynamicsShape::NewCube");
141
142   TestApplication application;
143
144   // start up
145   application.SendNotification();
146   application.Render();
147   application.Render();
148
149   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
150   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
151
152   if( world )
153   {
154     DynamicsShape shape( DynamicsShape::NewCube( Vector3::ONE ) );
155
156     DALI_TEST_CHECK( shape );
157     DALI_TEST_CHECK( DynamicsShape::CUBE == shape.GetType() );
158   }
159   else
160   {
161     // cannot create dynamics world, log failure and exit
162     DALI_TEST_CHECK( false );
163   }
164   END_TEST;
165 }
166
167 int UtcDaliDynamicsShapeNewCylinder(void)
168 {
169 #if !defined(DYNAMICS_SUPPORT)
170   tet_infoline("No dynamics support compiled\n");
171   return 0;
172 #endif
173   tet_infoline("UtcDaliDynamicsShapeNewCylinder - DynamicsShape::NewCylinder");
174
175   TestApplication application;
176
177   // start up
178   application.SendNotification();
179   application.Render();
180   application.Render();
181
182   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
183   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
184
185   if( world )
186   {
187     DynamicsShape shape( DynamicsShape::NewCylinder( 1.0f, 2.0f ) );
188
189     DALI_TEST_CHECK( shape );
190     DALI_TEST_CHECK( DynamicsShape::CYLINDER == shape.GetType() );
191   }
192   else
193   {
194     // cannot create dynamics world, log failure and exit
195     DALI_TEST_CHECK( false );
196   }
197   END_TEST;
198 }
199
200 int UtcDaliDynamicsShapeNewMesh(void)
201 {
202 #if !defined(DYNAMICS_SUPPORT)
203   tet_infoline("No dynamics support compiled\n");
204   return 0;
205 #endif
206   tet_infoline("UtcDaliDynamicsShapeNewMesh - DynamicsShape::NewMesh");
207
208   TestApplication application;
209
210   // start up
211   application.SendNotification();
212   application.Render();
213   application.Render();
214
215   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
216   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
217
218   if( world )
219   {
220     DynamicsShape shape( DynamicsShape::NewMesh( Cloth::New(10.0f, 10.0f, 10, 10)) );
221
222     DALI_TEST_CHECK( shape );
223     DALI_TEST_CHECK( DynamicsShape::MESH == shape.GetType() );
224   }
225   else
226   {
227     // cannot create dynamics world, log failure and exit
228     DALI_TEST_CHECK( false );
229   }
230   END_TEST;
231 }
232
233 int UtcDaliDynamicsShapeNewSphere(void)
234 {
235 #if !defined(DYNAMICS_SUPPORT)
236   tet_infoline("No dynamics support compiled\n");
237   return 0;
238 #endif
239   tet_infoline("UtcDaliDynamicsShapeNewSphere - DynamicsShape::NewSphere");
240
241   TestApplication application;
242
243   // start up
244   application.SendNotification();
245   application.Render();
246   application.Render();
247
248   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
249   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
250
251   if( world )
252   {
253     DynamicsShape shape( DynamicsShape::NewSphere( 1.0f ) );
254
255     DALI_TEST_CHECK( shape );
256     DALI_TEST_CHECK( DynamicsShape::SPHERE == shape.GetType() );
257   }
258   else
259   {
260     // cannot create dynamics world, log failure and exit
261     DALI_TEST_CHECK( false );
262   }
263   END_TEST;
264 }
265
266 int UtcDaliDynamicsShapeGetType(void)
267 {
268 #if !defined(DYNAMICS_SUPPORT)
269   tet_infoline("No dynamics support compiled\n");
270   return 0;
271 #endif
272   tet_infoline("UtcDaliDynamicsShapeGetType - DynamicsShape::GetType");
273
274   TestApplication application;
275
276   // start up
277   application.SendNotification();
278   application.Render();
279   application.Render();
280
281   DynamicsWorldConfig worldConfig(DynamicsWorldConfig::New());
282   DynamicsWorld world( Stage::GetCurrent().InitializeDynamics(worldConfig) );
283
284   if( world )
285   {
286     DynamicsShape shape( DynamicsShape::NewSphere( 1.0f ) );
287
288     DALI_TEST_CHECK( shape );
289     DALI_TEST_CHECK( DynamicsShape::SPHERE == shape.GetType() );
290   }
291   else
292   {
293     // cannot create dynamics world, log failure and exit
294     DALI_TEST_CHECK( false );
295   }
296   END_TEST;
297 }