2 * Copyright (c) 2015 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.
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali-toolkit/dali-toolkit.h>
22 #include <dali-toolkit/public-api/controls/model3d-view/model3d-view.h>
26 using namespace Dali::Toolkit;
29 void model_view_startup(void)
31 test_return_value = TET_UNDEF;
34 void model_view_cleanup(void)
36 test_return_value = TET_PASS;
41 const char* TEST_OBJ_FILE_NAME = TEST_RESOURCE_DIR "/Cube.obj";
42 const char* TEST_MTL_FILE_NAME = TEST_RESOURCE_DIR "/ToyRobot-Metal.mtl";
43 const char* TEST_RESOURCE_LOCATION = TEST_RESOURCE_DIR "/";
46 // Negative test case for a method
47 int UtcDaliModelViewUninitialized(void)
49 ToolkitTestApplication application;
50 tet_infoline(" UtcDaliModel3dViewUninitialized");
52 Toolkit::Model3dView view;
56 // New() must be called to create a Model3dView or it wont be valid.
57 Actor a = Actor::New();
59 DALI_TEST_CHECK( false );
61 catch (Dali::DaliException& e)
63 // Tests that a negative test of an assertion succeeds
64 DALI_TEST_PRINT_ASSERT( e );
65 DALI_TEST_CHECK(!view);
70 // Positive test case for a method
71 int UtcDaliModelViewNew(void)
73 ToolkitTestApplication application;
74 tet_infoline(" UtcDaliModel3dViewNew");
76 Toolkit::Model3dView view = Toolkit::Model3dView::New();
77 DALI_TEST_CHECK( view );
79 Toolkit::Model3dView view2 = Toolkit::Model3dView::New("","","");
80 DALI_TEST_CHECK( view2 );
84 // Positive test case for a method
85 int UtcDaliModelViewDownCast(void)
87 ToolkitTestApplication application;
88 tet_infoline(" UtcDaliModelViewDownCast");
90 Toolkit::Model3dView view = Toolkit::Model3dView::New();
91 BaseHandle handle(view);
93 Toolkit::Model3dView modelView = Toolkit::Model3dView::DownCast( handle );
94 DALI_TEST_CHECK( view );
95 DALI_TEST_CHECK( modelView );
96 DALI_TEST_CHECK( modelView == view );
101 // Positive test case for a method
102 int UtcDaliModelViewPropertyNames(void)
104 ToolkitTestApplication application;
105 tet_infoline(" UtcDaliModel3dViewPropertyNames");
107 Toolkit::Model3dView view = Toolkit::Model3dView::New();
108 DALI_TEST_CHECK( view );
110 view.SetProperty( Model3dView::Property::GEOMETRY_URL, Dali::Property::Value( TEST_OBJ_FILE_NAME ) );
111 Property::Value val = view.GetProperty( Model3dView::Property::GEOMETRY_URL );
112 std::string obj_file_name;
113 DALI_TEST_CHECK( val.Get( obj_file_name ) );
114 DALI_TEST_EQUALS( obj_file_name, TEST_OBJ_FILE_NAME, TEST_LOCATION );
116 view.SetProperty( Model3dView::Property::MATERIAL_URL, Dali::Property::Value( TEST_MTL_FILE_NAME ) );
117 val = view.GetProperty( Model3dView::Property::MATERIAL_URL );
118 DALI_TEST_CHECK( val.Get( obj_file_name ) );
119 DALI_TEST_EQUALS( obj_file_name, TEST_MTL_FILE_NAME, TEST_LOCATION );
121 view.SetProperty( Model3dView::Property::IMAGES_URL, Dali::Property::Value( TEST_RESOURCE_LOCATION ) );
122 val = view.GetProperty( Model3dView::Property::IMAGES_URL );
123 DALI_TEST_CHECK( val.Get( obj_file_name ) );
124 DALI_TEST_EQUALS( obj_file_name, TEST_RESOURCE_LOCATION, TEST_LOCATION );
126 Stage::GetCurrent().Add(view);
131 // Positive test case for a method
132 int UtcDaliModelViewAddRemove(void)
134 ToolkitTestApplication application;
135 tet_infoline(" UtcDaliModel3dViewAddRemove");
137 Toolkit::Model3dView view = Toolkit::Model3dView::New();
138 DALI_TEST_CHECK( view );
140 Actor actor = Actor::New();
141 DALI_TEST_CHECK( !actor.OnStage() );
144 view.SetParentOrigin(ParentOrigin::CENTER);
145 view.SetSize(Stage::GetCurrent().GetSize());
147 Stage::GetCurrent().Add(view);
149 DALI_TEST_CHECK( actor.OnStage() );
153 DALI_TEST_CHECK( !actor.OnStage() );
158 int UtcDaliModelCopyAndAssignment(void)
160 ToolkitTestApplication application;
162 Model3dView view = Toolkit::Model3dView::New();
163 DALI_TEST_CHECK( view );
165 Model3dView copy( view );
166 DALI_TEST_CHECK( view == copy );
169 DALI_TEST_CHECK( ! assign );
172 DALI_TEST_CHECK( assign == view );
177 int UtcDaliModelTypeRegistry(void)
179 ToolkitTestApplication application;
181 TypeRegistry typeRegistry = TypeRegistry::Get();
182 DALI_TEST_CHECK( typeRegistry );
184 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "Model3dView" );
185 DALI_TEST_CHECK( typeInfo );
187 BaseHandle handle = typeInfo.CreateInstance();
188 DALI_TEST_CHECK( handle );
190 Model3dView view = Model3dView::DownCast( handle );
191 DALI_TEST_CHECK( view );
196 int UtcDaliModelOnSizeSet(void)
198 ToolkitTestApplication application;
200 Model3dView view = Toolkit::Model3dView::New();
202 Stage::GetCurrent().Add( view );
204 application.SendNotification();
205 application.Render();
207 Vector3 size( 200.0f, 300.0f, 0.0f );
208 view.SetSize( size );
210 application.SendNotification();
211 application.Render();
213 DALI_TEST_EQUALS( view.GetCurrentSize(), size, TEST_LOCATION );