+int UtcDaliBaseHandleMoveConstructor(void)
+{
+ TestApplication application;
+
+ // Initialize an object, ref count == 1
+ BaseHandle object = Actor::New();
+
+ DALI_TEST_EQUALS(1, object.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+
+ // Move the object, ref count == 1
+ BaseHandle move = std::move(object);
+ DALI_TEST_CHECK(move);
+
+ // Check that object is moved (not copied, so ref count keeps the same)
+ if(move)
+ {
+ DALI_TEST_EQUALS(1, move.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ }
+ DALI_TEST_CHECK(!object);
+
+ END_TEST;
+}
+
+int UtcDaliBaseHandleMoveAssignment(void)
+{
+ TestApplication application;
+
+ // Initialize an object, ref count == 1
+ BaseHandle object = Actor::New();
+
+ DALI_TEST_EQUALS(1, object.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+
+ // Move the object, ref count == 1
+ BaseHandle move;
+ move = std::move(object);
+ DALI_TEST_CHECK(move);
+
+ // Check that object is moved (not copied, so ref count keeps the same)
+ if(move)
+ {
+ DALI_TEST_EQUALS(1, move.GetBaseObject().ReferenceCount(), TEST_LOCATION);
+ }
+ DALI_TEST_CHECK(!object);
+
+ END_TEST;
+}
+