2 * Copyright (c) 2023 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.
18 #include <dali-toolkit-test-suite-utils.h>
19 #include <dali-toolkit/dali-toolkit.h>
23 #include <dali-scene3d/internal/model-components/model-primitive-impl.h>
24 #include <dali-scene3d/public-api/common/scene-depth-index-ranges.h>
27 using namespace Dali::Toolkit;
29 void model_components_model_primitive_impl_startup(void)
31 test_return_value = TET_UNDEF;
34 void model_components_model_primitive_impl_cleanup(void)
36 test_return_value = TET_PASS;
44 int UtcDaliModelPrimitiveImplSetData(void)
46 ToolkitTestApplication application;
48 Scene3D::ModelPrimitive modelPrimitive = Scene3D::ModelPrimitive::New();
50 tet_printf("Check primitive don't have material initial time\n");
52 DALI_TEST_CHECK(!GetImplementation(modelPrimitive).GetRenderer());
53 DALI_TEST_CHECK(!modelPrimitive.GetGeometry());
54 DALI_TEST_CHECK(!modelPrimitive.GetMaterial());
56 Dali::Geometry geometry = Dali::Geometry::New();
57 Dali::Scene3D::Material material = Dali::Scene3D::Material::New();
59 modelPrimitive.SetGeometry(geometry);
60 modelPrimitive.SetMaterial(material);
61 DALI_TEST_CHECK(geometry == modelPrimitive.GetGeometry());
62 DALI_TEST_CHECK(material == modelPrimitive.GetMaterial());
63 DALI_TEST_CHECK(GetImplementation(modelPrimitive).GetRenderer());
68 int UtcDaliModelPrimitiveMaterialDepthIndex(void)
70 ToolkitTestApplication application;
72 Scene3D::ModelPrimitive modelPrimitive = Scene3D::ModelPrimitive::New();
74 tet_printf("Check primitive don't have material initial time\n");
76 DALI_TEST_CHECK(!modelPrimitive.GetMaterial());
78 Dali::Geometry geometry = Dali::Geometry::New();
79 Dali::Scene3D::Material material = Dali::Scene3D::Material::New();
81 modelPrimitive.SetGeometry(geometry);
82 modelPrimitive.SetMaterial(material);
83 DALI_TEST_CHECK(material == modelPrimitive.GetMaterial());
85 DALI_TEST_CHECK(GetImplementation(modelPrimitive).GetRenderer());
87 Dali::Renderer renderer = GetImplementation(modelPrimitive).GetRenderer();
88 DALI_TEST_CHECK(renderer.GetProperty<int32_t>(Dali::Renderer::Property::DEPTH_INDEX) == Scene3D::DepthIndex::Ranges::SCENE);
90 material.SetProperty(Scene3D::Material::Property::DEPTH_INDEX, 50);
91 DALI_TEST_CHECK(renderer.GetProperty<int32_t>(Dali::Renderer::Property::DEPTH_INDEX) == 50);