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=ac9b214a2629ac9674b364d7847864c4a262c8f4;hp=ed1a65f40597d7b602d6938155ea3f14c3b2c338;hb=643e17bf9bb5f727de766ab0a34b6142ad32697c;hpb=07a73413cfefa18105d94f952efb62884b8ed9a1 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 ed1a65f..ac9b214 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 @@ -1,8 +1,8 @@ -#ifndef __DALI_TEST_SUITE_UTILS_H__ -#define __DALI_TEST_SUITE_UTILS_H__ +#ifndef DALI_TEST_SUITE_UTILS_H +#define DALI_TEST_SUITE_UTILS_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -34,6 +34,7 @@ void tet_printf(const char *format, ...); #include "test-application.h" #include "test-actor-utils.h" +#include "test-gesture-generator.h" using namespace Dali; @@ -304,6 +305,17 @@ void DALI_TEST_EQUALS( const std::string &str1, const char* str2, const char* lo void DALI_TEST_EQUALS( const char* str1, const std::string &str2, const char* location); /** + * Test if a property value type is equal to a trivial type. + */ +template +inline void DALI_TEST_VALUE_EQUALS( Property::Value&& value1, Type value2, float epsilon, const char* location) +{ + Property::Value value2b(value2); + DALI_TEST_EQUALS(value1, value2b, epsilon, location); +} + + +/** * Test whether one unsigned integer value is greater than another. * Test succeeds if value1 > value2 * @param[in] value1 The first value @@ -344,6 +356,27 @@ inline void DALI_TEST_PRINT_ASSERT( DaliException& e ) tet_printf("Assertion %s failed at %s\n", e.condition, e.location ); } +/** + * Test that given piece of code triggers the right assertion + * Fails the test if the assert didn't occur. + * Turns off logging during the execution of the code to avoid excessive false positive log output from the assertions + * @param expressions code to execute + * @param assertstring the substring expected in the assert + */ +#define DALI_TEST_ASSERTION( expressions, assertstring ) \ +try \ +{ \ + TestApplication::EnableLogging( false ); \ + expressions; \ + TestApplication::EnableLogging( true ); \ + fprintf(stderr, "Test failed in %s, expected assert: '%s' didn't occur\n", __FILELINE__, assertstring ); \ + tet_result(TET_FAIL); \ + throw("TET_FAIL"); } \ +catch( Dali::DaliException& e ) \ +{ \ + DALI_TEST_ASSERT( e, assertstring, TEST_LOCATION ); \ +} + // Functor to test whether an Applied signal is emitted struct ConstraintAppliedCheck { @@ -371,15 +404,6 @@ struct DefaultFunctionCoverage } }; - -// Helper to Create buffer image -BufferImage CreateBufferImage(); -BufferImage CreateBufferImage(int32_t width, int32_t height, const Vector4& color); - - -// Prepare a resource image to be loaded. Should be called before creating the ResourceImage -void PrepareResourceImage( TestApplication& application, uint32_t imageWidth, uint32_t imageHeight, Pixel::Format pixelFormat ); - // Test namespace to prevent pollution of Dali namespace, add Test helper functions here namespace Test { @@ -398,8 +422,9 @@ public: /** * @brief Call in main part of code + * @param[in] objectRegistry The object Registry being used */ - ObjectDestructionTracker(); + ObjectDestructionTracker( ObjectRegistry objectRegistry ); /** * @brief Call in sub bock of code where the Actor being checked is still alive. @@ -416,9 +441,10 @@ public: bool IsDestroyed(); private: + ObjectRegistry mObjectRegistry; bool mRefObjectDestroyed; }; } // namespace Test -#endif // __DALI_TEST_SUITE_UTILS_H__ +#endif // DALI_TEST_SUITE_UTILS_H