[UTC][dali-core][NON-ACR][Adding missing dali-core testcases]
authorshiva.jm <shiva.jm@samsung.com>
Thu, 7 Jul 2016 12:10:19 +0000 (17:40 +0530)
committershiva.jm <shiva.jm@samsung.com>
Fri, 8 Jul 2016 11:06:40 +0000 (16:36 +0530)
This patch includes missing APIs.

Change-Id: Ibbe15381224821894225e5c8e610acbb540c6a90
Signed-off-by: shiva.jm <shiva.jm@samsung.com>
19 files changed:
src/utc/dali-core/CMakeLists.txt
src/utc/dali-core/actor/utc-dali-actor-impl.h
src/utc/dali-core/actor/utc-dali-actor.cpp
src/utc/dali-core/angle-axis/utc-dali-angle-axis-common.h
src/utc/dali-core/angle-axis/utc-dali-angle-axis.cpp
src/utc/dali-core/animation/utc-dali-animation-impl.h
src/utc/dali-core/animation/utc-dali-animation.cpp
src/utc/dali-core/callback/utc-dali-callback.cpp
src/utc/dali-core/connection-tracker/utc-dali-connection-tracker-common.cpp [new file with mode: 0755]
src/utc/dali-core/connection-tracker/utc-dali-connection-tracker-common.h [new file with mode: 0755]
src/utc/dali-core/connection-tracker/utc-dali-connection-tracker.cpp [new file with mode: 0755]
src/utc/dali-core/custom-actor-impl/utc-dali-custom-actor-impl-impl.h
src/utc/dali-core/custom-actor-impl/utc-dali-custom-actor-impl.cpp
src/utc/dali-core/frame-buffer-image/utc-dali-frame-buffer-image.cpp
src/utc/dali-core/tct-dali-core-core_common_iot.h
src/utc/dali-core/tct-dali-core-core_mobile.h
src/utc/dali-core/tct-dali-core-core_tv.h
src/utc/dali-core/tct-dali-core-core_wearable.h
src/utc/dali-core/type-registry/utc-dali-type-registry.cpp

index a4893b0..89467a8 100755 (executable)
@@ -124,6 +124,8 @@ vector-base/utc-dali-vector-base.cpp
 vector-base/utc-dali-vector-base-common.cpp
 exception/utc-dali-exception.cpp
 exception/utc-dali-exception-common.cpp
+connection-tracker/utc-dali-connection-tracker.cpp
+connection-tracker/utc-dali-connection-tracker-common.cpp
 )
 
 LIST(APPEND TC_SOURCES
index 4ed3f6b..eacb585 100755 (executable)
@@ -2462,11 +2462,6 @@ void ActorRotateByP2()
   gActor = parentActor;
 }
 
-void ActorRotateByP3()
-{
-  DaliLog::PrintPass();
-}
-
 void ActorGetNaturalSizeP()
 {
   Actor actor = Actor::New();
@@ -2843,3 +2838,43 @@ void ActorIsPositionInheritedP()
 
   DaliLog::PrintPass();
 }
+
+void ActorRemoveRendererN()
+{
+  Actor parent = Actor::New();
+  Actor child = Actor::New();
+
+  Stage::GetCurrent().Add( parent );
+
+  DALI_CHECK_FAIL(parent.GetChildCount() != 0 , "Default Child Count is wrong");
+
+  parent.Add(child);
+
+  DALI_CHECK_FAIL(parent.GetChildCount() != 1 , "Adding of child is wrong");
+
+  parent.RemoveRenderer(0);
+
+  DALI_CHECK_FAIL(parent.GetChildCount() != 1 , "Adding of child is wrong");
+
+  DaliLog::PrintPass();
+}
+
+void ActorGetRendererCountN()
+{
+  Actor parent = Actor::New();
+  Actor child = Actor::New();
+
+  Stage::GetCurrent().Add( parent );
+
+  DALI_CHECK_FAIL(parent.GetChildCount() != 0 , "Default Child Count is wrong");
+
+  parent.Add(child);
+
+  DALI_CHECK_FAIL(parent.GetChildCount() != 1 , "Adding of child is wrong");
+
+  unsigned int count = parent.GetRendererCount();
+
+  DALI_CHECK_FAIL(parent.GetChildCount() != 1 , "Adding of child is wrong");
+
+  DaliLog::PrintPass();
+}
index d5e32a7..64ac27e 100755 (executable)
@@ -131,8 +131,9 @@ namespace
     ACTOR_SCREEN_TO_LOCAL_P,
     ACTOR_REMOVE_P,
     ACTOR_SET_INHERIT_POSITION_P,
-    ACTOR_IS_POSITION_INHERITED_P
-
+    ACTOR_IS_POSITION_INHERITED_P,
+    ACTOR_REMOVE_RENDERER_N,
+    ACTOR_GET_RENDERER_COUNT_N,
   };
 
   struct Actor_TestApp : public ConnectionTracker
@@ -576,6 +577,14 @@ namespace
         case ACTOR_IS_POSITION_INHERITED_P:
           ActorIsPositionInheritedP();
           break;
+
+        case ACTOR_REMOVE_RENDERER_N:
+          ActorRemoveRendererN();
+          break;
+
+        case ACTOR_GET_RENDERER_COUNT_N:
+          ActorGetRendererCountN();
+          break;
       }
     }
 
@@ -2876,3 +2885,39 @@ int UtcDaliActorIsPositionInheritedP(void)
 
   return test_return_value;
 }
+
+/**
+ * @testcase           UtcDaliActorRemoveRendererN
+ * @since_tizen        2.4
+ * @description        check if RemoveRenderer api works or not.
+ */
+
+int UtcDaliActorRemoveRendererN(void)
+{
+  DaliLog::PrintExecStarted( SUITE_NAME, __FUNCTION__ );
+
+  Application application = Application::New( &gArgc, &gArgv);
+  CHECK_GL;
+  Actor_TestApp testApp(application, ACTOR_REMOVE_RENDERER_N );
+  application.MainLoop();
+
+  return test_return_value;
+}
+
+/**
+ * @testcase           UtcDaliActorGetRendererCountN
+ * @since_tizen        2.4
+ * @description        check if GetRendererCount api works or not.
+ */
+
+int UtcDaliActorGetRendererCountN(void)
+{
+  DaliLog::PrintExecStarted( SUITE_NAME, __FUNCTION__ );
+
+  Application application = Application::New( &gArgc, &gArgv);
+  CHECK_GL;
+  Actor_TestApp testApp(application, ACTOR_GET_RENDERER_COUNT_N );
+  application.MainLoop();
+
+  return test_return_value;
+}
index 4e221a3..197ab95 100755 (executable)
@@ -3,6 +3,7 @@
 
 #include "dali-common.h"
 #include <exception>
+#include <sstream>
 
 using namespace Dali;
 
index 3fcad0e..ba71525 100755 (executable)
@@ -34,6 +34,7 @@ void AngleAxisConstructorP();
 void AngleAxisConsDegreeP();
 void AngleAxisConsRadianP();
 void AngleAxisEqualP();
+void AngleAxisOutputStreamOpeatorP();
 
 namespace
 {
@@ -42,23 +43,24 @@ namespace
     ANGLE_AXIS_CONSTRUCTOR_P,
     ANGLE_AXIS_CONSTRUCTOR_DEGREE_P,
     ANGLE_AXIS_CONSTRUCTOR_RADIAN_P,
-    ANGLE_AXIS_EQUAL_P
+    ANGLE_AXIS_EQUAL_P,
+    ANGLE_AXIS_OUTPUT_STREAM_OPERATOR_P
   };
 
-  struct Actor_TestApp : public ConnectionTracker
+  struct AngleAxis_TestApp : public ConnectionTracker
   {
-    Actor_TestApp( Application& app, int test_case )
+    AngleAxis_TestApp( Application& app, int test_case )
       : mApplication( app ),
       mTestCase( test_case )
     {
-      mApplication.InitSignal().Connect( this, &Actor_TestApp::OnInit );
+      mApplication.InitSignal().Connect( this, &AngleAxis_TestApp::OnInit );
     }
 
     void OnInit(Application& app)
     {
       ExcuteTest();
       mTimer = Timer::New( INTERVAL );
-      mTimer.TickSignal().Connect( this, &Actor_TestApp::Tick );
+      mTimer.TickSignal().Connect( this, &AngleAxis_TestApp::Tick );
       mTimer.Start();
     }
 
@@ -84,9 +86,14 @@ namespace
         case ANGLE_AXIS_CONSTRUCTOR_RADIAN_P:
           AngleAxisConsRadianP();
           break;
+
         case ANGLE_AXIS_EQUAL_P:
           AngleAxisEqualP();
           break;
+
+        case ANGLE_AXIS_OUTPUT_STREAM_OPERATOR_P:
+          AngleAxisOutputStreamOpeatorP();
+          break;
       }
     }
 
@@ -147,6 +154,26 @@ void AngleAxisEqualP()
   DaliLog::PrintPass();
 }
 
+void AngleAxisOutputStreamOpeatorP()
+{
+  AngleAxis angleaxisx( Dali::ANGLE_120, Vector3::XAXIS );
+  std::ostringstream streamx;
+  streamx << angleaxisx;
+  DALI_CHECK_FAIL( streamx.str().compare("[ Axis: [1, 0, 0], Angle: 120 degrees ]") !=0, "out stream value not match");
+
+  AngleAxis angleaxisy( Dali::ANGLE_120, Vector3::YAXIS );
+  std::ostringstream streamy;
+  streamy << angleaxisy;
+  DALI_CHECK_FAIL( streamy.str().compare("[ Axis: [0, 1, 0], Angle: 120 degrees ]") !=0, "out stream value not match");
+
+  AngleAxis angleaxisz( Dali::ANGLE_120, Vector3::ZAXIS );
+  std::ostringstream streamz;
+  streamz << angleaxisz;
+  DALI_CHECK_FAIL( streamz.str().compare("[ Axis: [0, 0, 1], Angle: 120 degrees ]") !=0, "out stream value not match");
+  DaliLog::PrintPass();
+}
+
+
 /**
  * @testcase      UtcDaliAngleAxisConstructorP
  * @since_tizen   2.4
@@ -158,7 +185,7 @@ int UtcDaliAngleAxisConstructorP(void)
   DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
   Application application = Application::New( &gArgc, &gArgv );
   CHECK_GL;
-  Actor_TestApp testApp( application, ANGLE_AXIS_CONSTRUCTOR_P);
+  AngleAxis_TestApp testApp( application, ANGLE_AXIS_CONSTRUCTOR_P);
   application.MainLoop();
   return test_return_value;
 }
@@ -174,7 +201,7 @@ int UtcDaliAngleAxisConstructorP2(void)
   DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
   Application application = Application::New( &gArgc, &gArgv );
   CHECK_GL;
-  Actor_TestApp testApp( application, ANGLE_AXIS_CONSTRUCTOR_DEGREE_P);
+  AngleAxis_TestApp testApp( application, ANGLE_AXIS_CONSTRUCTOR_DEGREE_P);
   application.MainLoop();
   return test_return_value;
 }
@@ -190,7 +217,7 @@ int UtcDaliAngleAxisConstructorP3(void)
   DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
   Application application = Application::New( &gArgc, &gArgv );
   CHECK_GL;
-  Actor_TestApp testApp(application, ANGLE_AXIS_CONSTRUCTOR_RADIAN_P);
+  AngleAxis_TestApp testApp(application, ANGLE_AXIS_CONSTRUCTOR_RADIAN_P);
   application.MainLoop();
   return test_return_value;
 }
@@ -206,7 +233,23 @@ int UtcDaliAngleAxisEqualP(void)
   DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
   Application application = Application::New( &gArgc, &gArgv );
   CHECK_GL;
-  Actor_TestApp testApp(application, ANGLE_AXIS_EQUAL_P);
+  AngleAxis_TestApp testApp(application, ANGLE_AXIS_EQUAL_P);
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase      UtcDaliAngleAxisOutputStreamOpeatorP
+ * @since_tizen   2.4
+ * @description   To Check angleaxis outstream operator is working properly or not.
+ */
+
+int UtcDaliAngleAxisOutputStreamOpeatorP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  AngleAxis_TestApp testApp(application, ANGLE_AXIS_OUTPUT_STREAM_OPERATOR_P);
   application.MainLoop();
   return test_return_value;
 }
index 0eeaed8..857579e 100755 (executable)
@@ -1123,6 +1123,34 @@ void AnimationAnimateToVector2TimePeriodAlphaFunctionP()
   }
 }
 
