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;
}
bool Property::Value::Get( float& floatValue ) const
{
bool converted = false;
- if( mImpl && mImpl->type == FLOAT )
+ if( mImpl )
{
- floatValue = mImpl->floatValue;
- converted = true;
+ if( mImpl->type == FLOAT )
+ {
+ floatValue = mImpl->floatValue;
+ converted = true;
+ }
+ else if( IsIntegerType( mImpl->type ) )
+ {
+ floatValue = static_cast< float >( mImpl->integerValue );
+ converted = true;
+ }
}
return converted;
}
bool Property::Value::Get( int& integerValue ) const
{
bool converted = false;
- if( mImpl && IsIntegerType( mImpl->type ) )
+ if( mImpl )
{
- integerValue = mImpl->integerValue;
- converted = true;
+ if( IsIntegerType( mImpl->type ) )
+ {
+ integerValue = mImpl->integerValue;
+ converted = true;
+ }
+ else if( mImpl->type == FLOAT )
+ {
+ integerValue = static_cast< int >( mImpl->floatValue );
+ converted = true;
+ }
}
return converted;
}