END_TEST;
}
+int UtcDaliPathDownCast(void)
+{
+ TestApplication application;
+
+ Dali::Path path = Dali::Path::New();
+ Handle handle = path;
+ SetupPath(path);
+
+ Dali::Path path2 = Dali::Path::DownCast(handle);
+ DALI_TEST_CHECK(path2);
+
+ //t = 0
+ Vector3 position, tangent;
+ path2.Sample(0.0f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 30.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 80.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.6f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, 0.7f, 0.1f, TEST_LOCATION);
+
+ //t = 0.25
+ path2.Sample(0.25f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 48.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 102.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.6f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, 0.7f, 0.1f, TEST_LOCATION);
+
+ // t = 0.5
+ path2.Sample(0.5f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 70.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 120.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 1.0f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, 0.0f, 0.1f, TEST_LOCATION);
+
+
+ //t = 0.75
+ path2.Sample(0.75f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 85.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 112.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.7f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, -0.6f, 0.1f, TEST_LOCATION);
+
+ // t = 1
+ path2.Sample(1.0f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 100.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 100.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.8f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, -0.4f, 0.1f, TEST_LOCATION);
+
+ END_TEST;
+}
+
+int UtcDaliPathAssignment(void)
+{
+ TestApplication application;
+
+ Dali::Path path = Dali::Path::New();
+ SetupPath(path);
+
+ Dali::Path path2 = path;
+ DALI_TEST_CHECK(path2);
+
+ //t = 0
+ Vector3 position, tangent;
+ path2.Sample(0.0f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 30.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 80.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.6f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, 0.7f, 0.1f, TEST_LOCATION);
+
+ //t = 0.25
+ path2.Sample(0.25f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 48.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 102.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.6f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, 0.7f, 0.1f, TEST_LOCATION);
+
+ // t = 0.5
+ path2.Sample(0.5f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 70.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 120.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 1.0f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, 0.0f, 0.1f, TEST_LOCATION);
+
+
+ //t = 0.75
+ path2.Sample(0.75f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 85.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 112.0f, 2.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.7f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, -0.6f, 0.1f, TEST_LOCATION);
+
+ // t = 1
+ path2.Sample(1.0f, position, tangent );
+ DALI_TEST_EQUALS(position.x, 100.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(position.y, 100.0f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.x, 0.8f, 0.1f, TEST_LOCATION);
+ DALI_TEST_EQUALS(tangent.y, -0.4f, 0.1f, TEST_LOCATION);
+
+ END_TEST;
+}