+void AnimationAnimateToP()
+{
+  gFloatAnimationSetDuration = 0.3f;
+  Vector3 vec3StartValue(gFloatAnimDefaultStart, gFloatAnimDefaultStart, gFloatAnimDefaultStart);
+  Vector3 vec3TargetValue(gFloatAnimDefaultTarget, gFloatAnimDefaultTarget, gFloatAnimDefaultTarget);
+  TimePeriod timePeriod (gFloatAnimationDelay, gFloatAnimationSetDuration - gFloatAnimationDelay);
+
+  gAnimation = Animation::New(gFloatAnimationSetDuration);
+  DALI_CHECK_FAIL( !gAnimation, "Failed to create animation instance." );
+
+  if(!ActorAnimatePropInit(gActorAnim, vec3StartValue ,gAnimPropertyIndex))
+  {
+    test_return_value = TC_FAIL;
+    return;
+  }
+  Stage::GetCurrent().Add(gActorAnim);
+
+  gAnimation.FinishedSignal().Connect(&CbAnimationFinishCheck);
+
+  gAnimation.AnimateTo(Property(gActorAnim, gAnimPropertyIndex), vec3TargetValue, AlphaFunction::EASE_OUT);
+  gAnimation.Play();
+
+  gAnimation.AnimateTo(Property(gActorAnim, gAnimPropertyIndex), vec3TargetValue, AlphaFunction::EASE_OUT, timePeriod);
+  gAnimation.Play();
+
+  gAnimation.AnimateTo(Property(gActorAnim, gAnimPropertyIndex), vec3TargetValue, timePeriod);
+  gAnimation.Play();
+}
 
 void AnimationAnimateToVector2P()
 {
@@ -1269,6 +1297,7 @@ void AnimationAnimateToVector3TimePeriodP()
 void AnimationAnimateToVector3AlphaFunctionP()
 {
   gFloatAnimationSetDuration = 0.3f;
+  TimePeriod timePeriod (gFloatAnimationDelay, gFloatAnimationSetDuration - gFloatAnimationDelay);
   Vector3 vec3StartValue(gFloatAnimDefaultStart, gFloatAnimDefaultStart, gFloatAnimDefaultStart);
   Vector3 vec3TargetValue(gFloatAnimDefaultTarget, gFloatAnimDefaultTarget, gFloatAnimDefaultTarget);
 
@@ -1285,6 +1314,12 @@ void AnimationAnimateToVector3AlphaFunctionP()
   gAnimation.FinishedSignal().Connect(&CbAnimationFinishCheck);
   gAnimation.AnimateTo(Property(gActorAnim, gAnimPropertyIndex), vec3TargetValue, AlphaFunction::EASE_OUT);
   gAnimation.Play();
+
+  gAnimation.AnimateTo(Property(gActorAnim, gAnimPropertyIndex), vec3TargetValue, AlphaFunction::EASE_OUT, timePeriod );
+  gAnimation.Play();
+
+  gAnimation.AnimateTo(Property(gActorAnim, gAnimPropertyIndex), vec3TargetValue, timePeriod );
+  gAnimation.Play();
 }
 
 void VTAnimationAnimateCheckVector3()
index daffde4..be30b93 100755 (executable)
@@ -97,7 +97,8 @@ namespace
     ANIMATION_ANIMATE_BETWEEN_KEYFRAMES_INTERPOLATIONTIMEPERIODALPHAFUNC_P,
     ANIMATION_SET_GET_DISCONNECTACTION_BAKE_P,
     ANIMATION_SET_GET_DISCONNECTACTION_BAKE_FINAL_P,
-    ANIMATION_SET_GET_DISCONNECTACTION_DISCARD_P
+    ANIMATION_SET_GET_DISCONNECTACTION_DISCARD_P,
+    ANIMATION_ANIMATE_TO_P
   };
 
   struct TestApp : public ConnectionTracker
@@ -311,6 +312,10 @@ namespace
           AnimationAnimateToVector2P();
           break;
 
+        case ANIMATION_ANIMATE_TO_P:
+          AnimationAnimateToP();
+          break;
+
         case ANIMATION_ANIMATE_TOFLOAT_P:
           AnimationAnimateToFloatP();
           break;
@@ -597,6 +602,7 @@ namespace
         case ANIMATION_ANIMATE_BYVECTOR3_P:
         case ANIMATION_ANIMATE_BYVECTOR3TIMEPERIOD_P:
         case ANIMATION_ANIMATE_TOVECTOR3_P:
+        case ANIMATION_ANIMATE_TO_P:
         case ANIMATION_ANIMATE_TOVECTOR3TIMEPERIOD_P:
         case ANIMATION_ANIMATE_TOVECTOR3TIMEPERIODALPHAFUNCTION_P:
         case ANIMATION_ANIMATE_TOVECTOR3ALPHAFUNCTION_P:
@@ -1594,6 +1600,21 @@ int UtcDaliAnimationAnimateToVector2P(void)
 }
 
 /**
+ * @testcase        UtcDaliAnimationAnimateToP
+ * @since_tizen     2.4
+ * @description     Checks whether the Animation AnimateTo  Api is working properly or not with Vector2
+ */
+int UtcDaliAnimationAnimateToP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  TestApp testApp(application, ANIMATION_ANIMATE_TO_P);
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
  * @testcase        UtcDaliAnimationAnimateToFloatP
  * @since_tizen     2.4
  * @description     Checks whether the Animation AnimateTo  Api is working properly or not with float
index 6cf53a3..5dcb3b9 100755 (executable)
@@ -139,6 +139,8 @@ void CallbackConstructExecuteParam2();
 void CallbackConstructExecuteParam2Return();
 void CallbackConstructExecuteParam3();
 void CallbackConstructExecuteParam3Return();
+void CallbackFunctorDelegateNew();
+void CallbackFunctorDelegateExecute();
 
 namespace
 {
@@ -153,7 +155,9 @@ namespace
     CALLBACK_CONSTRUCT_EXECUTE_PARAM2,
     CALLBACK_CONSTRUCT_EXECUTE_PARAM2RETURN,
     CALLBACK_CONSTRUCT_EXECUTE_PARAM3,
-    CALLBACK_CONSTRUCT_EXECUTE_PARAM3RETURN
+    CALLBACK_CONSTRUCT_EXECUTE_PARAM3RETURN,
+    CALLBACK_FUNCTOR_DELEGATE_NEW,
+    CALLBACK_FUNCTOR_DELEGATE_EXECUTE
   };
 
   struct TestApp : public ConnectionTracker
@@ -223,6 +227,14 @@ namespace
         case CALLBACK_CONSTRUCT_EXECUTE_PARAM3RETURN:
           CallbackConstructExecuteParam3Return();
           break;
+
+        case CALLBACK_FUNCTOR_DELEGATE_NEW:
+          CallbackFunctorDelegateNew();
+          break;
+
+        case CALLBACK_FUNCTOR_DELEGATE_EXECUTE:
+          CallbackFunctorDelegateExecute();
+          break;
       }
     }
 
@@ -345,6 +357,40 @@ void CallbackConstructExecuteParam3Return()
   DaliLog::PrintPass();
 }
 
+void CallbackFunctorDelegateNew()
+{
+  STCallbackFunctorDelegateCalled callbackFunctor;
+  CallbackBase *pCallback = new CallbackFunctorDelegate0( FunctorDelegate::New( callbackFunctor ) );
+
+  DALI_CHECK_INSTANCE( pCallback, "CallbackBase creation is failed using CallbackFunctorDelegate0().");
+
+  gCallbackFunctorDelegateCalled = false;
+  CallbackBase::Execute( *pCallback );
+
+  DALI_CHECK_FAIL( !gCallbackFunctorDelegateCalled, "Callback created from CallbackFunctorDelegate0 is failed to execute the callback function." );
+
+  DALI_SAFE_FREE( pCallback );
+  DaliLog::PrintPass();
+}
+
+void CallbackFunctorDelegateExecute()
+{
+  STCallbackFunctorDelegateCalled callbackFunctor;
+
+  FunctorDelegate *pCallback = FunctorDelegate::New( callbackFunctor );
+  DALI_CHECK_INSTANCE( pCallback, "CallbackBase creation is failed using CallbackFunctorDelegate0().");
+
+  gCallbackFunctorDelegateCalled = false;
+  (*pCallback).FunctorDelegate::Execute();
+
+  DALI_CHECK_FAIL( !gCallbackFunctorDelegateCalled, "Callback created from CallbackFunctorDelegate0 is failed to execute the callback function." );
+
+  DALI_SAFE_FREE( pCallback );
+  DaliLog::PrintPass();
+
+}
+
+
 /**
  * End of TC Logic Implementation Area.
  **/
@@ -503,3 +549,32 @@ int UtcDaliCallbackConstructExecuteParam3ReturnP(void)
   return test_return_value;
 }
 
