Add Integration API to Create public event type
[platform/core/uifw/dali-core.git] / automated-tests / src / dali / utc-Dali-TouchEvent.cpp
index dbd663b..8d5b5a0 100644 (file)
@@ -114,3 +114,48 @@ int UtcDaliTouchEventMoveAssignmentP(void)
 
   END_TEST;
 }
+
+int UtcDaliTouchEventCopyConstructorWithPointP(void)
+{
+  Dali::Integration::Point point;
+
+  Vector2 touchPoint( 10.0, 20.0 );
+  point.SetDeviceId( 1 );
+  point.SetState( PointState::DOWN );
+  point.SetScreenPosition( Vector2( touchPoint.x, touchPoint.y ) );
+
+  TouchEvent touchEvent = Integration::NewTouchEvent(123u, point);
+  DALI_TEST_CHECK( touchEvent );
+
+  const auto refCount = touchEvent.GetBaseObject().ReferenceCount();
+
+  TouchEvent touchEvent2( touchEvent );
+  DALI_TEST_CHECK( touchEvent );
+  DALI_TEST_CHECK( touchEvent2 );
+  DALI_TEST_EQUALS( touchEvent, touchEvent2, TEST_LOCATION );
+  DALI_TEST_EQUALS( refCount + 1, touchEvent.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliTouchEventMoveConstructorWithPointP(void)
+{
+  Dali::Integration::Point point;
+
+  Vector2 touchPoint( 10.0, 20.0 );
+  point.SetDeviceId( 1 );
+  point.SetState( PointState::DOWN );
+  point.SetScreenPosition( Vector2( touchPoint.x, touchPoint.y ) );
+
+  TouchEvent touchEvent = Integration::NewTouchEvent(123u, point);
+  DALI_TEST_CHECK( touchEvent );
+
+  const auto refCount = touchEvent.GetBaseObject().ReferenceCount();
+
+  TouchEvent touchEvent2( std::move(touchEvent) );
+  DALI_TEST_CHECK( !touchEvent );
+  DALI_TEST_CHECK( touchEvent2 );
+  DALI_TEST_EQUALS( refCount, touchEvent2.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+
+  END_TEST;
+}