Add move semantics to common and base Toolkit classes
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-CheckBoxButton.cpp
index a43cbf2..799a069 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -90,6 +90,25 @@ int UtcDaliCheckBoxButtonCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliCheckBoxButtonMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  CheckBoxButton button = CheckBoxButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, false );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+
+  CheckBoxButton moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliCheckBoxButtonAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -103,6 +122,26 @@ int UtcDaliCheckBoxButtonAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliCheckBoxButtonMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  CheckBoxButton button = CheckBoxButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, false );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+
+  CheckBoxButton moved;
+  moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliCheckBoxButtonNewP(void)
 {
   ToolkitTestApplication application;
@@ -194,9 +233,9 @@ int UtcDaliCheckBoxSetDisabledPropertyP(void)
   ToolkitTestApplication application;
 
   CheckBoxButton checkBox = CheckBoxButton::New();
-  Stage::GetCurrent().Add( checkBox );
+  application.GetScene().Add( checkBox );
 
-  checkBox.SetSize( Vector2( 20.0f, 20.0f ) );
+  checkBox.SetProperty( Actor::Property::SIZE, Vector2( 20.0f, 20.0f ) );
   checkBox.SetProperty(checkBox.GetPropertyIndex("disabledUnselectedBackgroundVisual"),  "Image.jpg" );
 
   application.SendNotification();
@@ -365,9 +404,9 @@ int UtcDaliCheckBoxSetLabelDisabledP(void)
   ToolkitTestApplication application;
 
   CheckBoxButton checkBox = CheckBoxButton::New();
-  Stage::GetCurrent().Add( checkBox );
+  application.GetScene().Add( checkBox );
 
-  checkBox.SetSize( Vector2( 20.0f, 20.0f ) );
+  checkBox.SetProperty( Actor::Property::SIZE, Vector2( 20.0f, 20.0f ) );
   checkBox.SetProperty(Button::Property::DISABLED_UNSELECTED_VISUAL, "Image.jpg" );
 
   application.SendNotification();