[dali_2.3.25] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-scene3d / utc-Dali-ModelNode.cpp
index e124bc6..3aaecc6 100644 (file)
@@ -21,6 +21,7 @@
 #include <iostream>
 
 #include <dali-scene3d/public-api/model-components/model-node.h>
+#include "mesh-builder.h"
 
 using namespace Dali;
 using namespace Dali::Toolkit;
@@ -35,10 +36,6 @@ void model_components_model_node_cleanup(void)
   test_return_value = TET_PASS;
 }
 
-namespace
-{
-} // namespace
-
 // Negative test case for a method
 int UtcDaliModelNodeUninitialized(void)
 {
@@ -293,4 +290,80 @@ int UtcDaliModelNodeFindChildModelNodeByName(void)
   DALI_TEST_EQUALS(child2, modelNode2, TEST_LOCATION);
 
   END_TEST;
-}
\ No newline at end of file
+}
+
+int UtcDaliModelNodeCustomNode1(void)
+{
+  tet_infoline(" UtcDaliModelNodeCustomNode1.");
+
+  ToolkitTestApplication application;
+
+  Scene3D::ModelNode      modelNode      = Scene3D::ModelNode::New();
+  Scene3D::ModelPrimitive modelPrimitive = Scene3D::ModelPrimitive::New();
+  Scene3D::Material       material       = Scene3D::Material::New();
+  Geometry                geometry       = CreateQuadGeometry();
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 0, TEST_LOCATION);
+
+  modelNode.AddModelPrimitive(modelPrimitive);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 0, TEST_LOCATION);
+  
+  modelPrimitive.SetGeometry(geometry);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 0, TEST_LOCATION);
+
+  modelPrimitive.SetMaterial(material);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 1, TEST_LOCATION);
+
+  END_TEST;
+}
+
+int UtcDaliModelNodeCustomNode2(void)
+{
+  tet_infoline(" UtcDaliModelNodeCustomNode2.");
+
+  ToolkitTestApplication application;
+
+  Scene3D::ModelNode      modelNode      = Scene3D::ModelNode::New();
+  Scene3D::ModelPrimitive modelPrimitive = Scene3D::ModelPrimitive::New();
+  Scene3D::Material       material       = Scene3D::Material::New();
+  Geometry                geometry       = CreateQuadGeometry();
+  modelPrimitive.SetGeometry(geometry);
+  modelPrimitive.SetMaterial(material);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 0, TEST_LOCATION);
+
+  modelNode.AddModelPrimitive(modelPrimitive);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 1, TEST_LOCATION);
+
+  END_TEST;
+}
+
+int UtcDaliModelNodeCustomNode3(void)
+{
+  tet_infoline(" UtcDaliModelNodeCustomNode3.");
+
+  ToolkitTestApplication application;
+
+  Scene3D::ModelNode      modelNode      = Scene3D::ModelNode::New();
+  Scene3D::ModelPrimitive modelPrimitive = Scene3D::ModelPrimitive::New();
+  Scene3D::Material       material       = Scene3D::Material::New();
+  Geometry                geometry       = CreateQuadGeometry();
+  modelPrimitive.SetGeometry(geometry);
+  modelPrimitive.SetMaterial(material);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 0, TEST_LOCATION);
+
+  modelNode.AddModelPrimitive(modelPrimitive);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 1, TEST_LOCATION);
+
+  modelNode.AddModelPrimitive(modelPrimitive);
+
+  DALI_TEST_EQUALS(modelNode.GetRendererCount(), 1, TEST_LOCATION);
+
+  END_TEST;
+}