/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
DALI_TEST_CHECK( "INTEGER" == std::string(PropertyTypes::GetName( type ) ) );
break;
}
- case Property::UNSIGNED_INTEGER:
- {
- DALI_TEST_CHECK( "UNSIGNED_INTEGER" == std::string(PropertyTypes::GetName( type ) ) );
- break;
- }
case Property::VECTOR2:
{
DALI_TEST_CHECK( "VECTOR2" == std::string(PropertyTypes::GetName( type ) ) );
END_TEST;
}
-int UtcDaliPropertyValueConstructorsUnsignedIntP(void)
-{
- Property::Value value(1u);
-
- DALI_TEST_CHECK( value.GetType() == Property::UNSIGNED_INTEGER );
- DALI_TEST_CHECK( value.Get<unsigned int>() == 1u );
-
- END_TEST;
-}
-
-int UtcDaliPropertyValueConstructorsUnsignedIntTypeP(void)
-{
- Property::Value value( Property::UNSIGNED_INTEGER );
-
- DALI_TEST_CHECK( value.GetType() == Property::UNSIGNED_INTEGER );
- DALI_TEST_CHECK( value.Get<unsigned int>() == 0u );
-
- END_TEST;
-}
-
int UtcDaliPropertyValueConstructorsVector2P(void)
{
Vector2 v(1,1);
int UtcDaliPropertyValueConstructorsQuaternionP(void)
{
- Quaternion v( Vector4(1.0,1.0,1.0,1.0) );
+ Quaternion v( Radian( Math::PI ), Vector3::ZAXIS );
Property::Value value(v);
DALI_TEST_CHECK( value.GetType() == Property::ROTATION );
- DALI_TEST_CHECK( value.Get<Quaternion>() == v );
+ DALI_TEST_EQUALS( v, value.Get<Quaternion>(), 0.001, TEST_LOCATION);
END_TEST;
}
END_TEST;
}
-int UtcDaliPropertyValueCopyConstructorUnsignedIntP(void)
-{
- CheckCopyCtorP<unsigned int> check(1u);
- END_TEST;
-}
-
int UtcDaliPropertyValueCopyConstructoVector2P(void)
{
CheckCopyCtorP<Vector2> check( Vector2(2,1) );
END_TEST;
}
-int UtcDaliPropertyValueAssignmentOperatorUnsignedIntP(void)
-{
- Property::Value value;
- value = Property::Value(10U); // type mismatch
- DALI_TEST_CHECK( 10U == value.Get<unsigned int>() );
- Property::Value copy( 123U);
- copy = value; // type match
- DALI_TEST_CHECK( 10U == copy.Get<unsigned int>() );
- END_TEST;
-}
-
int UtcDaliPropertyValueAssignmentOperatorFloatP(void)
{
Property::Value value;
int UtcDaliPropertyValueAssignmentOperatorQuaternionP(void)
{
Property::Value value;
- value = Property::Value( Quaternion(1,1,1,1) ); // mismatch
- DALI_TEST_CHECK( Quaternion(1,1,1,1) == value.Get<Quaternion>() );
+ Quaternion result( Radian( Math::PI_2 ), Vector3::YAXIS );
+ value = Property::Value( result );
+
+ DALI_TEST_EQUALS( value.Get<Quaternion>(), result, 0.001, TEST_LOCATION );
+
Property::Value copy( Property::ROTATION );
copy = value; // match
- DALI_TEST_CHECK( Quaternion(1,1,1,1) == copy.Get<Quaternion>() );
+ DALI_TEST_EQUALS( copy.Get<Quaternion>(), result, 0.001, TEST_LOCATION );
END_TEST;
}
float flow( 0.0f );
DALI_TEST_EQUALS( 1.1f, value.Get<float>(), TEST_LOCATION );
DALI_TEST_EQUALS( true, value.Get( flow ), TEST_LOCATION );
+ DALI_TEST_EQUALS( 1.1f, flow, TEST_LOCATION );
+
+ Property::Value intValue(100);
+ DALI_TEST_EQUALS( 100.f, intValue.Get<float>(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, intValue.Get( flow ), TEST_LOCATION );
+ DALI_TEST_EQUALS( 100.f, flow, TEST_LOCATION );
+
END_TEST;
}
DALI_TEST_EQUALS( 123, value.Get<int>(), TEST_LOCATION );
DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
DALI_TEST_EQUALS( 123, result, TEST_LOCATION );
+
+ Property::Value floatValue(21.f);
+ DALI_TEST_EQUALS( 21, floatValue.Get<int>(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, floatValue.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( 21, result, TEST_LOCATION );
+
END_TEST;
}
END_TEST;
}
-int UtcDaliPropertyValueGetUnsignedIntP(void)
-{
- Property::Value value(123u);
- unsigned int result( 10u );
- DALI_TEST_EQUALS( 123u, value.Get<unsigned int>(), TEST_LOCATION );
- DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 123u, result, TEST_LOCATION );
- END_TEST;
-}
-
-int UtcDaliPropertyValueGetUnsignedIntN(void)
-{
- Property::Value value;
- unsigned int result( 10u );
- DALI_TEST_EQUALS( 0u, value.Get<unsigned int>(), TEST_LOCATION );
- DALI_TEST_EQUALS( false, value.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 10u, result, TEST_LOCATION );
- Property::Value value2("");
- DALI_TEST_EQUALS( false, value2.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 10u, result, TEST_LOCATION ); // result is not modified
- END_TEST;
-}
-
int UtcDaliPropertyValueGetRectP(void)
{
Property::Value value( Rect<int>(1,2,3,4) );
END_TEST;
}
+int UtcDaliPropertyValueGetVector2fromVector3P(void)
+{
+ Property::Value value( Vector3(1.f,2.f,3.f) );
+ Vector2 result;
+ DALI_TEST_EQUALS( Vector2(1.0f,2.0f), value.Get< Vector2 >(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( Vector2(1.0f,2.0f), result, TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliPropertyValueGetVector2fromVector4P(void)
+{
+ Property::Value value( Vector4(1.f,2.f,3.f,4.f) );
+ Vector2 result;
+ DALI_TEST_EQUALS( Vector2(1.0f,2.0f), value.Get< Vector2 >(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( Vector2(1.0f,2.0f), result, TEST_LOCATION );
+ END_TEST;
+}
+
int UtcDaliPropertyValueGetVector2N(void)
{
Property::Value value;
END_TEST;
}
+int UtcDaliPropertyValueGetVector3FromVector2P(void)
+{
+ Property::Value value( Vector2(1.0f,2.0f) );
+ Vector3 result(99.f,88.f,77.f);
+ DALI_TEST_EQUALS( Vector3(1.0f,2.0f,0.f), value.Get< Vector3 >(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( Vector3(1.0f,2.0f,0.f), result, TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliPropertyValueGetVector3FromVector4P(void)
+{
+ Property::Value value( Vector4(4.f,3.f,2.f,1.f) );
+ Vector3 result;
+ DALI_TEST_EQUALS( Vector3(4.f,3.f,2.f), value.Get< Vector3 >(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( Vector3(4.f,3.f,2.f), result, TEST_LOCATION );
+ END_TEST;
+}
+
int UtcDaliPropertyValueGetVector3N(void)
{
Property::Value value;
END_TEST;
}
+int UtcDaliPropertyValueGetVector4FromVector2P(void)
+{
+ Property::Value value( Vector2(-1.f,-3.f) );
+ Vector4 result(99.f,88.f,77.f,66.f);
+ DALI_TEST_EQUALS( Vector4(-1.f,-3.f,0.f,0.f), value.Get< Vector4 >(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( Vector4(-1.f,-3.f,0.f,0.f), result, TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliPropertyValueGetVector4FromVector3P(void)
+{
+ Property::Value value( Vector3(1.f,2.f,-1.f) );
+ Vector4 result(99.f,88.f,77.f,66.f);
+ DALI_TEST_EQUALS( Vector4(1.f,2.f,-1.f,0.f), value.Get< Vector4 >(), TEST_LOCATION );
+ DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
+ DALI_TEST_EQUALS( Vector4(1.f,2.f,-1.f,0.f), result, TEST_LOCATION );
+ END_TEST;
+}
+
int UtcDaliPropertyValueGetVector4N(void)
{
Property::Value value;
Property::Value value;
AngleAxis b = value.Get<AngleAxis>();
AngleAxis result;
- DALI_TEST_EQUALS( 0.f, b.angle, TEST_LOCATION );
+ DALI_TEST_EQUALS( (Radian)0.f, b.angle, TEST_LOCATION );
DALI_TEST_EQUALS( Vector3::ZERO, b.axis, TEST_LOCATION );
DALI_TEST_EQUALS( false, value.Get( result ), TEST_LOCATION );
DALI_TEST_EQUALS( AngleAxis(), result, TEST_LOCATION );
int UtcDaliPropertyValueGetQuaternionP(void)
{
- Property::Value value( Quaternion(1.f,2.f,3.f,4.f) );
- Quaternion result;
- DALI_TEST_EQUALS( Quaternion(1.f,2.f,3.f,4.f), value.Get< Quaternion >(), TEST_LOCATION );
- DALI_TEST_EQUALS( true, value.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( Quaternion(1.f,2.f,3.f,4.f), result, TEST_LOCATION );
+ Vector3 axis(1, 1, 0);
+ axis.Normalize();
+
+ Quaternion result( Radian( 1.f ), axis );
+ Property::Value value( result );
+
+ DALI_TEST_EQUALS( result, value.Get< Quaternion >(), TEST_LOCATION );
+ Quaternion test2;
+ DALI_TEST_EQUALS( true, value.Get( test2 ), TEST_LOCATION );
END_TEST;
}
int UtcDaliPropertyValueGetQuaternionN(void)
{
Property::Value value;
- Quaternion result(1.f,2.f,3.f,4.f);
+ Vector3 axis(1, 1, 0);
+ axis.Normalize();
+ Quaternion result( Radian( 1.f ), axis );
+ Quaternion test(result);
+
DALI_TEST_EQUALS( Quaternion(), value.Get< Quaternion >(), TEST_LOCATION );
- DALI_TEST_EQUALS( false, value.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( Quaternion(1.f,2.f,3.f,4.f), result, TEST_LOCATION );
+ DALI_TEST_EQUALS( false, value.Get( test ), TEST_LOCATION );
+ DALI_TEST_EQUALS( test, result, TEST_LOCATION );
Property::Value value2("");
- DALI_TEST_EQUALS( false, value2.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( Quaternion(1.f,2.f,3.f,4.f), result, TEST_LOCATION );
+ DALI_TEST_EQUALS( false, value2.Get( test ), TEST_LOCATION );
+ DALI_TEST_EQUALS( test, result, TEST_LOCATION );
END_TEST;
}
Property::Array result;
result.PushBack( Property::Value( 10 ) );
DALI_TEST_EQUALS( false, value.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 1, result.Count(), TEST_LOCATION ); // array is not modified
+ DALI_TEST_EQUALS( 1u, result.Count(), TEST_LOCATION ); // array is not modified
Property::Value value2("");
DALI_TEST_EQUALS( false, value2.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 1, result.Count(), TEST_LOCATION ); // array is not modified
+ DALI_TEST_EQUALS( 1u, result.Count(), TEST_LOCATION ); // array is not modified
END_TEST;
}
{
Property::Value value;
DALI_TEST_CHECK( NULL == value.GetMap() );
- DALI_TEST_EQUALS( 0, value.Get<Property::Map>().Count(), TEST_LOCATION );
+ DALI_TEST_EQUALS( 0u, value.Get<Property::Map>().Count(), TEST_LOCATION );
Property::Map result;
result.Insert("key", "value" );
DALI_TEST_EQUALS( false, value.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 1, result.Count(), TEST_LOCATION );
+ DALI_TEST_EQUALS( 1u, result.Count(), TEST_LOCATION );
Property::Value value2("");
DALI_TEST_EQUALS( false, value2.Get( result ), TEST_LOCATION );
- DALI_TEST_EQUALS( 1, result.Count(), TEST_LOCATION ); // array is not modified
+ DALI_TEST_EQUALS( 1u, result.Count(), TEST_LOCATION ); // array is not modified
END_TEST;
}
}
{
- value = Property::Value(25U);
- std::ostringstream stream;
- stream << value;
- DALI_TEST_CHECK( stream.str() == "25" )
- }
-
- {
value = Property::Value( Vector2(1.f,1.f) );
std::ostringstream stream;
stream << value;
DALI_TEST_CHECK( stream.str() == "Foo" );
}
- // Maps and arrays currently not supported, we just check a message is output
{
Property::Map map;
+ map.Insert("key", "value");
+ map.Insert("duration", 10);
+ map.Insert("color", Vector4(1.0, 0.5, 1.0, 1.0));
+
value = Property::Value( map );
std::ostringstream stream;
- stream << value;
- DALI_TEST_CHECK( !stream.str().empty() );
+ stream << value;
+ tet_printf("Checking Property::Value is %s", stream.str().c_str());
+ DALI_TEST_CHECK( !stream.str().compare("Map(3) = {key:value, duration:10, color:[1, 0.5, 1, 1]}"));
}
{
Property::Array array;
+ array.PushBack(0);
+ array.PushBack(2);
+ array.PushBack(3);
value = Property::Value( array );
std::ostringstream stream;
stream << value;
- DALI_TEST_CHECK( !stream.str().empty() );
+ tet_printf("Checking Property::Value is %s", stream.str().c_str());
+ DALI_TEST_CHECK( !stream.str().compare("Array(3) = [0, 2, 3]") );
}
+ {
+ Property::Map map;
+ Property::Map map2;
+ Property::Array array;
+
+ map2.Insert("key", "value");
+ map2.Insert("duration", 10);
+ map.Insert("color", Vector4(1.0, 0.5, 1.0, 1.0));
+ map.Insert("timePeriod", map2);
+ array.PushBack(Vector2(1, 0));
+ array.PushBack(Vector2(0, 1));
+ array.PushBack(Vector2(1, 0));
+ array.PushBack(Vector2(0, 0.5));
+ map.Insert("texCoords", array);
+ value = Property::Value( map );
+
+ std::ostringstream stream;
+ stream << value;
+
+ tet_printf("Checking Property::Value is %s", stream.str().c_str());
+
+ DALI_TEST_CHECK( !stream.str().compare("Map(3) = {color:[1, 0.5, 1, 1], timePeriod:Map(2) = {key:value, duration:10}, texCoords:Array(4) = [[1, 0], [0, 1], [1, 0], [0, 0.5]]}"));
+ }
+
+
END_TEST;
}