diff options
Diffstat (limited to 'test/unit/cppunit/cppunit_mini.h')
-rw-r--r-- | test/unit/cppunit/cppunit_mini.h | 225 |
1 files changed, 0 insertions, 225 deletions
diff --git a/test/unit/cppunit/cppunit_mini.h b/test/unit/cppunit/cppunit_mini.h deleted file mode 100644 index 98b4a7a..0000000 --- a/test/unit/cppunit/cppunit_mini.h +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright (c) 2003, 2004 - * Zdenek Nemec - * - * This material is provided "as is", with absolutely no warranty expressed - * or implied. Any use is at your own risk. - * - * Permission to use or copy this software for any purpose is hereby granted - * without fee, provided the above notices are retained on all copies. - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. - * - */ - -/* $Id$ */ - -#ifndef _CPPUNITMPFR_H_ -#define _CPPUNITMPFR_H_ - -#if 0 -# define CPPUNIT_NS CppUnitMini -#else -# define CPPUNIT_NS -#endif - -#include <string.h> - -#if 0 -namespace CPPUNIT_NS -{ -#endif - class Reporter { - public: - virtual ~Reporter() {} - virtual void error(const char * /*macroName*/, const char * /*in_macro*/, const char * /*in_file*/, int /*in_line*/) {} - virtual void message( const char * /*msg*/ ) {} - virtual void progress( const char * /*in_className*/, const char * /*in_testName*/, bool /*ignored*/, bool /* explicit */) {} - virtual void end() {} - virtual void printSummary() {} - }; - - class TestFixture { - public: - virtual ~TestFixture() {} - - //! \brief Set up context before running a test. - virtual void setUp() {} - - //! Clean up after the test run. - virtual void tearDown() {} - }; - - class TestCase : public TestFixture { - public: - TestCase() { registerTestCase(this); } - - void setUp() { m_failed = false; } - static int run(Reporter *in_reporter = 0, const char *in_testName = "", bool invert = false); - int numErrors() { return m_numErrors; } - static void registerTestCase(TestCase *in_testCase); - - virtual void myRun(const char * /*in_name*/, bool /*invert*/ = false) {} - - virtual void error(const char *in_macroName, const char *in_macro, const char *in_file, int in_line) { - m_failed = true; - if (m_reporter) { - m_reporter->error(in_macroName, in_macro, in_file, in_line); - } - } - - static void message(const char *msg) { - if (m_reporter) { - m_reporter->message(msg); - } - } - - bool equalDoubles(double in_expected, double in_real, double in_maxErr) { - double diff = in_expected - in_real; - if (diff < 0.) { - diff = -diff; - } - return diff < in_maxErr; - } - - virtual void progress(const char *in_className, const char *in_functionName, bool ignored, bool explicitTest) { - ++m_numTests; - if (m_reporter) { - m_reporter->progress(in_className, in_functionName, ignored, explicitTest); - } - } - - bool shouldRunThis(const char *in_desiredTest, const char *in_className, const char *in_functionName, - bool invert, bool explicit_test, bool &do_progress) { - if ((in_desiredTest) && (in_desiredTest[0] != '\0')) { - do_progress = false; - const char *ptr = strstr(in_desiredTest, "::"); - if (ptr) { - bool match = (strncmp(in_desiredTest, in_className, strlen(in_className)) == 0) && - (strncmp(ptr + 2, in_functionName, strlen(in_functionName)) == 0); - // Invert shall not make explicit test run: - return invert ? (match ? !match : !explicit_test) - : match; - } - bool match = (strcmp(in_desiredTest, in_className) == 0); - do_progress = match; - return !explicit_test && (match == !invert); - } - do_progress = true; - return !explicit_test; - } - - void tearDown() { - if (m_failed) - ++m_numErrors; - m_reporter->end(); - } - - protected: - static int m_numErrors; - static int m_numTests; - - private: - static TestCase *m_root; - TestCase *m_next; - bool m_failed; - - static Reporter *m_reporter; - }; -#if 0 -} -#endif - -#if !defined (CPPUNIT_MINI_HIDE_UNUSED_VARIABLE) -# if defined (_MSC_VER) -# define CPPUNIT_MINI_HIDE_UNUSED_VARIABLE(v) (v); -# else -# define CPPUNIT_MINI_HIDE_UNUSED_VARIABLE(v) -# endif -#endif - -#define CPPUNIT_TEST_SUITE(X) \ - typedef CPPUNIT_NS::TestCase Base; \ - virtual void myRun(const char *in_name, bool invert = false) { \ - const char *className = #X; CPPUNIT_MINI_HIDE_UNUSED_VARIABLE(className) \ - bool ignoring = false; CPPUNIT_MINI_HIDE_UNUSED_VARIABLE(ignoring) - -#if defined CPPUNIT_MINI_USE_EXCEPTIONS -# define CPPUNIT_TEST_BASE(X, Y) \ - { \ - bool do_progress; \ - bool shouldRun = shouldRunThis(in_name, className, #X, invert, Y, do_progress); \ - if (shouldRun || do_progress) { \ - setUp(); \ - progress(className, #X, ignoring || !shouldRun, !ignoring && Y); \ - if (shouldRun && !ignoring) { \ - try { \ - X(); \ - } \ - catch(...) { \ - Base::error("Test Failed: An Exception was thrown.", #X, __FILE__, __LINE__); \ - } \ - } \ - tearDown(); \ - } \ - } -#else -# define CPPUNIT_TEST_BASE(X, Y) \ - { \ - bool do_progress; \ - bool shouldRun = shouldRunThis(in_name, className, #X, invert, Y, do_progress); \ - if (shouldRun || do_progress) { \ - setUp(); \ - progress(className, #X, ignoring || !shouldRun, !ignoring && Y); \ - if (shouldRun && !ignoring) \ - X(); \ - tearDown(); \ - } \ - } -#endif - -#define CPPUNIT_TEST(X) CPPUNIT_TEST_BASE(X, false) -#define CPPUNIT_EXPLICIT_TEST(X) CPPUNIT_TEST_BASE(X, true) - -#define CPPUNIT_IGNORE \ - ignoring = true - -#define CPPUNIT_STOP_IGNORE \ - ignoring = false - -#define CPPUNIT_TEST_SUITE_END() } - -#define CPPUNIT_TEST_SUITE_REGISTRATION(X) static X local - -#define CPPUNIT_CHECK(X) \ - if (!(X)) { \ - Base::error("CPPUNIT_CHECK", #X, __FILE__, __LINE__); \ - } - -#define CPPUNIT_ASSERT(X) \ - if (!(X)) { \ - Base::error("CPPUNIT_ASSERT", #X, __FILE__, __LINE__); \ - return; \ - } - -#define CPPUNIT_FAIL { \ - Base::error("CPPUNIT_FAIL", "", __FILE__, __LINE__); \ - return; \ - } - -#define CPPUNIT_ASSERT_EQUAL(X, Y) \ - if ((X) != (Y)) { \ - Base::error("CPPUNIT_ASSERT_EQUAL", #X","#Y, __FILE__, __LINE__); \ - return; \ - } - -#define CPPUNIT_ASSERT_DOUBLES_EQUAL(X, Y, Z) \ - if (!equalDoubles((X), (Y), (Z))) { \ - Base::error("CPPUNIT_ASSERT_DOUBLES_EQUAL", #X","#Y","#Z, __FILE__, __LINE__); \ - return; \ - } - -#define CPPUNIT_MESSAGE(m) CPPUNIT_NS::TestCase::message(m) - -#endif |