[dali_1.2.19] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-TransitionData.cpp
index c0f7982..58559d5 100644 (file)
@@ -338,22 +338,21 @@ int UtcDaliTransitionDataMap2P(void)
   END_TEST;
 }
 
-
 int UtcDaliTransitionDataMap3P(void)
 {
   TestApplication application;
 
-  tet_printf("Testing animation of a visual's placement actor property\n");
+  tet_printf("Testing animation of an actor's position property using bezier curve\n");
 
   Property::Map map;
-  map["target"] = "visual1";
-  map["property"] = "color";
-  map["initialValue"] = Color::MAGENTA;
-  map["targetValue"] = Color::RED;
+  map["target"] = "Actor1";
+  map["property"] = "position";
+  map["initialValue"] = Vector3(0, 0, 0);
+  map["targetValue"] = Vector3(100, 100, 0);
   map["animator"] = Property::Map()
-    .Add("alphaFunction", "EASE_IN_OUT")
+    .Add("alphaFunction", Vector4(0.71, -0.57, 0.42, 1.38) )
     .Add("timePeriod", Property::Map()
-         .Add("delay", 0.5f)
+         .Add("delay", 0.0f)
          .Add("duration", 1.0f));
 
   Dali::Toolkit::TransitionData transition = TransitionData::New( map );
@@ -361,39 +360,36 @@ int UtcDaliTransitionDataMap3P(void)
   DummyControl actor = DummyControl::New();
   actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
   actor.SetName("Actor1");
-  actor.SetColor(Color::CYAN);
   Stage::GetCurrent().Add(actor);
 
   DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(actor.GetImplementation());
-
-  Property::Map visualMap;
-  visualMap[Visual::Property::TYPE] = Visual::COLOR;
-  visualMap[ColorVisual::Property::MIX_COLOR] = Color::MAGENTA;
-  Visual::Base visual = VisualFactory::Get().CreateVisual( visualMap );
-  visual.SetName( "visual1" );
-
-  Property::Index visualIndex = Control::CONTROL_PROPERTY_END_INDEX + 1;
-  dummyImpl.RegisterVisual( visualIndex, visual );
-
   Animation anim = dummyImpl.CreateTransition( transition );
   DALI_TEST_CHECK( anim );
 
   application.SendNotification();
   application.Render(0);
-  DALI_TEST_EQUALS( actor.GetCurrentColor(), Color::MAGENTA, TEST_LOCATION);
+  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(0,0,0), 0.001f, TEST_LOCATION);
 
   anim.Play();
 
   application.SendNotification();
   application.Render(0);
-  application.Render(500);
-  application.Render(500); // Halfway thru map1 anim
+
+  application.Render(250); // 25%
   application.SendNotification();
-  DALI_TEST_EQUALS( actor.GetCurrentColor(), (Color::MAGENTA+Color::RED)*0.5f, TEST_LOCATION);
+  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(-10,-10,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
 
-  application.Render(500); // End of map1 anim
+  application.Render(250); // Halfway thru map1 anim
   application.SendNotification();
-  DALI_TEST_EQUALS( actor.GetCurrentColor(), Color::RED, TEST_LOCATION );
+  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(24,24,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
+
+  application.Render(250); // End of map1 anim
+  application.SendNotification();
+  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve
+
+  application.Render(250); // End of map1 anim
+  application.SendNotification();
+  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), TEST_LOCATION );
   END_TEST;
 }
 
@@ -402,20 +398,31 @@ int UtcDaliTransitionDataMap4P(void)
 {
   TestApplication application;
 
-  tet_printf("Testing animation of a visual's placement actor property using bezier curve\n");
+  tet_printf("Testing animation of a visual's transform property using programmatic maps\n");
 
-  Property::Map map;
-  map["target"] = "Actor1";
-  map["property"] = "position";
-  map["initialValue"] = Vector3(0, 0, 0);
-  map["targetValue"] = Vector3(100, 100, 0);
-  map["animator"] = Property::Map()
-    .Add("alphaFunction", Vector4(0.71, -0.57, 0.42, 1.38) )
+  Property::Map map1;
+  map1["target"] = "testVisual";
+  map1["property"] = "offset";
+  map1["initialValue"] = Vector2(0.0f, 0.0f);
+  map1["targetValue"] = Vector2(100.0f, 100.0f);
+  map1["animator"] = Property::Map()
+    .Add("alphaFunction", "LINEAR")
     .Add("timePeriod", Property::Map()
-         .Add("delay", 0.0f)
+         .Add("delay", 0.5f)
          .Add("duration", 1.0f));
 
-  Dali::Toolkit::TransitionData transition = TransitionData::New( map );
+  Property::Map map2;
+  map2["target"] = "testVisual";
+  map2["property"] = "size";
+  map2["initialValue"] = Vector2(10.0f, 10.0f);
+  map2["targetValue"] = Vector2(110.0f, 110.0f);
+  map2["animator"] = Property::Map()
+    .Add("alphaFunction", "LINEAR")
+    .Add("timePeriod", Property::Map()
+         .Add("delay", 0.5f)
+         .Add("duration", 1.0f));
+
+  Dali::Toolkit::TransitionData transition = TransitionData::New( Property::Array().Add(map1).Add(map2) );
 
   DummyControl actor = DummyControl::New();
   actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
@@ -423,36 +430,42 @@ int UtcDaliTransitionDataMap4P(void)
   Stage::GetCurrent().Add(actor);
 
   DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(actor.GetImplementation());
+
+  Property::Map visualMap;
+  visualMap[Visual::Property::TYPE] = Visual::COLOR;
+  visualMap[ColorVisual::Property::MIX_COLOR] = Color::MAGENTA;
+  Visual::Base visual = VisualFactory::Get().CreateVisual( visualMap );
+
+  visual.SetName( "testVisual" );
+  dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
+
   Animation anim = dummyImpl.CreateTransition( transition );
   DALI_TEST_CHECK( anim );
 
+  Renderer renderer = actor.GetRendererAt(0);
+  Property::Index sizeIndex = renderer.GetPropertyIndex( "size" );
   application.SendNotification();
   application.Render(0);
-  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(0,0,0), 0.001f, TEST_LOCATION);
+
+  DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(10.0f, 10.0f), TEST_LOCATION);
 
   anim.Play();
 
   application.SendNotification();
   application.Render(0);
-
-  application.Render(250); // 25%
-  application.SendNotification();
-  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(-10,-10,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
-
-  application.Render(250); // Halfway thru map1 anim
+  application.Render(500); // Start animation
+  application.Render(500); // Halfway thru anim
   application.SendNotification();
-  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(24,24,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve at 50%
+  DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(60.0f, 60.0f), TEST_LOCATION);
 
-  application.Render(250); // End of map1 anim
+  application.Render(500); // End of anim
   application.SendNotification();
-  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), 1.0, TEST_LOCATION); // High epsilon as we don't have exact figure for bezier curve
+  DALI_TEST_EQUALS( renderer.GetProperty<Vector2>(sizeIndex), Vector2(110.0f, 110.0f), TEST_LOCATION );
 
-  application.Render(250); // End of map1 anim
-  application.SendNotification();
-  DALI_TEST_EQUALS( actor.GetCurrentPosition(), Vector3(100,100,0), TEST_LOCATION );
   END_TEST;
 }
 
+
 int UtcDaliTransitionDataMap1N(void)
 {
   TestApplication application;