(AutomatedTests) Ensure warnings are shown as errors
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / dali-test-suite-utils.cpp
index 4c847d1..0a90c8e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2015 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.
  *
  */
 
+// CLASS HEADER
+#include "dali-test-suite-utils.h"
+
+// EXTERNAL INCLUDES
+#include <ostream>
+
 // INTERNAL INCLUDES
 #include <dali/public-api/dali-core.h>
-#include <stdarg.h>
-
-#include "dali-test-suite-utils.h"
 
 using namespace Dali;
 
@@ -51,30 +54,41 @@ void tet_printf(const char *format, ...)
   va_end(arg);
 }
 
-/**
- * DALI_TEST_CHECK is a wrapper for tet_result.
- * If the condition evaluates to false, then the function & line number is printed.
- * @param[in] The boolean expression to check
- */
-#define DALI_TEST_CHECK(condition)                                                        \
-if ( (condition) )                                                                        \
-{                                                                                         \
-  tet_result(TET_PASS);                                                                   \
-}                                                                                         \
-else                                                                                      \
-{                                                                                         \
-  fprintf(stderr, "%s Failed in %s at line %d\n", __PRETTY_FUNCTION__, __FILE__, __LINE__);    \
-  tet_result(TET_FAIL);                                                                   \
-}
-
 bool operator==(TimePeriod a, TimePeriod b)
 {
   return Equals(a.durationSeconds, b.durationSeconds) && Equals(a.delaySeconds, b.delaySeconds) ;
 }
 
-std::ostream& operator<< (std::ostream& o, const TimePeriod value)
+std::ostream& operator<<( std::ostream& ostream, TimePeriod value )
+{
+  return ostream << "( Duration:" << value.durationSeconds << " Delay:" << value.delaySeconds << ")";
+}
+
+std::ostream& operator<<( std::ostream& ostream, Radian angle )
 {
-  return o << "( Duration:" << value.durationSeconds << " Delay:" << value.delaySeconds << ")";
+  ostream << angle.radian;
+  return ostream;
+}
+
+std::ostream& operator<<( std::ostream& ostream, Degree angle )
+{
+  ostream << angle.degree;
+  return ostream;
+}
+
+void DALI_TEST_EQUALS( const BaseHandle& baseHandle1, const BaseHandle& baseHandle2, const char* location )
+{
+  DALI_TEST_EQUALS< const BaseHandle& >( baseHandle1, baseHandle2, location );
+}
+
+void DALI_TEST_EQUALS( const size_t value1, const unsigned int value2, const char* location )
+{
+  DALI_TEST_EQUALS< unsigned int>( ( unsigned int )( value1 ), value2, location );
+}
+
+void DALI_TEST_EQUALS( const unsigned int value1, const size_t value2, const char* location )
+{
+  DALI_TEST_EQUALS< unsigned int >( value1, ( unsigned int )( value2 ), location );
 }
 
 void DALI_TEST_EQUALS( const Matrix3& matrix1, const Matrix3& matrix2, const char* location)