+/**
+ * @testcase                UtcDaliCallbackFunctorDelegateNewP
+ * @since_tizen             2.4
+ * @description             Construct Function object callback for connecting void() methods with no parameter
+ */
+int UtcDaliCallbackFunctorDelegateNewP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  TestApp testApp(application, CALLBACK_FUNCTOR_DELEGATE_NEW);
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase                UtcDaliCallbackFunctorDelegateExecuteP
+ * @since_tizen             2.4
+ * @description             Construct Function object callback for connecting void() methods with no parameter
+ */
+int UtcDaliCallbackFunctorDelegateExecuteP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  TestApp testApp(application, CALLBACK_FUNCTOR_DELEGATE_EXECUTE);
+  application.MainLoop();
+  return test_return_value;
+}
diff --git a/src/utc/dali-core/connection-tracker/utc-dali-connection-tracker-common.cpp b/src/utc/dali-core/connection-tracker/utc-dali-connection-tracker-common.cpp
new file mode 100755 (executable)
index 0000000..e7ff411
--- /dev/null
@@ -0,0 +1,12 @@
+#include "utc-dali-connection-tracker-common.h"
+
+ConnectionTrackerSlotObserver* gConnectionTrackerSlotObserver;
+CallbackFunction* gConnectionTrackerCallBack;
+
+void ConnectionTrackerReset()
+{
+  delete gConnectionTrackerSlotObserver;
+  delete gConnectionTrackerCallBack;
+  gConnectionTrackerSlotObserver = NULL;
+  gConnectionTrackerCallBack = NULL;
+}
diff --git a/src/utc/dali-core/connection-tracker/utc-dali-connection-tracker-common.h b/src/utc/dali-core/connection-tracker/utc-dali-connection-tracker-common.h
new file mode 100755 (executable)
index 0000000..f8560b7
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef _UTC_DALI_CONNECTION_TRACKER_COMMON_H_
+#define _UTC_DALI_CONNECTION_TRACKER_COMMON_H_
+
+#include <exception>
+
+#include "dali-common.h"
+
+using namespace Dali;
+
+#define SUITE_NAME  "CONNECTION_TRACKER_UTC"
+
+class TestCallBackFunction
+{
+  public:
+    TestCallBackFunction(){}
+
+    static void CallBack()
+    {
+
+    }
+};
+
+class ConnectionTrackerSlotObserver : public SlotObserver
+{
+  public:
+    ConnectionTrackerSlotObserver()
+    {
+    }
+
+    virtual ~ConnectionTrackerSlotObserver()
+    {
+    }
+
+    virtual void SlotDisconnected( CallbackBase *callback )
+    {
+    }
+};
+
+class TestConnectionTrackerInterface : public ConnectionTrackerInterface
+{
+  public:
+
+    TestConnectionTrackerInterface(){}
+    ~TestConnectionTrackerInterface(){}
+    void SignalConnected( SlotObserver* pSlotObserver, CallbackBase* pCallBack )
+    {
+      int* pnConnection = new int();
+      *pnConnection = 0;
+      m_vecnConnections.push_back( pnConnection );
+    }
+
+    void SignalDisconnected( SlotObserver* signal, CallbackBase* pCallBack )
+    {
+      std::size_t size = m_vecnConnections.size();
+
+      for( std::size_t i = 0; i< size; ++i )
+      {
+        int* pnCconnection = m_vecnConnections[i];
+        m_vecnConnections.erase( m_vecnConnections.begin()+i );
+        delete pnCconnection;
+      }
+    }
+
+    std::size_t GetConnectionCount() const
+    {
+      return m_vecnConnections.size();
+    }
+
+  private:
+    vector< int* >  m_vecnConnections;
+};
+
+extern ConnectionTrackerSlotObserver* gConnectionTrackerSlotObserver;
+extern CallbackFunction* gConnectionTrackerCallBack;
+enum EConnectionCount { SingleConnection = 1, NoConnection = 0 };
+
+//Reset all resources
+void ConnectionTrackerReset();
+
+#endif  //_UTC_DALI_CONNECTION_TRACKER_COMMON_H_
diff --git a/src/utc/dali-core/connection-tracker/utc-dali-connection-tracker.cpp b/src/utc/dali-core/connection-tracker/utc-dali-connection-tracker.cpp
new file mode 100755 (executable)
index 0000000..aa71608
--- /dev/null
@@ -0,0 +1,387 @@
+#include "utc-dali-connection-tracker-common.h"
+
+extern int gArgc;
+extern char ** gArgv;
+extern int test_return_value;
+
+//& set: ConnectionTracker
+
+void CbConnectionTrackerReset(void *pData)
+{
+  ConnectionTrackerReset();
+}
+
+void CbConnectionTrackerResetSlotObserver(void *pData)
+{
+  delete gConnectionTrackerSlotObserver;
+  gConnectionTrackerSlotObserver = NULL;
+}
+
+/**
+ * @function            utc_Dali_ConnectionTracker_startup
+ * @description         Called before each test
+ * @parameter           NA
+ * @return              NA
+ */
+void utc_Dali_ConnectionTracker_startup(void)
+{
+  test_return_value = 0;
+}
+
+/**
+ * @function            utc_Dali_ConnectionTracker_cleanup
+ * @description         Called after each test
+ * @parameter           NA
+ * @return              NA
+ */
+void utc_Dali_ConnectionTracker_cleanup(void)
+{
+
+}
+
+void ConnectionTrackerConstructorP();
+void ConnectionTrackerInterfaceConstructorP();
+void ConnectionTrackerDisconnectAllP();
+void ConnectionTrackerDisconnectAllN();
+void ConnectionTrackerGetConnectionCountP();
+void ConnectionTrackerSignalConnectedP();
+void ConnectionTrackerSignalDisconnectP();
+
+namespace
+{
+  enum TEST_CASES_LIST_CONNECTION_TRACKER
+  {
+    CONNECTION_TRACKER_CONSTRUCTOR_P,
+    CONNECTION_TRACKER_INTERFACE_CONSTRUCTOR_P,
+    CONNECTION_TRACKER_DISCONNECT_ALL_P,
+    CONNECTION_TRACKER_DISCONNECT_ALL_N,
+    CONNECTION_TRACKER_GET_CONNECTION_COUNT_P,
+    CONNECTION_TRACKER_SIGNAL_CONNECTED_P,
+    CONNECTION_TRACKER_SIGNAL_DISCONNECTED_P
+  };
+
+  struct ConnectionTracker_TestApp : public ConnectionTracker
+  {
+    ConnectionTracker_TestApp( Application& app, int test_case )
+      : mApplication( app ),
+      mTestCase( test_case )
+    {
+      mApplication.InitSignal().Connect( this, &ConnectionTracker_TestApp::OnInit );
+    }
+
+    void OnInit(Application& app)
+    {
+      ExcuteTest();
+      mTimer = Timer::New( INTERVAL );
+      mTimer.TickSignal().Connect( this, &ConnectionTracker_TestApp::Tick );
+      mTimer.Start();
+    }
+
+    bool Tick()
+    {
+      mTimer.Stop();
+      mApplication.Quit();
+      return true;
+    }
+
+    void ExcuteTest()
+    {
+      switch (mTestCase)
+      {
+        case CONNECTION_TRACKER_CONSTRUCTOR_P:
+          ConnectionTrackerConstructorP();
+          break;
+        case CONNECTION_TRACKER_INTERFACE_CONSTRUCTOR_P:
+          ConnectionTrackerInterfaceConstructorP();
+          break;
+        case CONNECTION_TRACKER_DISCONNECT_ALL_P:
+          ConnectionTrackerDisconnectAllP();
+          break;
+        case CONNECTION_TRACKER_DISCONNECT_ALL_N:
+          ConnectionTrackerDisconnectAllN();
+          break;
+        case CONNECTION_TRACKER_GET_CONNECTION_COUNT_P:
+          ConnectionTrackerGetConnectionCountP();
+          break;
+        case CONNECTION_TRACKER_SIGNAL_CONNECTED_P:
+          ConnectionTrackerSignalConnectedP();
+          break;
+        case CONNECTION_TRACKER_SIGNAL_DISCONNECTED_P:
+          ConnectionTrackerSignalDisconnectP();
+          break;
+      }
+    }
+
+    Application& mApplication;
+    int mTestCase;
+    Timer mTimer;
+  };
+} // unnamed namespace
+
+/**
+ * ##############################
+ * TC Logic Implementation Area.
+ * ##############################
+ **/
+
+void ConnectionTrackerConstructorP()
+{
+  ConnectionTracker tracker;
+  DALI_CHECK_FAIL( tracker.GetConnectionCount() != NoConnection , " ConnectionTracker constructor is failed");
+
+  DaliLog::PrintPass();
+}
+
+void ConnectionTrackerInterfaceConstructorP()
+{
+  TestConnectionTrackerInterface connect;
+  DALI_CHECK_FAIL( connect.GetConnectionCount() != NoConnection , " ConnectionTrackerInterface constructor is failed");
+
+  DaliLog::PrintPass();
+}
+
+void ConnectionTrackerDisconnectAllP()
+{
+  const int SIGNAL_COUNT_CONNECTED = 3;
+  gConnectionTrackerSlotObserver = NULL;
+  gConnectionTrackerCallBack = NULL;
+
+  gConnectionTrackerSlotObserver = new ConnectionTrackerSlotObserver();
+  DALI_CHECK_FAIL( !gConnectionTrackerSlotObserver , "Failed to create ConnectionTrackerSlotObserver handler.");
+
+  gConnectionTrackerCallBack = new CallbackFunction( TestCallBackFunction::CallBack );
+  DALI_CHECK_FAIL_CB( !gConnectionTrackerCallBack, "Failed to create CallbackFunction handler.", CbConnectionTrackerResetSlotObserver, NULL);
+
+  ConnectionTracker connect;
+  for( int nCountSignal = 0; nCountSignal < SIGNAL_COUNT_CONNECTED; nCountSignal++ )
+  {
+    connect.SignalConnected(  gConnectionTrackerSlotObserver,  gConnectionTrackerCallBack );
+  }
+  size_t size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL_CB(size == NoConnection, "SignalConnected api failed and GetConnectionCount api returns zero.", CbConnectionTrackerReset, NULL);
+
+  connect.DisconnectAll();
+
+  size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL_CB(size != NoConnection, "DisconnectAll api failed to disconnect all signals.", CbConnectionTrackerReset, NULL);
+  ConnectionTrackerReset();
+
+  DaliLog::PrintPass();
+}
+
+void ConnectionTrackerDisconnectAllN()
+{
+  ConnectionTracker connect;
+
+  size_t size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL_CB(size != NoConnection, "DisconnectAll api failed to disconnect all signals.", CbConnectionTrackerReset, NULL);
+
+  connect.DisconnectAll();
+
+  size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL_CB(size != NoConnection, "DisconnectAll api failed to disconnect all signals.", CbConnectionTrackerReset, NULL);
+  ConnectionTrackerReset();
+
+  DaliLog::PrintPass();
+}
+
+void ConnectionTrackerGetConnectionCountP()
+{
+  const int SIGNAL_COUNT_CONNECTED = 3;
+  gConnectionTrackerSlotObserver = NULL;
+  gConnectionTrackerCallBack = NULL;
+
+  gConnectionTrackerSlotObserver = new ConnectionTrackerSlotObserver();
+  DALI_CHECK_FAIL( !gConnectionTrackerSlotObserver , "Failed to create ConnectionTrackerSlotObserver handler.");
+
+  gConnectionTrackerCallBack = new CallbackFunction( TestCallBackFunction::CallBack );
+  DALI_CHECK_FAIL_CB( !gConnectionTrackerCallBack, "Failed to create CallbackFunction handler.", CbConnectionTrackerResetSlotObserver, NULL);
+
+  ConnectionTracker connect;
+  for( int nCountSignal = 0; nCountSignal < SIGNAL_COUNT_CONNECTED; nCountSignal++ )
+  {
+    connect.SignalConnected(  gConnectionTrackerSlotObserver,  gConnectionTrackerCallBack );
+  }
+  size_t size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL_CB(size == NoConnection, "GetConnectionCount api failed", CbConnectionTrackerReset, NULL);
+  ConnectionTrackerReset();
+
+  DaliLog::PrintPass();
+}
+
+void ConnectionTrackerSignalConnectedP()
+{
+  const int SIGNAL_COUNT_CONNECTED = 3;
+  gConnectionTrackerSlotObserver = NULL;
+  gConnectionTrackerCallBack = NULL;
+
+  gConnectionTrackerSlotObserver = new ConnectionTrackerSlotObserver();
+  DALI_CHECK_FAIL( !gConnectionTrackerSlotObserver , "Failed to create ConnectionTrackerSlotObserver handler.");
+
+  gConnectionTrackerCallBack = new CallbackFunction( TestCallBackFunction::CallBack );
+  DALI_CHECK_FAIL_CB( !gConnectionTrackerCallBack, "Failed to create CallbackFunction handler.", CbConnectionTrackerResetSlotObserver, NULL);
+
+  ConnectionTracker connect;
+  for( int nCountSignal = 0; nCountSignal < SIGNAL_COUNT_CONNECTED; nCountSignal++ )
+  {
+    connect.SignalConnected(  gConnectionTrackerSlotObserver,  gConnectionTrackerCallBack );
+  }
+  size_t size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL_CB(size == NoConnection, "SignalConnected api failed", CbConnectionTrackerReset, NULL);
+  ConnectionTrackerReset();
+
+  DaliLog::PrintPass();
+}
+
+void ConnectionTrackerSignalDisconnectP()
+{
+  const int SIGNAL_COUNT_CONNECTED = 3;
+  gConnectionTrackerSlotObserver = NULL;
+  gConnectionTrackerCallBack = NULL;
+
+  gConnectionTrackerSlotObserver = new ConnectionTrackerSlotObserver();
+  DALI_CHECK_FAIL( !gConnectionTrackerSlotObserver , "Failed to create ConnectionTrackerSlotObserver handler.");
+
+  gConnectionTrackerCallBack = new CallbackFunction( TestCallBackFunction::CallBack );
+  DALI_CHECK_FAIL_CB( !gConnectionTrackerCallBack, "Failed to create CallbackFunction handler.", CbConnectionTrackerResetSlotObserver, NULL);
+
+  ConnectionTracker connect;
+  for( int nCountSignal = 0; nCountSignal < SIGNAL_COUNT_CONNECTED; nCountSignal++ )
+  {
+    connect.SignalConnected(  gConnectionTrackerSlotObserver,  gConnectionTrackerCallBack );
+  }
+  size_t size = connect.GetConnectionCount();
+  DALI_CHECK_FAIL(size == NoConnection, "SignalConnected api failed and GetConnectionCount api returns zero.");
+
+  try
+  {
+    connect.SignalDisconnected( gConnectionTrackerSlotObserver, gConnectionTrackerCallBack );
+  }
+  catch(DaliException& de)
+  {
+    LOG_E("SignalDisconnected with image is failed.");
+    DaliLog::PrintV(LOG_ERROR, SUITE_NAME, "Dali Exception Thrown, location: %s, condition: %s, at [LINE: %d]", de.location, de.condition, __LINE__);
+    test_return_value=1;
+    return;
+  }
+  ConnectionTrackerReset();
+
+  DaliLog::PrintPass();
+}
+
+/**
+ * End of TC Logic Implementation Area.
+ **/
+
+
+/**
+ * @testcase            UtcDaliConnectionTrackerConstructorP
+ * @since_tizen         2.4
+ * @description         checks if default constructor works or not.
+ */
+
+int UtcDaliConnectionTrackerConstructorP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_CONSTRUCTOR_P);
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliConnectionTrackerInterfaceConstructorP
+ * @since_tizen         2.4
+ * @description         checks if default constructor works or not for ConnectionTrackerInterface.
+ */
+
+int UtcDaliConnectionTrackerInterfaceConstructorP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_INTERFACE_CONSTRUCTOR_P);
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliConnectionTrackerDisconnectAllP
+ * @since_tizen         2.4
+ * @description         Disconnect all the connection signal information.
+ */
+
+int UtcDaliConnectionTrackerDisconnectAllP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_DISCONNECT_ALL_P );
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliConnectionTrackerDisconnectAllN
+ * @since_tizen         2.4
+ * @description         Negative Test for Disconnecting all the connection signal information.
+ */
+
+int UtcDaliConnectionTrackerDisconnectAllN(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_DISCONNECT_ALL_N );
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliConnectionTrackerGetConnectionCountP
+ * @since_tizen         2.4
+ * @description
+ */
+
+int UtcDaliConnectionTrackerGetConnectionCountP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_GET_CONNECTION_COUNT_P );
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliConnectionTrackerSignalConnectedP
+ * @since_tizen         2.4
+ * @description
+ */
+
+int UtcDaliConnectionTrackerSignalConnectedP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_SIGNAL_CONNECTED_P );
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase            UtcDaliConnectionTrackerSignalDisconnectP
+ * @since_tizen         2.4
+ * @description
+ */
+
+int UtcDaliConnectionTrackerSignalDisconnectP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  ConnectionTracker_TestApp testApp(application, CONNECTION_TRACKER_SIGNAL_DISCONNECTED_P );
+  application.MainLoop();
+  return test_return_value;
+}
index 1938d8a..7071d8a 100755 (executable)
@@ -309,6 +309,26 @@ namespace Impl
       AddToCallStacks("OnLayoutNegotiated");
     }
 
