X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Fdali-test-suite-utils.h;h=03c788cd0d201c133c069d2e7cfe1b9c17eff9f4;hp=79d422b15aacbef6044ce707045404885da801c9;hb=5a2a5883422f4d114902ac57d57d7d1e973fbb2e;hpb=e2d3bdc173f657ddf0a0c58062a61bbbaaf6f9da diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h index 79d422b..03c788c 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.h @@ -20,10 +20,13 @@ // EXTERNAL INCLUDES #include +#include #include +#include // INTERNAL INCLUDES #include +#include void tet_infoline(const char*str); void tet_printf(const char *format, ...); @@ -73,176 +76,6 @@ else throw("TET_FAIL"); \ } -template -inline bool CompareType(Type value1, Type value2, float epsilon); - -/** - * A helper for fuzzy-comparing Vector2 objects - * @param[in] vector1 the first object - * @param[in] vector2 the second object - * @param[in] epsilon difference threshold - * @returns true if difference is smaller than epsilon threshold, false otherwise - */ -template <> -inline bool CompareType(float value1, float value2, float epsilon) -{ - return fabsf(value1 - value2) < epsilon; -} - -/** - * A helper for fuzzy-comparing Vector2 objects - * @param[in] vector1 the first object - * @param[in] vector2 the second object - * @param[in] epsilon difference threshold - * @returns true if difference is smaller than epsilon threshold, false otherwise - */ -template <> -inline bool CompareType(Vector2 vector1, Vector2 vector2, float epsilon) -{ - return fabsf(vector1.x - vector2.x) -inline bool CompareType(Vector3 vector1, Vector3 vector2, float epsilon) -{ - return fabsf(vector1.x - vector2.x) -inline bool CompareType(Vector4 vector1, Vector4 vector2, float epsilon) -{ - return fabsf(vector1.x - vector2.x) -inline bool CompareType(Quaternion q1, Quaternion q2, float epsilon) -{ - Quaternion q2N = -q2; // These quaternions represent the same rotation - return CompareType(q1.mVector, q2.mVector, epsilon) || CompareType(q1.mVector, q2N.mVector, epsilon); -} - -template <> -inline bool CompareType(Radian q1, Radian q2, float epsilon) -{ - return CompareType(q1.radian, q2.radian, epsilon); -} - -template <> -inline bool CompareType(Degree q1, Degree q2, float epsilon) -{ - return CompareType(q1.degree, q2.degree, epsilon); -} - -template <> -inline bool CompareType(Property::Value q1, Property::Value q2, float epsilon) -{ - Property::Type type = q1.GetType(); - if( type != q2.GetType() ) - { - return false; - } - - bool result = false; - switch(type) - { - case Property::BOOLEAN: - { - bool a, b; - q1.Get(a); - q2.Get(b); - result = a == b; - break; - } - case Property::INTEGER: - { - int a, b; - q1.Get(a); - q2.Get(b); - result = a == b; - break; - } - case Property::FLOAT: - { - float a, b; - q1.Get(a); - q2.Get(b); - result = CompareType(a, b, epsilon); - break; - } - case Property::VECTOR2: - { - Vector2 a, b; - q1.Get(a); - q2.Get(b); - result = CompareType(a, b, epsilon); - break; - } - case Property::VECTOR3: - { - Vector3 a, b; - q1.Get(a); - q2.Get(b); - result = CompareType(a, b, epsilon); - break; - } - case Property::RECTANGLE: - case Property::VECTOR4: - { - Vector4 a, b; - q1.Get(a); - q2.Get(b); - result = CompareType(a, b, epsilon); - break; - } - case Property::ROTATION: - { - Quaternion a, b; - q1.Get(a); - q2.Get(b); - result = CompareType(a, b, epsilon); - break; - } - case Property::MATRIX: - case Property::MATRIX3: - case Property::STRING: - case Property::ARRAY: - case Property::MAP: - { - //TODO: Implement this? - DALI_ASSERT_ALWAYS( 0 && "Not implemented"); - result = false; - break; - } - case Property::NONE: - { - result = false; - break; - } - } - - return result; -} - bool operator==(TimePeriod a, TimePeriod b); std::ostream& operator<<( std::ostream& ostream, TimePeriod value ); @@ -258,7 +91,7 @@ std::ostream& operator<<( std::ostream& ostream, Degree angle ); template inline void DALI_TEST_EQUALS(Type value1, Type value2, const char* location) { - if (!(value1 == value2)) + if( !CompareType(value1, value2, 0.01f) ) { std::ostringstream o; o << value1 << " == " << value2 << std::endl; @@ -514,6 +347,7 @@ struct DefaultFunctionCoverage BufferImage CreateBufferImage(); BufferImage CreateBufferImage(int width, int height, const Vector4& color); + // Prepare a resource image to be loaded. Should be called before creating the ResourceImage void PrepareResourceImage( TestApplication& application, unsigned int imageWidth, unsigned int imageHeight, Pixel::Format pixelFormat );