@@ -85,10 +99,13 @@ void DALI_TEST_EQUALS( const Matrix3& matrix1, const Matrix3& matrix2, const cha
 
   for (int i=0;i<9;++i)
   {
-    equivalent &= (m1[i] != m2[i]);
+    if( ! (fabsf(m1[i] - m2[i])< GetRangedEpsilon(m1[i], m2[i])) )
+    {
+      equivalent = false;
+    }
   }
 
-  if (!equivalent)
+  if( !equivalent )
   {
     fprintf(stderr, "%s, checking\n"
                "(%f, %f, %f)    (%f, %f, %f)\n"
@@ -227,66 +244,11 @@ void DALI_TEST_EQUALS( const char* str1, const std::string &str2, const char* lo
   DALI_TEST_EQUALS(str1, str2.c_str(), location);
 }
 
-
-/**
- * Test whether one unsigned integer value is greater than another.
- * Test succeeds if value1 > value2
- * @param[in] value1 The first value
- * @param[in] value2 The second value
- * @param[in] location The TEST_LOCATION macro should be used here
- */
-void DALI_TEST_GREATER(unsigned int value1, unsigned int value2, const char* location)
-{
-  if (!(value1 > value2))
-  {
-    fprintf(stderr, "%s, checking %d > %d\n", location, value1, value2);
-    tet_result(TET_FAIL);
-  }
-  else
-  {
-    tet_result(TET_PASS);
-  }
-}
-
-/**
- * Test whether one float value is greater than another.
- * Test succeeds if value1 > value2
- * @param[in] value1 The first value
- * @param[in] value2 The second value
- * @param[in] location The TEST_LOCATION macro should be used here
- */
-void DALI_TEST_GREATER( float value1, float value2, const char* location)
-{
-  if (!(value1 > value2))
-  {
-    fprintf(stderr, "%s, checking %f > %f\n", location, value1, value2);
-    tet_result(TET_FAIL);
-  }
-  else
-  {
-    tet_result(TET_PASS);
-  }
-}
-
-/**
- * Test whether the assertion condition that failed and thus triggered the
- * exception \b e contained a given substring at the start of its literal text.
- * @param[in] e The exception that we expect was fired by a runtime assertion
- *              failure.
- * @param[in] conditionSubString The text that we expect to be present in an
- *                               assertion which triggered the exception.
- * @param[in] location The TEST_LOCATION macro should be used here.
- *
- * @remark **Side-effects:** The result of the tet test is set to TET_PASS if
- *         the substring is at the start of the exception's condition and
- *         TET_FAIL if it isn't. Note, if the result of a test is set multiple
- *         times, a TET_FAIL will override any number of TET_PASSes.
- */
 void DALI_TEST_ASSERT( DaliException& e, std::string conditionSubString, const char* location )
 {
-  if( 0u != e.mCondition.find( conditionSubString ))
+  if( NULL == strstr( e.condition, conditionSubString.c_str() ) )
   {
-    fprintf(stderr, "Assertion %s failed at %s\n", conditionSubString.c_str(), location);
+    fprintf(stderr, "Expected substring '%s' : actual exception string '%s' : location %s\n", conditionSubString.c_str(), e.condition, location );
     tet_result(TET_FAIL);
   }
   else
@@ -295,21 +257,13 @@ void DALI_TEST_ASSERT( DaliException& e, std::string conditionSubString, const c
   }
 }
 
-/** Self-documenting wrapper for DALI_TEST_ASSERT.
- * @copydoc DALI_TEST_ASSERT()
- */
-void DALI_TEST_ASSERT_CONDITION_STARTS_WITH_SUBSTRING( DaliException& exceptionFromAssertion, std::string conditionSubString, const char* location )
-{
-  DALI_TEST_ASSERT(exceptionFromAssertion, conditionSubString, location);
-}
-
 // Functor to test whether an Applied signal is emitted
 ConstraintAppliedCheck::ConstraintAppliedCheck( bool& signalReceived )
 : mSignalReceived( signalReceived )
 {
 }
 
-void ConstraintAppliedCheck::operator()( ActiveConstraint& constraint )
+void ConstraintAppliedCheck::operator()( Constraint& constraint )
 {
   mSignalReceived = true;
 }
@@ -345,9 +299,9 @@ void ConstraintAppliedCheck::CheckSignalNotReceived()
   }
 }
 
-BitmapImage CreateBitmapImage(int width, int height, const Vector4& color)
+BufferImage CreateBufferImage(int width, int height, const Vector4& color)
 {
-  BitmapImage image = BitmapImage::New(width, height, Pixel::RGBA8888);
+  BufferImage image = BufferImage::New(width, height, Pixel::RGBA8888);
 
   PixelBuffer* pixbuf = image.GetBuffer();
 
@@ -364,7 +318,7 @@ BitmapImage CreateBitmapImage(int width, int height, const Vector4& color)
   return image;
 }
 
-BitmapImage CreateBitmapImage()
+BufferImage CreateBufferImage()
 {
-  return CreateBitmapImage(4, 4, Color::WHITE);
+  return CreateBufferImage(4, 4, Color::WHITE);
 }