+    float TestGetHeightForWidthBase( float width )
+    {
+      return GetHeightForWidthBase( width );
+    }
+
+    float TestGetWidthForHeightBase( float height )
+    {
+      return GetWidthForHeightBase( height );
+    }
+
+    float TestCalculateChildSizeBase( const Dali::Actor& child, Dimension::Type dimension )
+    {
+      return CalculateChildSizeBase( child, dimension );
+    }
+
+    bool TestRelayoutDependentOnChildrenBase( Dimension::Type dimension )
+    {
+      return RelayoutDependentOnChildrenBase( dimension );
+    }
+
     void SetDaliProperty(std::string strProperty)
     {
       Self().SetProperty(m_property, strProperty) ;
@@ -1068,27 +1088,76 @@ void CustomActorOnHoverEventP(void)
 
 void CustomActorImplGetHeightForWidthBaseP(void)
 {
-  TestCustomActor custom = TestCustomActor::New();
+  TestCustomActor customActor = TestCustomActor::New();
+  DALI_CHECK_FAIL(!customActor, "CustomActor()::New() is failed");
+
+  Impl::TestCustomActor &testCustomActor = customActor.GetImpl();
+  DALI_CHECK_FAIL(!(&testCustomActor), "CustomActor::GetImplementation is failed");
   float width = 300.0f;
   float v = 0.0f;
 
-  v = custom.GetHeightForWidth( width );
-
+  v = customActor.GetHeightForWidth( width );
   DALI_CHECK_FAIL( v != width , "GetHeightForWidthBase is failed." );
 
+  v = testCustomActor.TestGetHeightForWidthBase( width );
+  DALI_CHECK_FAIL( v != width, "GetWidthForHeightBase is failed." );
+
   DaliLog::PrintPass();
 }
 
 
 void CustomActorImplGetWidthForHeightBaseP(void)
 {
-  TestCustomActor custom = TestCustomActor::New();
+  TestCustomActor customActor = TestCustomActor::New();
+  DALI_CHECK_FAIL(!customActor, "CustomActor()::New() is failed");
+
+  Impl::TestCustomActor &testCustomActor = customActor.GetImpl();
+  DALI_CHECK_FAIL(!(&testCustomActor), "CustomActor::GetImplementation is failed");
   float height = 300.0f;
   float v = 0.0f;
 
-  v = custom.GetWidthForHeight( height );
+  v = customActor.GetWidthForHeight( height );
+  DALI_CHECK_FAIL( v != height, "GetWidthForHeightBase is failed." );
 
+  v = testCustomActor.TestGetWidthForHeightBase( height );
   DALI_CHECK_FAIL( v != height, "GetWidthForHeightBase is failed." );
 
   DaliLog::PrintPass();
 }
+
+void  CustomActorImplCalculateChildSizeBaseP(void)
+{
+  TestCustomActor customActor = TestCustomActor::New();
+  DALI_CHECK_FAIL(!customActor, "CustomActor()::New() is failed");
+
+  Impl::TestCustomActor &testCustomActor = customActor.GetImpl();
+  DALI_CHECK_FAIL(!(&testCustomActor), "CustomActor::GetImplementation is failed");
+
+  Actor child = Actor::New();
+  child.SetResizePolicy(Dali::ResizePolicy::FIXED, Dali::Dimension::ALL_DIMENSIONS);
+  child.SetSize(150, 150);
+
+  float v = 9.99f;
+  v = testCustomActor.TestCalculateChildSizeBase( child, Dali::Dimension::ALL_DIMENSIONS );
+  DALI_CHECK_FAIL( v != 0.0f, "CalculateChildSizeBase is failed" );
+
+  DaliLog::PrintPass();
+}
+
+void CustomActorImplRelayoutDependentOnChildrenBaseP(void)
+{
+  TestCustomActor customActor = TestCustomActor::New();
+  DALI_CHECK_FAIL(!customActor, "CustomActor()::New() is failed");
+
+  Impl::TestCustomActor &testCustomActor = customActor.GetImpl();
+  DALI_CHECK_FAIL(!(&testCustomActor), "CustomActor::GetImplementation is failed");
+
+  customActor.SetResizePolicy(Dali::ResizePolicy::FIT_TO_CHILDREN, Dali::Dimension::ALL_DIMENSIONS);
+
+  bool v = false;
+
+  v = testCustomActor.TestRelayoutDependentOnChildrenBase( Dali::Dimension::ALL_DIMENSIONS );
+  DALI_CHECK_FAIL( v != true, "RelayoutDependentOnChildrenBas is failed " );
+
+  DaliLog::PrintPass();
+}
index 01b3df3..5f8066e 100755 (executable)
@@ -55,8 +55,9 @@ namespace
     CUSTOM_ACTOR_IMPL_ON_SIZE_ANIMATION_P,
     CUSTOM_ACTOR_IMPL_ON_HOVER_EVENT_P,
     CUSTOM_ACTOR_IMPL_GET_HEIGHT_FOR_WIDTH_BASE_P,
-    CUSTOM_ACTOR_IMPL_GET_WIDTH_FOR_HEIGHT_BASE_P
-
+    CUSTOM_ACTOR_IMPL_GET_WIDTH_FOR_HEIGHT_BASE_P,
+    CUSTOM_ACTOR_IMPL_CALCULATE_CHILD_SIZE_BASE_P,
+    CUSTOM_ACTOR_IMPL_RELAYOUT_DEPENDENT_ON_CHILDREN_BASE_P
   };
 
   struct Custom_Actor_TestApp : public ConnectionTracker
@@ -194,6 +195,14 @@ namespace
         case CUSTOM_ACTOR_IMPL_GET_WIDTH_FOR_HEIGHT_BASE_P:
           CustomActorImplGetWidthForHeightBaseP();
           break;
+
+        case CUSTOM_ACTOR_IMPL_CALCULATE_CHILD_SIZE_BASE_P:
+          CustomActorImplCalculateChildSizeBaseP();
+          break;
+
+        case CUSTOM_ACTOR_IMPL_RELAYOUT_DEPENDENT_ON_CHILDREN_BASE_P:
+          CustomActorImplRelayoutDependentOnChildrenBaseP();
+          break;
       }
     }
     void VerdictTest()
@@ -665,3 +674,36 @@ int UtcDaliCustomActorImplGetWidthForHeightBaseP(void)
   application.MainLoop();
   return test_return_value;
 }
+
+/**
+ * @testcase           UtcDaliCustomActorImplCalculateChildSizeBaseP
+ * @since_tizen        2.4
+ * @description        check if CalculateChildSizeBase api works or not.
+ */
+
+int UtcDaliCustomActorImplCalculateChildSizeBaseP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  Custom_Actor_TestApp testApp( application, CUSTOM_ACTOR_IMPL_CALCULATE_CHILD_SIZE_BASE_P);
+  application.MainLoop();
+  return test_return_value;
+}
+
+
+/**
+ * @testcase           UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP
+ * @since_tizen        2.4
+ * @description        check if RelayoutDependentOnChildrenBase api works or not.
+ */
+
+int UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  Custom_Actor_TestApp testApp( application, CUSTOM_ACTOR_IMPL_RELAYOUT_DEPENDENT_ON_CHILDREN_BASE_P);
+  application.MainLoop();
+  return test_return_value;
+}
index fcb842d..5a2036a 100755 (executable)
@@ -171,6 +171,9 @@ void FrameBufferImageNewWithWidthHeightPixelFormatP()
   FrameBufferImage frameBufferImage = FrameBufferImage::New(uWidth, uHeight, Pixel::RGBA8888);
   DALI_CHECK_FAIL( !frameBufferImage ,  "FrameBufferImage::New is failed ");
 
+  FrameBufferImage frameBufferImage2 = FrameBufferImage::New(uWidth, uHeight, Pixel::RGBA8888, RenderBuffer::COLOR);
+  DALI_CHECK_FAIL( !frameBufferImage2 ,  "FrameBufferImage::New is failed ");
+
   DaliLog::PrintPass();
 }
 
index 3e41842..1504923 100755 (executable)
@@ -242,6 +242,9 @@ extern int UtcDaliTypeRegistrySignalConnectorTypeN(void);
 extern int UtcDaliTypeRegistryTypeRegistrationForNamedTypeP(void);
 extern int UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP(void);
 extern int UtcDaliTypeRegistryTypeActionP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationN(void);
+
 
 //property
 extern int UtcDaliPropertyWithPropertyIndexP(void);
@@ -280,6 +283,8 @@ extern int UtcDaliCallbackConstructExecuteParam2P(void);
 extern int UtcDaliCallbackConstructExecuteParam2ReturnP(void);
 extern int UtcDaliCallbackConstructExecuteParam3P(void);
 extern int UtcDaliCallbackConstructExecuteParam3ReturnP(void);
+extern int UtcDaliCallbackFunctorDelegateNewP(void);
+extern int UtcDaliCallbackFunctorDelegateExecuteP(void);
 
 //stage
 extern int UtcDaliStageConstructorP(void);
@@ -497,6 +502,7 @@ extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP(void);
+extern int UtcDaliAnimationAnimateToP(void);
 
 //render-task-list
 extern int UtcDaliRenderTaskListCreateTaskAndRemoveTaskP(void);
@@ -839,6 +845,26 @@ extern int UtcDaliCameraActorNewP(void);
 extern int UtcDaliCameraActorNewP2(void);
 
 //CustomActorImpl
+extern int UtcDaliCustomActorImplRequiresHoverEventsP(void);
+extern int UtcDaliCustomActorImplOnKeyEventP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusGainedP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusLostP(void);
+extern int UtcDaliCustomActorImplOnWheelEventP(void);
+extern int UtcDaliCustomActorImplOnTouchEventP(void);
+extern int UtcDaliCustomActorImplRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplRequiresTouchEventsP(void);
+extern int UtcDaliCustomActorImplSelfP(void);
+extern int UtcDaliCustomActorImplSetRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplCustomActorImplWithBoolParamP(void);
+extern int UtcDaliCustomActorImplRelayoutRequestP(void);
+extern int UtcDaliCustomActorImplGetExtensionP(void);
+extern int UtcDaliCustomActorImplOnPropertySetP(void);
+extern int UtcDaliCustomActorImplOnSizeAnimationP(void);
+extern int UtcDaliCustomActorImplOnHoverEventP(void);
+extern int UtcDaliCustomActorImplGetHeightForWidthBaseP(void);
+extern int UtcDaliCustomActorImplGetWidthForHeightBaseP(void);
+extern int UtcDaliCustomActorImplCalculateChildSizeBaseP(void);
+extern int UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP(void);
 extern int UtcDaliCustomActorImplGetNaturalSizeP(void);
 extern int UtcDaliCustomActorImplOnChildAddP(void);
 extern int UtcDaliCustomActorImplOnChildRemoveP(void);
@@ -948,6 +974,8 @@ extern int UtcDaliActorRemoveP(void);
 extern int UtcDaliActorUnparentAndResetP(void);
 extern int UtcDaliActorSetInheritPositionP(void);
 extern int UtcDaliActorIsPositionInheritedP(void);
+extern int UtcDaliActorRemoveRendererN(void);
+extern int UtcDaliActorGetRendererCountN(void);
 
 //base-object
 extern int UtcDaliBaseObjectGetTypeNameInfoForActorP(void);
@@ -1040,6 +1068,7 @@ extern int UtcDaliAngleAxisConstructorP(void);
 extern int UtcDaliAngleAxisConstructorP2(void);
 extern int UtcDaliAngleAxisConstructorP3(void);
 extern int UtcDaliAngleAxisEqualP(void);
+extern int UtcDaliAngleAxisOutputStreamOpeatorP(void);
 
 //degree
 extern int UtcDaliDegreeConstructorFloatP(void);
@@ -1237,6 +1266,10 @@ extern void utc_Dali_ConstraintFunction_cleanup(void);
 extern void utc_Dali_Sampling_startup(void);
 extern void utc_Dali_Sampling_cleanup(void);
 
+//ConnectionTracker
+extern void utc_Dali_ConnectionTracker_startup(void);
+extern void utc_Dali_ConnectionTracker_cleanup(void);
+
 //Vector
 extern int UtcDaliVectorResizeP(void);
 extern int UtcDaliVectorResizeP2(void);
@@ -1283,7 +1316,22 @@ extern int UtcDaliConstraintMethodFunctionCloneP(void);
 extern int UtcDaliSamplingFilterModeP(void);
 extern int UtcDaliSamplingWrapModeP(void);
 
+extern int UtcDaliConnectionTrackerConstructorP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllN(void);
+extern int UtcDaliConnectionTrackerGetConnectionCountP(void);
+extern int UtcDaliConnectionTrackerSignalConnectedP(void);
+extern int UtcDaliConnectionTrackerSignalDisconnectP(void);
+extern int UtcDaliConnectionTrackerInterfaceConstructorP(void);
+
 testcase tc_array[] = {
+  {"UtcDaliConnectionTrackerConstructorP", UtcDaliConnectionTrackerConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllP", UtcDaliConnectionTrackerDisconnectAllP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllN", UtcDaliConnectionTrackerDisconnectAllN, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerGetConnectionCountP", UtcDaliConnectionTrackerGetConnectionCountP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalConnectedP", UtcDaliConnectionTrackerSignalConnectedP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalDisconnectP", UtcDaliConnectionTrackerSignalDisconnectP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerInterfaceConstructorP", UtcDaliConnectionTrackerInterfaceConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
   {"UtcDaliPropertyNotificationConstructorP", UtcDaliPropertyNotificationConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationCopyConstructorP", UtcDaliPropertyNotificationCopyConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationOperatorAssignmentP", UtcDaliPropertyNotificationOperatorAssignmentP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
@@ -1456,7 +1504,8 @@ testcase tc_array[] = {
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
-  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup},
+  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
+  {"UtcDaliAnimationAnimateToP", UtcDaliAnimationAnimateToP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliRenderTaskListCreateTaskAndRemoveTaskP", UtcDaliRenderTaskListCreateTaskAndRemoveTaskP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListGetTaskAndGetTaskCountP", UtcDaliRenderTaskListGetTaskAndGetTaskCountP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListDownCastP", UtcDaliRenderTaskListDownCastP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
@@ -1730,6 +1779,8 @@ testcase tc_array[] = {
   {"UtcDaliTypeRegistryTypeRegistrationForNamedTypeP", UtcDaliTypeRegistryTypeRegistrationForNamedTypeP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP", UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeActionP", UtcDaliTypeRegistryTypeActionP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationP", UtcDaliTypeRegistryChildPropertyRegistrationP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationN", UtcDaliTypeRegistryChildPropertyRegistrationN, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliPropertyWithPropertyIndexP", UtcDaliPropertyWithPropertyIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyAndComponentIndexP", UtcDaliPropertyWithPropertyAndComponentIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyNameP", UtcDaliPropertyWithPropertyNameP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
@@ -1760,6 +1811,8 @@ testcase tc_array[] = {
   {"UtcDaliCallbackConstructExecuteParam2ReturnP", UtcDaliCallbackConstructExecuteParam2ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3P", UtcDaliCallbackConstructExecuteParam3P, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3ReturnP",  UtcDaliCallbackConstructExecuteParam3ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
+  {"UtcDaliCallbackFunctorDelegateNewP", UtcDaliCallbackFunctorDelegateNewP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
+  {"UtcDaliCallbackFunctorDelegateExecuteP", UtcDaliCallbackFunctorDelegateExecuteP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
   {"UtcDaliStageConstructorP", UtcDaliStageConstructorP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentP", UtcDaliStageGetCurrentP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentN", UtcDaliStageGetCurrentN, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
@@ -1921,6 +1974,26 @@ testcase tc_array[] = {
   {"UtcDaliCameraActorConstructorP", UtcDaliCameraActorConstructorP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP", UtcDaliCameraActorNewP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP2", UtcDaliCameraActorNewP2, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
+  {"UtcDaliCustomActorImplRequiresHoverEventsP", UtcDaliCustomActorImplRequiresHoverEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyEventP", UtcDaliCustomActorImplOnKeyEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusGainedP", UtcDaliCustomActorImplOnKeyInputFocusGainedP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusLostP", UtcDaliCustomActorImplOnKeyInputFocusLostP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnWheelEventP", UtcDaliCustomActorImplOnWheelEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnTouchEventP", UtcDaliCustomActorImplOnTouchEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresWheelEventsP", UtcDaliCustomActorImplRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresTouchEventsP", UtcDaliCustomActorImplRequiresTouchEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSelfP", UtcDaliCustomActorImplSelfP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSetRequiresWheelEventsP", UtcDaliCustomActorImplSetRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCustomActorImplWithBoolParamP", UtcDaliCustomActorImplCustomActorImplWithBoolParamP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutRequestP", UtcDaliCustomActorImplRelayoutRequestP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetExtensionP", UtcDaliCustomActorImplGetExtensionP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnPropertySetP", UtcDaliCustomActorImplOnPropertySetP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnSizeAnimationP", UtcDaliCustomActorImplOnSizeAnimationP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnHoverEventP", UtcDaliCustomActorImplOnHoverEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetHeightForWidthBaseP", UtcDaliCustomActorImplGetHeightForWidthBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetWidthForHeightBaseP", UtcDaliCustomActorImplGetWidthForHeightBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCalculateChildSizeBaseP", UtcDaliCustomActorImplCalculateChildSizeBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP", UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplGetNaturalSizeP", UtcDaliCustomActorImplGetNaturalSizeP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildAddP", UtcDaliCustomActorImplOnChildAddP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildRemoveP", UtcDaliCustomActorImplOnChildRemoveP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
@@ -2028,6 +2101,8 @@ testcase tc_array[] = {
   {"UtcDaliActorUnparentAndResetP", UtcDaliActorUnparentAndResetP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorSetInheritPositionP", UtcDaliActorSetInheritPositionP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorIsPositionInheritedP", UtcDaliActorIsPositionInheritedP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorRemoveRendererN", UtcDaliActorRemoveRendererN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorGetRendererCountN", UtcDaliActorGetRendererCountN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliBaseObjectGetTypeNameInfoForActorP", UtcDaliBaseObjectGetTypeNameInfoForActorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForAnimationP", UtcDaliBaseObjectGetTypeNameInfoForAnimationP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP", UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
@@ -2110,6 +2185,7 @@ testcase tc_array[] = {
   {"UtcDaliAngleAxisConstructorP2", UtcDaliAngleAxisConstructorP2, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisConstructorP3", UtcDaliAngleAxisConstructorP3, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisEqualP", UtcDaliAngleAxisEqualP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
+  {"UtcDaliAngleAxisOutputStreamOpeatorP", UtcDaliAngleAxisOutputStreamOpeatorP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliDegreeConstructorFloatP", UtcDaliDegreeConstructorFloatP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeConstructorRadianP", UtcDaliDegreeConstructorRadianP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeOperatorEqualP", UtcDaliDegreeOperatorEqualP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
index 3e41842..1504923 100755 (executable)
@@ -242,6 +242,9 @@ extern int UtcDaliTypeRegistrySignalConnectorTypeN(void);
 extern int UtcDaliTypeRegistryTypeRegistrationForNamedTypeP(void);
 extern int UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP(void);
 extern int UtcDaliTypeRegistryTypeActionP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationN(void);
+
 
 //property
 extern int UtcDaliPropertyWithPropertyIndexP(void);
@@ -280,6 +283,8 @@ extern int UtcDaliCallbackConstructExecuteParam2P(void);
 extern int UtcDaliCallbackConstructExecuteParam2ReturnP(void);
 extern int UtcDaliCallbackConstructExecuteParam3P(void);
 extern int UtcDaliCallbackConstructExecuteParam3ReturnP(void);
+extern int UtcDaliCallbackFunctorDelegateNewP(void);
+extern int UtcDaliCallbackFunctorDelegateExecuteP(void);
 
 //stage
 extern int UtcDaliStageConstructorP(void);
@@ -497,6 +502,7 @@ extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP(void);
+extern int UtcDaliAnimationAnimateToP(void);
 
 //render-task-list
 extern int UtcDaliRenderTaskListCreateTaskAndRemoveTaskP(void);
@@ -839,6 +845,26 @@ extern int UtcDaliCameraActorNewP(void);
 extern int UtcDaliCameraActorNewP2(void);
 
 //CustomActorImpl
+extern int UtcDaliCustomActorImplRequiresHoverEventsP(void);
+extern int UtcDaliCustomActorImplOnKeyEventP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusGainedP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusLostP(void);
+extern int UtcDaliCustomActorImplOnWheelEventP(void);
+extern int UtcDaliCustomActorImplOnTouchEventP(void);
+extern int UtcDaliCustomActorImplRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplRequiresTouchEventsP(void);
+extern int UtcDaliCustomActorImplSelfP(void);
+extern int UtcDaliCustomActorImplSetRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplCustomActorImplWithBoolParamP(void);
+extern int UtcDaliCustomActorImplRelayoutRequestP(void);
+extern int UtcDaliCustomActorImplGetExtensionP(void);
+extern int UtcDaliCustomActorImplOnPropertySetP(void);
+extern int UtcDaliCustomActorImplOnSizeAnimationP(void);
+extern int UtcDaliCustomActorImplOnHoverEventP(void);
+extern int UtcDaliCustomActorImplGetHeightForWidthBaseP(void);
+extern int UtcDaliCustomActorImplGetWidthForHeightBaseP(void);
+extern int UtcDaliCustomActorImplCalculateChildSizeBaseP(void);
+extern int UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP(void);
 extern int UtcDaliCustomActorImplGetNaturalSizeP(void);
 extern int UtcDaliCustomActorImplOnChildAddP(void);
 extern int UtcDaliCustomActorImplOnChildRemoveP(void);
@@ -948,6 +974,8 @@ extern int UtcDaliActorRemoveP(void);
 extern int UtcDaliActorUnparentAndResetP(void);
 extern int UtcDaliActorSetInheritPositionP(void);
 extern int UtcDaliActorIsPositionInheritedP(void);
+extern int UtcDaliActorRemoveRendererN(void);
+extern int UtcDaliActorGetRendererCountN(void);
 
 //base-object
 extern int UtcDaliBaseObjectGetTypeNameInfoForActorP(void);
@@ -1040,6 +1068,7 @@ extern int UtcDaliAngleAxisConstructorP(void);
 extern int UtcDaliAngleAxisConstructorP2(void);
 extern int UtcDaliAngleAxisConstructorP3(void);
 extern int UtcDaliAngleAxisEqualP(void);
+extern int UtcDaliAngleAxisOutputStreamOpeatorP(void);
 
 //degree
 extern int UtcDaliDegreeConstructorFloatP(void);
@@ -1237,6 +1266,10 @@ extern void utc_Dali_ConstraintFunction_cleanup(void);
 extern void utc_Dali_Sampling_startup(void);
 extern void utc_Dali_Sampling_cleanup(void);
 
+//ConnectionTracker
+extern void utc_Dali_ConnectionTracker_startup(void);
+extern void utc_Dali_ConnectionTracker_cleanup(void);
+
 //Vector
 extern int UtcDaliVectorResizeP(void);
 extern int UtcDaliVectorResizeP2(void);
@@ -1283,7 +1316,22 @@ extern int UtcDaliConstraintMethodFunctionCloneP(void);
 extern int UtcDaliSamplingFilterModeP(void);
 extern int UtcDaliSamplingWrapModeP(void);
 
+extern int UtcDaliConnectionTrackerConstructorP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllN(void);
+extern int UtcDaliConnectionTrackerGetConnectionCountP(void);
+extern int UtcDaliConnectionTrackerSignalConnectedP(void);
+extern int UtcDaliConnectionTrackerSignalDisconnectP(void);
+extern int UtcDaliConnectionTrackerInterfaceConstructorP(void);
+
 testcase tc_array[] = {
+  {"UtcDaliConnectionTrackerConstructorP", UtcDaliConnectionTrackerConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllP", UtcDaliConnectionTrackerDisconnectAllP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllN", UtcDaliConnectionTrackerDisconnectAllN, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerGetConnectionCountP", UtcDaliConnectionTrackerGetConnectionCountP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalConnectedP", UtcDaliConnectionTrackerSignalConnectedP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalDisconnectP", UtcDaliConnectionTrackerSignalDisconnectP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerInterfaceConstructorP", UtcDaliConnectionTrackerInterfaceConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
   {"UtcDaliPropertyNotificationConstructorP", UtcDaliPropertyNotificationConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationCopyConstructorP", UtcDaliPropertyNotificationCopyConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationOperatorAssignmentP", UtcDaliPropertyNotificationOperatorAssignmentP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
@@ -1456,7 +1504,8 @@ testcase tc_array[] = {
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
-  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup},
+  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
+  {"UtcDaliAnimationAnimateToP", UtcDaliAnimationAnimateToP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliRenderTaskListCreateTaskAndRemoveTaskP", UtcDaliRenderTaskListCreateTaskAndRemoveTaskP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListGetTaskAndGetTaskCountP", UtcDaliRenderTaskListGetTaskAndGetTaskCountP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListDownCastP", UtcDaliRenderTaskListDownCastP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
@@ -1730,6 +1779,8 @@ testcase tc_array[] = {
   {"UtcDaliTypeRegistryTypeRegistrationForNamedTypeP", UtcDaliTypeRegistryTypeRegistrationForNamedTypeP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP", UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeActionP", UtcDaliTypeRegistryTypeActionP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationP", UtcDaliTypeRegistryChildPropertyRegistrationP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationN", UtcDaliTypeRegistryChildPropertyRegistrationN, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliPropertyWithPropertyIndexP", UtcDaliPropertyWithPropertyIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyAndComponentIndexP", UtcDaliPropertyWithPropertyAndComponentIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyNameP", UtcDaliPropertyWithPropertyNameP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
@@ -1760,6 +1811,8 @@ testcase tc_array[] = {
   {"UtcDaliCallbackConstructExecuteParam2ReturnP", UtcDaliCallbackConstructExecuteParam2ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3P", UtcDaliCallbackConstructExecuteParam3P, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3ReturnP",  UtcDaliCallbackConstructExecuteParam3ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
+  {"UtcDaliCallbackFunctorDelegateNewP", UtcDaliCallbackFunctorDelegateNewP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
+  {"UtcDaliCallbackFunctorDelegateExecuteP", UtcDaliCallbackFunctorDelegateExecuteP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
   {"UtcDaliStageConstructorP", UtcDaliStageConstructorP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentP", UtcDaliStageGetCurrentP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentN", UtcDaliStageGetCurrentN, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
@@ -1921,6 +1974,26 @@ testcase tc_array[] = {
   {"UtcDaliCameraActorConstructorP", UtcDaliCameraActorConstructorP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP", UtcDaliCameraActorNewP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP2", UtcDaliCameraActorNewP2, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
+  {"UtcDaliCustomActorImplRequiresHoverEventsP", UtcDaliCustomActorImplRequiresHoverEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyEventP", UtcDaliCustomActorImplOnKeyEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusGainedP", UtcDaliCustomActorImplOnKeyInputFocusGainedP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusLostP", UtcDaliCustomActorImplOnKeyInputFocusLostP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnWheelEventP", UtcDaliCustomActorImplOnWheelEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnTouchEventP", UtcDaliCustomActorImplOnTouchEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresWheelEventsP", UtcDaliCustomActorImplRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresTouchEventsP", UtcDaliCustomActorImplRequiresTouchEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSelfP", UtcDaliCustomActorImplSelfP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSetRequiresWheelEventsP", UtcDaliCustomActorImplSetRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCustomActorImplWithBoolParamP", UtcDaliCustomActorImplCustomActorImplWithBoolParamP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutRequestP", UtcDaliCustomActorImplRelayoutRequestP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetExtensionP", UtcDaliCustomActorImplGetExtensionP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnPropertySetP", UtcDaliCustomActorImplOnPropertySetP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnSizeAnimationP", UtcDaliCustomActorImplOnSizeAnimationP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnHoverEventP", UtcDaliCustomActorImplOnHoverEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetHeightForWidthBaseP", UtcDaliCustomActorImplGetHeightForWidthBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetWidthForHeightBaseP", UtcDaliCustomActorImplGetWidthForHeightBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCalculateChildSizeBaseP", UtcDaliCustomActorImplCalculateChildSizeBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP", UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplGetNaturalSizeP", UtcDaliCustomActorImplGetNaturalSizeP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildAddP", UtcDaliCustomActorImplOnChildAddP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildRemoveP", UtcDaliCustomActorImplOnChildRemoveP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
@@ -2028,6 +2101,8 @@ testcase tc_array[] = {
   {"UtcDaliActorUnparentAndResetP", UtcDaliActorUnparentAndResetP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorSetInheritPositionP", UtcDaliActorSetInheritPositionP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorIsPositionInheritedP", UtcDaliActorIsPositionInheritedP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorRemoveRendererN", UtcDaliActorRemoveRendererN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorGetRendererCountN", UtcDaliActorGetRendererCountN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliBaseObjectGetTypeNameInfoForActorP", UtcDaliBaseObjectGetTypeNameInfoForActorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForAnimationP", UtcDaliBaseObjectGetTypeNameInfoForAnimationP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP", UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
@@ -2110,6 +2185,7 @@ testcase tc_array[] = {
   {"UtcDaliAngleAxisConstructorP2", UtcDaliAngleAxisConstructorP2, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisConstructorP3", UtcDaliAngleAxisConstructorP3, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisEqualP", UtcDaliAngleAxisEqualP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
+  {"UtcDaliAngleAxisOutputStreamOpeatorP", UtcDaliAngleAxisOutputStreamOpeatorP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliDegreeConstructorFloatP", UtcDaliDegreeConstructorFloatP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeConstructorRadianP", UtcDaliDegreeConstructorRadianP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeOperatorEqualP", UtcDaliDegreeOperatorEqualP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
index 3e41842..1504923 100755 (executable)
@@ -242,6 +242,9 @@ extern int UtcDaliTypeRegistrySignalConnectorTypeN(void);
 extern int UtcDaliTypeRegistryTypeRegistrationForNamedTypeP(void);
 extern int UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP(void);
 extern int UtcDaliTypeRegistryTypeActionP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationN(void);
+
 
 //property
 extern int UtcDaliPropertyWithPropertyIndexP(void);
@@ -280,6 +283,8 @@ extern int UtcDaliCallbackConstructExecuteParam2P(void);
 extern int UtcDaliCallbackConstructExecuteParam2ReturnP(void);
 extern int UtcDaliCallbackConstructExecuteParam3P(void);
 extern int UtcDaliCallbackConstructExecuteParam3ReturnP(void);
+extern int UtcDaliCallbackFunctorDelegateNewP(void);
+extern int UtcDaliCallbackFunctorDelegateExecuteP(void);
 
 //stage
 extern int UtcDaliStageConstructorP(void);
@@ -497,6 +502,7 @@ extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP(void);
+extern int UtcDaliAnimationAnimateToP(void);
 
 //render-task-list
 extern int UtcDaliRenderTaskListCreateTaskAndRemoveTaskP(void);
@@ -839,6 +845,26 @@ extern int UtcDaliCameraActorNewP(void);
 extern int UtcDaliCameraActorNewP2(void);
 
 //CustomActorImpl
+extern int UtcDaliCustomActorImplRequiresHoverEventsP(void);
+extern int UtcDaliCustomActorImplOnKeyEventP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusGainedP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusLostP(void);
+extern int UtcDaliCustomActorImplOnWheelEventP(void);
+extern int UtcDaliCustomActorImplOnTouchEventP(void);
+extern int UtcDaliCustomActorImplRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplRequiresTouchEventsP(void);
+extern int UtcDaliCustomActorImplSelfP(void);
+extern int UtcDaliCustomActorImplSetRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplCustomActorImplWithBoolParamP(void);
+extern int UtcDaliCustomActorImplRelayoutRequestP(void);
+extern int UtcDaliCustomActorImplGetExtensionP(void);
+extern int UtcDaliCustomActorImplOnPropertySetP(void);
+extern int UtcDaliCustomActorImplOnSizeAnimationP(void);
+extern int UtcDaliCustomActorImplOnHoverEventP(void);
+extern int UtcDaliCustomActorImplGetHeightForWidthBaseP(void);
+extern int UtcDaliCustomActorImplGetWidthForHeightBaseP(void);
+extern int UtcDaliCustomActorImplCalculateChildSizeBaseP(void);
+extern int UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP(void);
 extern int UtcDaliCustomActorImplGetNaturalSizeP(void);
 extern int UtcDaliCustomActorImplOnChildAddP(void);
 extern int UtcDaliCustomActorImplOnChildRemoveP(void);
@@ -948,6 +974,8 @@ extern int UtcDaliActorRemoveP(void);
 extern int UtcDaliActorUnparentAndResetP(void);
 extern int UtcDaliActorSetInheritPositionP(void);
 extern int UtcDaliActorIsPositionInheritedP(void);
+extern int UtcDaliActorRemoveRendererN(void);
+extern int UtcDaliActorGetRendererCountN(void);
 
 //base-object
 extern int UtcDaliBaseObjectGetTypeNameInfoForActorP(void);
@@ -1040,6 +1068,7 @@ extern int UtcDaliAngleAxisConstructorP(void);
 extern int UtcDaliAngleAxisConstructorP2(void);
 extern int UtcDaliAngleAxisConstructorP3(void);
 extern int UtcDaliAngleAxisEqualP(void);
+extern int UtcDaliAngleAxisOutputStreamOpeatorP(void);
 
 //degree
 extern int UtcDaliDegreeConstructorFloatP(void);
@@ -1237,6 +1266,10 @@ extern void utc_Dali_ConstraintFunction_cleanup(void);
 extern void utc_Dali_Sampling_startup(void);
 extern void utc_Dali_Sampling_cleanup(void);
 
+//ConnectionTracker
+extern void utc_Dali_ConnectionTracker_startup(void);
+extern void utc_Dali_ConnectionTracker_cleanup(void);
+
 //Vector
 extern int UtcDaliVectorResizeP(void);
 extern int UtcDaliVectorResizeP2(void);
@@ -1283,7 +1316,22 @@ extern int UtcDaliConstraintMethodFunctionCloneP(void);
 extern int UtcDaliSamplingFilterModeP(void);
 extern int UtcDaliSamplingWrapModeP(void);
 
+extern int UtcDaliConnectionTrackerConstructorP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllN(void);
+extern int UtcDaliConnectionTrackerGetConnectionCountP(void);
+extern int UtcDaliConnectionTrackerSignalConnectedP(void);
+extern int UtcDaliConnectionTrackerSignalDisconnectP(void);
+extern int UtcDaliConnectionTrackerInterfaceConstructorP(void);
+
 testcase tc_array[] = {
+  {"UtcDaliConnectionTrackerConstructorP", UtcDaliConnectionTrackerConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllP", UtcDaliConnectionTrackerDisconnectAllP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllN", UtcDaliConnectionTrackerDisconnectAllN, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerGetConnectionCountP", UtcDaliConnectionTrackerGetConnectionCountP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalConnectedP", UtcDaliConnectionTrackerSignalConnectedP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalDisconnectP", UtcDaliConnectionTrackerSignalDisconnectP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerInterfaceConstructorP", UtcDaliConnectionTrackerInterfaceConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
   {"UtcDaliPropertyNotificationConstructorP", UtcDaliPropertyNotificationConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationCopyConstructorP", UtcDaliPropertyNotificationCopyConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationOperatorAssignmentP", UtcDaliPropertyNotificationOperatorAssignmentP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
@@ -1456,7 +1504,8 @@ testcase tc_array[] = {
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
-  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup},
+  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
+  {"UtcDaliAnimationAnimateToP", UtcDaliAnimationAnimateToP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliRenderTaskListCreateTaskAndRemoveTaskP", UtcDaliRenderTaskListCreateTaskAndRemoveTaskP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListGetTaskAndGetTaskCountP", UtcDaliRenderTaskListGetTaskAndGetTaskCountP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListDownCastP", UtcDaliRenderTaskListDownCastP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
@@ -1730,6 +1779,8 @@ testcase tc_array[] = {
   {"UtcDaliTypeRegistryTypeRegistrationForNamedTypeP", UtcDaliTypeRegistryTypeRegistrationForNamedTypeP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP", UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeActionP", UtcDaliTypeRegistryTypeActionP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationP", UtcDaliTypeRegistryChildPropertyRegistrationP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationN", UtcDaliTypeRegistryChildPropertyRegistrationN, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliPropertyWithPropertyIndexP", UtcDaliPropertyWithPropertyIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyAndComponentIndexP", UtcDaliPropertyWithPropertyAndComponentIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyNameP", UtcDaliPropertyWithPropertyNameP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
@@ -1760,6 +1811,8 @@ testcase tc_array[] = {
   {"UtcDaliCallbackConstructExecuteParam2ReturnP", UtcDaliCallbackConstructExecuteParam2ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3P", UtcDaliCallbackConstructExecuteParam3P, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3ReturnP",  UtcDaliCallbackConstructExecuteParam3ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
+  {"UtcDaliCallbackFunctorDelegateNewP", UtcDaliCallbackFunctorDelegateNewP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
+  {"UtcDaliCallbackFunctorDelegateExecuteP", UtcDaliCallbackFunctorDelegateExecuteP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
   {"UtcDaliStageConstructorP", UtcDaliStageConstructorP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentP", UtcDaliStageGetCurrentP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentN", UtcDaliStageGetCurrentN, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
@@ -1921,6 +1974,26 @@ testcase tc_array[] = {
   {"UtcDaliCameraActorConstructorP", UtcDaliCameraActorConstructorP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP", UtcDaliCameraActorNewP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP2", UtcDaliCameraActorNewP2, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
+  {"UtcDaliCustomActorImplRequiresHoverEventsP", UtcDaliCustomActorImplRequiresHoverEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyEventP", UtcDaliCustomActorImplOnKeyEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusGainedP", UtcDaliCustomActorImplOnKeyInputFocusGainedP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusLostP", UtcDaliCustomActorImplOnKeyInputFocusLostP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnWheelEventP", UtcDaliCustomActorImplOnWheelEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnTouchEventP", UtcDaliCustomActorImplOnTouchEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresWheelEventsP", UtcDaliCustomActorImplRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresTouchEventsP", UtcDaliCustomActorImplRequiresTouchEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSelfP", UtcDaliCustomActorImplSelfP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSetRequiresWheelEventsP", UtcDaliCustomActorImplSetRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCustomActorImplWithBoolParamP", UtcDaliCustomActorImplCustomActorImplWithBoolParamP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutRequestP", UtcDaliCustomActorImplRelayoutRequestP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetExtensionP", UtcDaliCustomActorImplGetExtensionP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnPropertySetP", UtcDaliCustomActorImplOnPropertySetP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnSizeAnimationP", UtcDaliCustomActorImplOnSizeAnimationP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnHoverEventP", UtcDaliCustomActorImplOnHoverEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetHeightForWidthBaseP", UtcDaliCustomActorImplGetHeightForWidthBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetWidthForHeightBaseP", UtcDaliCustomActorImplGetWidthForHeightBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCalculateChildSizeBaseP", UtcDaliCustomActorImplCalculateChildSizeBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP", UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplGetNaturalSizeP", UtcDaliCustomActorImplGetNaturalSizeP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildAddP", UtcDaliCustomActorImplOnChildAddP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildRemoveP", UtcDaliCustomActorImplOnChildRemoveP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
@@ -2028,6 +2101,8 @@ testcase tc_array[] = {
   {"UtcDaliActorUnparentAndResetP", UtcDaliActorUnparentAndResetP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorSetInheritPositionP", UtcDaliActorSetInheritPositionP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorIsPositionInheritedP", UtcDaliActorIsPositionInheritedP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorRemoveRendererN", UtcDaliActorRemoveRendererN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorGetRendererCountN", UtcDaliActorGetRendererCountN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliBaseObjectGetTypeNameInfoForActorP", UtcDaliBaseObjectGetTypeNameInfoForActorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForAnimationP", UtcDaliBaseObjectGetTypeNameInfoForAnimationP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP", UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
@@ -2110,6 +2185,7 @@ testcase tc_array[] = {
   {"UtcDaliAngleAxisConstructorP2", UtcDaliAngleAxisConstructorP2, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisConstructorP3", UtcDaliAngleAxisConstructorP3, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisEqualP", UtcDaliAngleAxisEqualP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
+  {"UtcDaliAngleAxisOutputStreamOpeatorP", UtcDaliAngleAxisOutputStreamOpeatorP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliDegreeConstructorFloatP", UtcDaliDegreeConstructorFloatP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeConstructorRadianP", UtcDaliDegreeConstructorRadianP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeOperatorEqualP", UtcDaliDegreeOperatorEqualP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
index 3e41842..1504923 100755 (executable)
@@ -242,6 +242,9 @@ extern int UtcDaliTypeRegistrySignalConnectorTypeN(void);
 extern int UtcDaliTypeRegistryTypeRegistrationForNamedTypeP(void);
 extern int UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP(void);
 extern int UtcDaliTypeRegistryTypeActionP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationP(void);
+extern int UtcDaliTypeRegistryChildPropertyRegistrationN(void);
+
 
 //property
 extern int UtcDaliPropertyWithPropertyIndexP(void);
@@ -280,6 +283,8 @@ extern int UtcDaliCallbackConstructExecuteParam2P(void);
 extern int UtcDaliCallbackConstructExecuteParam2ReturnP(void);
 extern int UtcDaliCallbackConstructExecuteParam3P(void);
 extern int UtcDaliCallbackConstructExecuteParam3ReturnP(void);
+extern int UtcDaliCallbackFunctorDelegateNewP(void);
+extern int UtcDaliCallbackFunctorDelegateExecuteP(void);
 
 //stage
 extern int UtcDaliStageConstructorP(void);
@@ -497,6 +502,7 @@ extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP(void);
 extern int UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP(void);
+extern int UtcDaliAnimationAnimateToP(void);
 
 //render-task-list
 extern int UtcDaliRenderTaskListCreateTaskAndRemoveTaskP(void);
@@ -839,6 +845,26 @@ extern int UtcDaliCameraActorNewP(void);
 extern int UtcDaliCameraActorNewP2(void);
 
 //CustomActorImpl
+extern int UtcDaliCustomActorImplRequiresHoverEventsP(void);
+extern int UtcDaliCustomActorImplOnKeyEventP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusGainedP(void);
+extern int UtcDaliCustomActorImplOnKeyInputFocusLostP(void);
+extern int UtcDaliCustomActorImplOnWheelEventP(void);
+extern int UtcDaliCustomActorImplOnTouchEventP(void);
+extern int UtcDaliCustomActorImplRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplRequiresTouchEventsP(void);
+extern int UtcDaliCustomActorImplSelfP(void);
+extern int UtcDaliCustomActorImplSetRequiresWheelEventsP(void);
+extern int UtcDaliCustomActorImplCustomActorImplWithBoolParamP(void);
+extern int UtcDaliCustomActorImplRelayoutRequestP(void);
+extern int UtcDaliCustomActorImplGetExtensionP(void);
+extern int UtcDaliCustomActorImplOnPropertySetP(void);
+extern int UtcDaliCustomActorImplOnSizeAnimationP(void);
+extern int UtcDaliCustomActorImplOnHoverEventP(void);
+extern int UtcDaliCustomActorImplGetHeightForWidthBaseP(void);
+extern int UtcDaliCustomActorImplGetWidthForHeightBaseP(void);
+extern int UtcDaliCustomActorImplCalculateChildSizeBaseP(void);
+extern int UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP(void);
 extern int UtcDaliCustomActorImplGetNaturalSizeP(void);
 extern int UtcDaliCustomActorImplOnChildAddP(void);
 extern int UtcDaliCustomActorImplOnChildRemoveP(void);
@@ -948,6 +974,8 @@ extern int UtcDaliActorRemoveP(void);
 extern int UtcDaliActorUnparentAndResetP(void);
 extern int UtcDaliActorSetInheritPositionP(void);
 extern int UtcDaliActorIsPositionInheritedP(void);
+extern int UtcDaliActorRemoveRendererN(void);
+extern int UtcDaliActorGetRendererCountN(void);
 
 //base-object
 extern int UtcDaliBaseObjectGetTypeNameInfoForActorP(void);
@@ -1040,6 +1068,7 @@ extern int UtcDaliAngleAxisConstructorP(void);
 extern int UtcDaliAngleAxisConstructorP2(void);
 extern int UtcDaliAngleAxisConstructorP3(void);
 extern int UtcDaliAngleAxisEqualP(void);
+extern int UtcDaliAngleAxisOutputStreamOpeatorP(void);
 
 //degree
 extern int UtcDaliDegreeConstructorFloatP(void);
@@ -1237,6 +1266,10 @@ extern void utc_Dali_ConstraintFunction_cleanup(void);
 extern void utc_Dali_Sampling_startup(void);
 extern void utc_Dali_Sampling_cleanup(void);
 
+//ConnectionTracker
+extern void utc_Dali_ConnectionTracker_startup(void);
+extern void utc_Dali_ConnectionTracker_cleanup(void);
+
 //Vector
 extern int UtcDaliVectorResizeP(void);
 extern int UtcDaliVectorResizeP2(void);
@@ -1283,7 +1316,22 @@ extern int UtcDaliConstraintMethodFunctionCloneP(void);
 extern int UtcDaliSamplingFilterModeP(void);
 extern int UtcDaliSamplingWrapModeP(void);
 
+extern int UtcDaliConnectionTrackerConstructorP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllP(void);
+extern int UtcDaliConnectionTrackerDisconnectAllN(void);
+extern int UtcDaliConnectionTrackerGetConnectionCountP(void);
+extern int UtcDaliConnectionTrackerSignalConnectedP(void);
+extern int UtcDaliConnectionTrackerSignalDisconnectP(void);
+extern int UtcDaliConnectionTrackerInterfaceConstructorP(void);
+
 testcase tc_array[] = {
+  {"UtcDaliConnectionTrackerConstructorP", UtcDaliConnectionTrackerConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllP", UtcDaliConnectionTrackerDisconnectAllP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerDisconnectAllN", UtcDaliConnectionTrackerDisconnectAllN, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerGetConnectionCountP", UtcDaliConnectionTrackerGetConnectionCountP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalConnectedP", UtcDaliConnectionTrackerSignalConnectedP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerSignalDisconnectP", UtcDaliConnectionTrackerSignalDisconnectP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
+  {"UtcDaliConnectionTrackerInterfaceConstructorP", UtcDaliConnectionTrackerInterfaceConstructorP, utc_Dali_ConnectionTracker_startup, utc_Dali_ConnectionTracker_cleanup},
   {"UtcDaliPropertyNotificationConstructorP", UtcDaliPropertyNotificationConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationCopyConstructorP", UtcDaliPropertyNotificationCopyConstructorP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
   {"UtcDaliPropertyNotificationOperatorAssignmentP", UtcDaliPropertyNotificationOperatorAssignmentP, utc_Dali_PropertyNotification_startup, utc_Dali_PropertyNotification_cleanup},
@@ -1456,7 +1504,8 @@ testcase tc_array[] = {
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP", UtcDaliAnimationAnimateBetweenKeyframesAlphafunctionInterpolationP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationWithTimePeriodP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
-  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup},
+  {"UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP", UtcDaliAnimationAnimateBetweenKeyframesInterpolationTimePeriodAlphaFuncP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
+  {"UtcDaliAnimationAnimateToP", UtcDaliAnimationAnimateToP, utc_Dali_Animation_startup, utc_Dali_Animation_cleanup},
   {"UtcDaliRenderTaskListCreateTaskAndRemoveTaskP", UtcDaliRenderTaskListCreateTaskAndRemoveTaskP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListGetTaskAndGetTaskCountP", UtcDaliRenderTaskListGetTaskAndGetTaskCountP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
   {"UtcDaliRenderTaskListDownCastP", UtcDaliRenderTaskListDownCastP, utc_Dali_rendertasklist_startup, utc_Dali_rendertasklist_cleanup},
@@ -1730,6 +1779,8 @@ testcase tc_array[] = {
   {"UtcDaliTypeRegistryTypeRegistrationForNamedTypeP", UtcDaliTypeRegistryTypeRegistrationForNamedTypeP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP", UtcDaliTypeRegistryTypeRegistrationNotCallingCreateOnInitP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliTypeRegistryTypeActionP", UtcDaliTypeRegistryTypeActionP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationP", UtcDaliTypeRegistryChildPropertyRegistrationP, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
+  {"UtcDaliTypeRegistryChildPropertyRegistrationN", UtcDaliTypeRegistryChildPropertyRegistrationN, utc_Dali_TypeRegistry_startup, utc_Dali_TypeRegistry_cleanup},
   {"UtcDaliPropertyWithPropertyIndexP", UtcDaliPropertyWithPropertyIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyAndComponentIndexP", UtcDaliPropertyWithPropertyAndComponentIndexP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
   {"UtcDaliPropertyWithPropertyNameP", UtcDaliPropertyWithPropertyNameP, utc_Dali_Property_startup, utc_Dali_Property_cleanup},
@@ -1760,6 +1811,8 @@ testcase tc_array[] = {
   {"UtcDaliCallbackConstructExecuteParam2ReturnP", UtcDaliCallbackConstructExecuteParam2ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3P", UtcDaliCallbackConstructExecuteParam3P, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
   {"UtcDaliCallbackConstructExecuteParam3ReturnP",  UtcDaliCallbackConstructExecuteParam3ReturnP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup},
+  {"UtcDaliCallbackFunctorDelegateNewP", UtcDaliCallbackFunctorDelegateNewP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
+  {"UtcDaliCallbackFunctorDelegateExecuteP", UtcDaliCallbackFunctorDelegateExecuteP, utc_Dali_Callback_startup, utc_Dali_Callback_cleanup },
   {"UtcDaliStageConstructorP", UtcDaliStageConstructorP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentP", UtcDaliStageGetCurrentP, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
   {"UtcDaliStageGetCurrentN", UtcDaliStageGetCurrentN, utc_Dali_Stage_startup, utc_Dali_Stage_cleanup},
@@ -1921,6 +1974,26 @@ testcase tc_array[] = {
   {"UtcDaliCameraActorConstructorP", UtcDaliCameraActorConstructorP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP", UtcDaliCameraActorNewP, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
   {"UtcDaliCameraActorNewP2", UtcDaliCameraActorNewP2, utc_Dali_CameraActor_startup, utc_Dali_CameraActor_cleanup},
+  {"UtcDaliCustomActorImplRequiresHoverEventsP", UtcDaliCustomActorImplRequiresHoverEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyEventP", UtcDaliCustomActorImplOnKeyEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusGainedP", UtcDaliCustomActorImplOnKeyInputFocusGainedP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnKeyInputFocusLostP", UtcDaliCustomActorImplOnKeyInputFocusLostP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnWheelEventP", UtcDaliCustomActorImplOnWheelEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnTouchEventP", UtcDaliCustomActorImplOnTouchEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresWheelEventsP", UtcDaliCustomActorImplRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRequiresTouchEventsP", UtcDaliCustomActorImplRequiresTouchEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSelfP", UtcDaliCustomActorImplSelfP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplSetRequiresWheelEventsP", UtcDaliCustomActorImplSetRequiresWheelEventsP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCustomActorImplWithBoolParamP", UtcDaliCustomActorImplCustomActorImplWithBoolParamP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutRequestP", UtcDaliCustomActorImplRelayoutRequestP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetExtensionP", UtcDaliCustomActorImplGetExtensionP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnPropertySetP", UtcDaliCustomActorImplOnPropertySetP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnSizeAnimationP", UtcDaliCustomActorImplOnSizeAnimationP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplOnHoverEventP", UtcDaliCustomActorImplOnHoverEventP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetHeightForWidthBaseP", UtcDaliCustomActorImplGetHeightForWidthBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplGetWidthForHeightBaseP", UtcDaliCustomActorImplGetWidthForHeightBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplCalculateChildSizeBaseP", UtcDaliCustomActorImplCalculateChildSizeBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
+  {"UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP", UtcDaliCustomActorImplRelayoutDependentOnChildrenBaseP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplGetNaturalSizeP", UtcDaliCustomActorImplGetNaturalSizeP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildAddP", UtcDaliCustomActorImplOnChildAddP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
   {"UtcDaliCustomActorImplOnChildRemoveP", UtcDaliCustomActorImplOnChildRemoveP, utc_Dali_CustomActorImpl_startup, utc_Dali_CustomActorImpl_cleanup},
@@ -2028,6 +2101,8 @@ testcase tc_array[] = {
   {"UtcDaliActorUnparentAndResetP", UtcDaliActorUnparentAndResetP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorSetInheritPositionP", UtcDaliActorSetInheritPositionP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliActorIsPositionInheritedP", UtcDaliActorIsPositionInheritedP, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorRemoveRendererN", UtcDaliActorRemoveRendererN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
+  {"UtcDaliActorGetRendererCountN", UtcDaliActorGetRendererCountN, utc_Dali_Actor_startup, utc_Dali_Actor_cleanup },
   {"UtcDaliBaseObjectGetTypeNameInfoForActorP", UtcDaliBaseObjectGetTypeNameInfoForActorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForAnimationP", UtcDaliBaseObjectGetTypeNameInfoForAnimationP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
   {"UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP", UtcDaliBaseObjectGetTypeNameInfoForLongPressGestureDetectorP, utc_Dali_BaseObject_startup, utc_Dali_BaseObject_cleanup},
@@ -2110,6 +2185,7 @@ testcase tc_array[] = {
   {"UtcDaliAngleAxisConstructorP2", UtcDaliAngleAxisConstructorP2, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisConstructorP3", UtcDaliAngleAxisConstructorP3, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliAngleAxisEqualP", UtcDaliAngleAxisEqualP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
+  {"UtcDaliAngleAxisOutputStreamOpeatorP", UtcDaliAngleAxisOutputStreamOpeatorP, utc_Dali_AngleAxis_startup, utc_Dali_AngleAxis_cleanup},
   {"UtcDaliDegreeConstructorFloatP", UtcDaliDegreeConstructorFloatP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeConstructorRadianP", UtcDaliDegreeConstructorRadianP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
   {"UtcDaliDegreeOperatorEqualP", UtcDaliDegreeOperatorEqualP, utc_Dali_Degree_startup, utc_Dali_Degree_cleanup},
index 8e4a32d..4777f71 100755 (executable)
@@ -412,6 +412,8 @@ void TypeRegistryTypeActionN();
 void TypeRegistryTypeRegistrationNotCallingCreateOnInitP();
 void TypeRegistryTypeRegistrationCallingCreateOnInitP();
 void TypeRegistryTypeRegistrationForNamedTypeP();
+void TypeRegistryChildPropertyRegistrationP();
+void TypeRegistryChildPropertyRegistrationN();
 
 namespace
 {
@@ -436,7 +438,9 @@ namespace
     TYPE_REGISTRY_TYPE_ACTION_N,
     TYPE_REGISTRY_TYPE_REGISTRATION_NOT_CALLING_CREATE_ON_INIT_P,
     TYPE_REGISTRY_TYPE_REGISTRATION_CALLING_CREATE_ON_INIT_P,
-    TYPE_REGISTRY_TYPE_REGISTRATION_FOR_NAMED_TYPE_P
+    TYPE_REGISTRY_TYPE_REGISTRATION_FOR_NAMED_TYPE_P,
+    TYPE_REGISTRY_CHILD_PROPERTY_REGISTRATION_P,
+    TYPE_REGISTRY_CHILD_PROPERTY_REGISTRATION_N
   };
 
   struct Type_Registry_TestApp : public ConnectionTracker
@@ -535,6 +539,14 @@ namespace
         case TYPE_REGISTRY_TYPE_REGISTRATION_FOR_NAMED_TYPE_P:
           TypeRegistryTypeRegistrationForNamedTypeP();
           break;
+
+        case TYPE_REGISTRY_CHILD_PROPERTY_REGISTRATION_P:
+          TypeRegistryChildPropertyRegistrationP();
+          break;
+
+        case TYPE_REGISTRY_CHILD_PROPERTY_REGISTRATION_N:
+          TypeRegistryChildPropertyRegistrationN();
+          break;
       }
     }
 
@@ -978,6 +990,238 @@ void TypeRegistryTypeRegistrationForNamedTypeP()
   DaliLog::PrintPass();
 }
 
+void TypeRegistryChildPropertyRegistrationP()
+{
+  TypeRegistry typeRegistry = TypeRegistry::Get();
+
+  // Check property count before property registration
+  TypeInfo typeInfo = typeRegistry.GetTypeInfo( typeid(MyTypeRegistryTestCustomActor) );
+  DALI_CHECK_FAIL( !typeInfo, "GetTypeInfo is failed" );
+
+  BaseHandle handle = typeInfo.CreateInstance();
+  DALI_CHECK_FAIL( !handle, "handle creation is failed" );
+
+  Actor customActor = Actor::DownCast( handle );
+  DALI_CHECK_FAIL( !customActor, "customActor creation is failed" );
+
+  unsigned int initialPropertyCount( customActor.GetPropertyCount() );
+
+  // Register child properties to the parent
+  std::string propertyName( "childProp1" );
+  int propertyIndex( CHILD_PROPERTY_REGISTRATION_START_INDEX );
+  Property::Type propertyType( Property::BOOLEAN );
+  ChildPropertyRegistration childProperty1( customType1, propertyName, propertyIndex, propertyType );
+
+  std::string propertyName2( "childProp2" );
+  int propertyIndex2( CHILD_PROPERTY_REGISTRATION_START_INDEX + 1 );
+  Property::Type propertyType2( Property::INTEGER );
+  ChildPropertyRegistration childProperty2( customType1, propertyName2, propertyIndex2, propertyType2 );
+
+  std::string propertyName3( "childProp3" );
+  int propertyIndex3( CHILD_PROPERTY_REGISTRATION_START_INDEX + 2 );
+  Property::Type propertyType3( Property::FLOAT );
+  ChildPropertyRegistration childProperty3( customType1, propertyName3, propertyIndex3, propertyType3 );
+
+  std::string propertyName4( "childProp4" );
+  int propertyIndex4( CHILD_PROPERTY_REGISTRATION_START_INDEX + 3 );
+  Property::Type propertyType4( Property::INTEGER );
+  ChildPropertyRegistration childProperty4( customType1, propertyName4, propertyIndex4, propertyType4 );
+
+  // Check property count are not changed because the child properties will not be created for the parent
+  DALI_CHECK_FAIL( initialPropertyCount != customActor.GetPropertyCount(), "GetProperty count is not same as initial count." );
+
+  // Create a child actor
+  Actor childActor = Actor::New();
+  DALI_CHECK_FAIL( !childActor, "GetProperty count is not same as initial count." );
+  unsigned int initialChildActorPropertyCount( childActor.GetPropertyCount() );
+
+  // The type of child properties should be Property::None as the child hasn't registered any child property yet.
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex ) != Property::NONE, "propertyIndex should be equals to Property::None" );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex2 ) != Property::NONE, "propertyIndex should be equals to Property::None" );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex3 ) != Property::NONE, "propertyIndex should be equals to Property::None" );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex4 ) != Property::NONE, "propertyIndex should be equals to Property::None" );
+
+  //Set the value for the first child property when the child actor doesn't have a parent yet
+  childActor.SetProperty(propertyIndex, true);
+
+  //Check that the first child property is dynamically created
+  DALI_CHECK_FAIL( initialChildActorPropertyCount + 1u != childActor.GetPropertyCount(), "GetProperty is failed" );
+
+  //Check the first child property value
+  DALI_CHECK_FAIL( childActor.GetProperty< bool >( propertyIndex ) != true, "GetProperty is failed" );
+
+  //Check the first child property type
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex ) != propertyType, "GetProperty is failed" );
+
+  //Check that the first child property have no name, as it doesn't have a parent yet.
+  DALI_CHECK_FAIL( childActor.GetPropertyName( propertyIndex ) != "", "GetProperty is failed" );
+
+  //Check that the first property can't be accessed through its name, as it doesn't have a parent yet.
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName ) != Property::INVALID_INDEX, "GetProperty is failed" );
+
+  //Create a custom property for the child with the same name as the second child property registered to the parent
+  Property::Index customPropertyIndex = childActor.RegisterProperty(propertyName2, 100, Property::READ_WRITE);
+
+  //Check that the custom property is created
+  DALI_CHECK_FAIL( initialChildActorPropertyCount + 2u != childActor.GetPropertyCount(), "GetProperty is failed" );
+
+  //Check the property value
+  DALI_CHECK_FAIL( childActor.GetProperty< int >( customPropertyIndex ) != 100, "GetProperty is failed" );
+
+  //Check the property index
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName2 ) != customPropertyIndex, "GetProperty is failed" );
+
+  //Check the property type
+  DALI_CHECK_FAIL( childActor.GetPropertyType( customPropertyIndex ) != propertyType2, "GetProperty is failed" );
+
+  //Check the property name
+  DALI_CHECK_FAIL( childActor.GetPropertyName( customPropertyIndex ) != propertyName2, "GetProperty is failed" );
+
+  //Now add the child actor to the parent
+  customActor.Add( childActor );
+
+  //Check that the first child property now has the correct name as previously registered to the parent
+  DALI_CHECK_FAIL( childActor.GetPropertyName( propertyIndex ) != propertyName, "GetProperty is failed" );
+
+  //Check that the child property index for the first child property can now be retrieved through its child property name
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName ) != propertyIndex, "GetProperty is failed" );
+
+  //Check that the second child property now has the correct index as previously registered to the parent
+  DALI_CHECK_FAIL( childActor.GetPropertyName( propertyIndex2 ) != propertyName2, "GetProperty is failed" );
+
+  //Check that the second child property can be accessed through both its custom property index and its child property index
+  DALI_CHECK_FAIL( childActor.GetProperty< int >( customPropertyIndex ) != 100, "GetProperty is failed" );
+
+  DALI_CHECK_FAIL( childActor.GetProperty< int >( propertyIndex2 ) != 100, "GetProperty is failed." );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( customPropertyIndex ) != propertyType2, "GetProperty is failed." );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex2 ) != propertyType2, "GetProperty is failed." );
+
+
+  // Check that the child property index for the second child property can now be retrieved through its child property name
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName2 ) != propertyIndex2, "GetProperty is failed." );
+  // Set the value for the third child property when the child actor is already added to the parent
+  childActor.SetProperty(propertyIndex3, 0.15f);
+  // Check that the third child property is dynamically created
+  DALI_CHECK_FAIL( initialChildActorPropertyCount + 3u != childActor.GetPropertyCount(), "GetProperty is failed." );
+
+  // Check the third child property value
+  DALI_CHECK_FAIL( childActor.GetProperty< float >( propertyIndex3 ) !=  0.15f, "GetProperty is failed." );
+
+  // Check the third child property type
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex3 ) != propertyType3, "GetProperty is failed." );
+
+  // Check the third child property name
+  DALI_CHECK_FAIL( childActor.GetPropertyName( propertyIndex3 ) != propertyName3, "GetProperty is failed." );
+
+  // Check the third child property index.
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName3 ) != propertyIndex3, "GetProperty is failed." );
+
+  //Create a custom property for the child with the same name as the fourth child property registered to the parent
+  Property::Index customPropertyIndex2 = childActor.RegisterProperty(propertyName4, 20, Property::READ_WRITE);
+
+  //Check that the custom property is created
+  DALI_CHECK_FAIL( initialChildActorPropertyCount + 4u != childActor.GetPropertyCount(), "GetProperty is failed" );
+
+  //Check the fourth child property value
+  DALI_CHECK_FAIL( childActor.GetProperty< int >( propertyIndex4 ) != 20, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetProperty< int >( customPropertyIndex2 ) != 20, "GetProperty is failed" );
+
+  //Check the fourth child property type
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex4 ) != propertyType4, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( customPropertyIndex2 ) != propertyType4, "GetProperty is failed" );
+
+  //Check the fourth child property name
+  DALI_CHECK_FAIL( childActor.GetPropertyName( propertyIndex4 ) != propertyName4, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetPropertyName( customPropertyIndex2 ) != propertyName4, "GetProperty is failed" );
+
+  //Check the fourth child property index.
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName4 ) != propertyIndex4, "GetProperty is failed" );
+
+  //Now create another parent actor with different child properties registered
+  TypeInfo typeInfo2 = typeRegistry.GetTypeInfo( "MyNamedActor" );
+  DALI_CHECK_FAIL( !typeInfo2, "typeInfo2 initialization failed" );
+  BaseHandle handle2 = typeInfo2.CreateInstance();
+  DALI_CHECK_FAIL( !handle2, "handle2 initialization failed");
+  Actor customActor2 = Actor::DownCast( handle2 );
+  DALI_CHECK_FAIL( !customActor2, "customActor2 initialization failed" );
+
+  //Register child properties to the new parent
+  std::string newPropertyName( "newChildProp" );
+  int newPropertyIndex( CHILD_PROPERTY_REGISTRATION_START_INDEX );
+  //The same index as the first child property "childProp1" in the old parent
+  Property::Type newPropertyType( Property::VECTOR2 );
+  ChildPropertyRegistration newChildProperty( namedActorType, newPropertyName, newPropertyIndex, newPropertyType );
+
+  std::string newPropertyName2( "childProp3" );
+  //The same name as the third child property in the old parent
+  int newPropertyIndex2( CHILD_PROPERTY_REGISTRATION_START_INDEX + 1 );
+  //The same index as the second child property "childProp2" in the old parent
+  Property::Type newPropertyType2( Property::FLOAT );
+  //The same type as the third child property in the old parent
+  ChildPropertyRegistration newChildProperty2( namedActorType, newPropertyName2, newPropertyIndex2, newPropertyType2 );
+
+  //Now move the child actor to the new parent
+  customActor2.Add( childActor );
+
+  //"childProp1" is not a valid child property supported by the new parent, so nothing changed
+  DALI_CHECK_FAIL( childActor.GetPropertyType( propertyIndex ) != propertyType, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetPropertyName( propertyIndex ) != propertyName, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( propertyName ) != propertyIndex, "GetProperty is failed" );
+
+  //"childProp3" is a valid child property supported by the new parent. So it should get its new child property index and should just work
+
+  DALI_CHECK_FAIL( childActor.GetPropertyType( newPropertyIndex2 ) != newPropertyType2, "GetProperty is failed." );
+  DALI_CHECK_FAIL( childActor.GetPropertyName( newPropertyIndex2 ) != newPropertyName2, "GetProperty is failed." );
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( newPropertyName2 ) != newPropertyIndex2, "GetProperty is failed." );
+  DALI_CHECK_FAIL( childActor.GetProperty< float >( newPropertyIndex2 ) != 0.15f, "GetProperty is failed." );
+
+  // Now register a custom property called "newChildProp"
+  Property::Index customPropertyIndex3 = childActor.RegisterProperty("newChildProp", Vector2( 10.0f, 10.0f ), Property::READ_WRITE);
+
+  // Check that the custom property is created
+  DALI_CHECK_FAIL( initialChildActorPropertyCount + 5u != childActor.GetPropertyCount(), "GetProperty is failed" );
+
+  //This is a valid child property registered to the new parent So should be able to access it through both its custom property index and its registered child property index
+  DALI_CHECK_FAIL( childActor.GetPropertyType( newPropertyIndex ) != newPropertyType, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetPropertyType( customPropertyIndex3 ) != newPropertyType, "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetPropertyName( newPropertyIndex ) != newPropertyName, "GetProperty is failed" );
+  //This should return the new name, although the child property index remains the same
+  DALI_CHECK_FAIL( childActor.GetPropertyName( customPropertyIndex3 ) != newPropertyName, "GetProperty is failed");
+  DALI_CHECK_FAIL( childActor.GetProperty< Vector2 >( newPropertyIndex ) != Vector2( 10.0f, 10.0f ), "GetProperty is failed" );
+  DALI_CHECK_FAIL( childActor.GetProperty< Vector2 >( customPropertyIndex3 ) != Vector2( 10.0f, 10.0f ), "GetProperty is failed" );
+
+  //Should return the child property index by given its name
+  DALI_CHECK_FAIL( childActor.GetPropertyIndex( newPropertyName ) != newPropertyIndex, "GetProperty is failed" );
+
+  DaliLog::PrintPass();
+}
+
+void TypeRegistryChildPropertyRegistrationN()
+{
+  // Attempt to register a child property type out-of-bounds index (less than)
+  try
+  {
+    ChildPropertyRegistration property1( customType1, "propName", CHILD_PROPERTY_REGISTRATION_START_INDEX - 1, Property::BOOLEAN);
+  }
+  catch ( DaliException& e )
+  {
+    DALI_CHECK_FAIL( false, "ChildPropertyRegistration test case is failed" );
+  }
+
+  // Attempt to register a child property type out-of-bounds index (greater than)
+  try
+  {
+    ChildPropertyRegistration property1( customType1, "propName", CHILD_PROPERTY_REGISTRATION_MAX_INDEX + 1, Property::BOOLEAN );
+  }
+  catch ( DaliException& e )
+  {
+    DALI_CHECK_FAIL( false, "ChildPropertyRegistration test case is failed" );
+  }
+
+  DaliLog::PrintPass();
+}
+
+
 /**
  * End of TC Logic Implementation Area.
  **/
@@ -1252,3 +1496,33 @@ int UtcDaliTypeRegistryTypeRegistrationForNamedTypeP(void)
   application.MainLoop();
   return test_return_value;
 }
+
+/**
+ * @testcase                UtcDaliTypeRegistryChildPropertyRegistrationP
+ * @since_Tizen             2.4
+ * @description             Function that tests ChildPropertyRegistration API.
+ */
+int UtcDaliTypeRegistryChildPropertyRegistrationP(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  Type_Registry_TestApp testApp( application, TYPE_REGISTRY_CHILD_PROPERTY_REGISTRATION_P );
+  application.MainLoop();
+  return test_return_value;
+}
+
+/**
+ * @testcase                UtcDaliTypeRegistryChildPropertyRegistrationN
+ * @since_Tizen             2.4
+ * @description             Function that tests ChildPropertyRegistration API.
+ */
+int UtcDaliTypeRegistryChildPropertyRegistrationN(void)
+{
+  DaliLog::PrintExecStarted(SUITE_NAME, __FUNCTION__);
+  Application application = Application::New( &gArgc, &gArgv );
+  CHECK_GL;
+  Type_Registry_TestApp testApp( application, TYPE_REGISTRY_CHILD_PROPERTY_REGISTRATION_N );
+  application.MainLoop();
+  return test_return_value;
+}