[Mockpp-commits] mockpp/mockpp/examples mock_greeter.cpp,1.18,1.19
Brought to you by:
ewald-arnold
From: Ewald A. <ewa...@us...> - 2005-12-17 18:38:56
|
Update of /cvsroot/mockpp/mockpp/mockpp/examples In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11686/mockpp/examples Modified Files: mock_greeter.cpp Log Message: fixes/ports with bcb5 Index: mock_greeter.cpp =================================================================== RCS file: /cvsroot/mockpp/mockpp/mockpp/examples/mock_greeter.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- mock_greeter.cpp 1 Dec 2005 19:43:03 -0000 1.18 +++ mock_greeter.cpp 17 Dec 2005 18:38:47 -0000 1.19 @@ -32,15 +32,36 @@ #include <mockpp/mockpp.h> // always first +#include <mockpp/framework/SelectUnittestFramework.h> + #include <iostream> -#ifndef HAVE_CPPUNIT -# warning CppUnit not available at compile time +#if defined(HAVE_CXXTEST) + +#include <cxxtest/TestRunner.h> + +#include <mockpp/framework/CxxTestRunner.h> + +#if defined(GUI_QT) +# include <cxxtest/StdioPrinter.h> +# include <cxxtest/QtGui.h> +#elif defined(GUI_X11) +# include <cxxtest/StdioPrinter.h> +# include <cxxtest/X11Gui.h> +#elif defined(GUI_WIN32) +# include <cxxtest/StdioPrinter.h> +# include <cxxtest/Win32Gui.h> #else +# include <cxxtest/ErrorPrinter.h> +#endif + +#elif defined(HAVE_CPPUNIT) + # include <cppunit/extensions/HelperMacros.h> # include <cppunit/extensions/TestFactoryRegistry.h> # include <cppunit/ui/text/TestRunner.h> # include <cppunit/extensions/HelperMacros.h> + #endif #include <mockpp/MockObject.h> @@ -257,32 +278,30 @@ }; -#ifdef HAVE_CPPUNIT -class Streamer_test : public CppUnit::TestFixture -#else -class Streamer_test -#endif // HAVE_CPPUNIT +class Streamer_test MOCKPP_DERIVE_PUBLIC_UNITFRAMEWORK { public: -#ifdef HAVE_CPPUNIT +#if defined (HAVE_CXXTEST) + +#elif defined(HAVE_CPPUNIT) CPPUNIT_TEST_SUITE( Streamer_test ); CPPUNIT_TEST(test_write_ok); CPPUNIT_TEST(test_read_ok); - - CPPUNIT_TEST_EXCEPTION(fail_wrong_name, mockpp::AssertionFailedError); - CPPUNIT_TEST_EXCEPTION(fail_missing_open, mockpp::AssertionFailedError); - CPPUNIT_TEST_EXCEPTION(fail_missing_read, mockpp::AssertionFailedError); - CPPUNIT_TEST_EXCEPTION(fail_missing_close, mockpp::AssertionFailedError); - CPPUNIT_TEST_EXCEPTION(fail_missing_close_on_error, mockpp::AssertionFailedError); + CPPUNIT_TEST(fail_wrong_name); + CPPUNIT_TEST(fail_missing_open); + CPPUNIT_TEST(fail_missing_read); + CPPUNIT_TEST(fail_missing_close); + CPPUNIT_TEST(fail_missing_close_on_error); CPPUNIT_TEST_SUITE_END(); #endif // HAVE_CPPUNIT public: + void test_write_ok(); void test_read_ok(); @@ -294,8 +313,22 @@ }; -#ifdef HAVE_CPPUNIT +#if defined (HAVE_CXXTEST) + +MOCKPP_CXXTEST_SUITE_REGISTRATION( Streamer_test ); + +MOCKPP_CXXTEST(Streamer_test, test_write_ok); +MOCKPP_CXXTEST(Streamer_test, test_read_ok); +MOCKPP_CXXTEST(Streamer_test, fail_wrong_name); +MOCKPP_CXXTEST(Streamer_test, fail_missing_open); +MOCKPP_CXXTEST(Streamer_test, fail_missing_read); +MOCKPP_CXXTEST(Streamer_test, fail_missing_close); +MOCKPP_CXXTEST(Streamer_test, fail_missing_close_on_error); + +#elif defined(HAVE_CPPUNIT) + CPPUNIT_TEST_SUITE_REGISTRATION(Streamer_test); + #endif // HAVE_CPPUNIT @@ -322,7 +355,18 @@ HelloWriter hw(HelloWriter::BugNone, MOCKPP_PCHAR("world")); StorageMockReader sm; // no read here - sm.verify(); + bool thrown = false; + MOCKPP_TRY + { + sm.verify(); + } +#ifndef MOCKPP_NO_EXCEPTIONS + catch(mockpp::AssertionFailedError &) + { + thrown = true; + } +#endif + MOCKPP_ASSERT_TRUE(thrown == true); } @@ -331,7 +375,18 @@ HelloWriter hw(HelloWriter::BugNone, MOCKPP_PCHAR("alice")); // wrong name StorageMockWriter sm; hw.do_hello(sm); - sm.verify(); + bool thrown = false; + MOCKPP_TRY + { + sm.verify(); + } +#ifndef MOCKPP_NO_EXCEPTIONS + catch(mockpp::AssertionFailedError &) + { + thrown = true; + } +#endif + MOCKPP_ASSERT_TRUE(thrown == true); } @@ -340,7 +395,18 @@ HelloWriter hw(HelloWriter::BugMissingOpen, MOCKPP_PCHAR("world")); StorageMockWriter sm; hw.do_hello(sm); - sm.verify(); + bool thrown = false; + MOCKPP_TRY + { + sm.verify(); + } +#ifndef MOCKPP_NO_EXCEPTIONS + catch(mockpp::AssertionFailedError &) + { + thrown = true; + } +#endif + MOCKPP_ASSERT_TRUE(thrown == true); } @@ -349,7 +415,18 @@ HelloWriter hw(HelloWriter::BugMissingCloseOnEnd, MOCKPP_PCHAR("world")); StorageMockWriter sm; hw.do_hello(sm); - sm.verify(); + bool thrown = false; + MOCKPP_TRY + { + sm.verify(); + } +#ifndef MOCKPP_NO_EXCEPTIONS + catch(mockpp::AssertionFailedError &) + { + thrown = true; + } +#endif + MOCKPP_ASSERT_TRUE(thrown == true); } @@ -359,21 +436,86 @@ StorageMockReader sm; hw.do_listen(sm); hw.do_listen(sm); - sm.verify(); + bool thrown = false; + MOCKPP_TRY + { + sm.verify(); + } +#ifndef MOCKPP_NO_EXCEPTIONS + catch(mockpp::AssertionFailedError &) + { + thrown = true; + } +#endif + MOCKPP_ASSERT_TRUE(thrown == true); } +#if defined(HAVE_CXXTEST) -int main(int /* argc */, char ** /* argv */) +int run_cxxtest(int argc, char **argv) +{ +#if defined(GUI_QT) + return CxxTest::GuiTuiRunner<CxxTest::QtGui, CxxTest::StdioPrinter>( argc, argv ).run(); +#elif defined(GUI_X11) + return CxxTest::GuiTuiRunner<CxxTest::X11Gui, CxxTest::StdioPrinter>( argc, argv ).run(); +#elif defined(GUI_WIN32) + return CxxTest::GuiTuiRunner<CxxTest::Win32Gui, CxxTest::StdioPrinter>( argc, argv ).run(); +#else + CxxTest::ErrorPrinter ep; + mockpp::CxxTestRunner::runAllTests(ep); + return CxxTest::tracker().failedTests(); + //return CxxTest::ErrorPrinter().run(); +#endif +} + +#elif defined(HAVE_CPPUNIT) + +int run_cppunit(int argc, char **argv) { int ret = 1; -#ifdef HAVE_CPPUNIT - std::cout << mockpp::getLatin1(mockpp_i18n("Now running cppunit tests:\n\n")).c_str(); CppUnit::TextUi::TestRunner runner; CppUnit::TestFactory ®istry = CppUnit::TestFactoryRegistry::getRegistry(); + runner.addTest(registry.makeTest()); - ret = runner.run(); + + MyListener *listener = 0; + for (int i1 = 1; i1 < argc; ++i1) + if (strcmp (argv[1], "--show-name") == 0) + runner.eventManager().addListener(listener = new MyListener()); + +#ifndef __BORLANDC__ // @todo + for (int i2 = 1; i2 < argc; ++i2) + if (strcmp (argv[i2], "--compiler-output") == 0) + runner.setOutputter( CppUnit::CompilerOutputter::defaultOutputter(&runner.result(), std::cerr ) ); +#endif + + ret = runner.run() ? 0 : 1; + delete listener; + return ret; +} + +#endif + +int main(int argc, char ** argv) +{ + int ret = 1; + +#if defined(HAVE_CXXTEST) + + ret = run_cxxtest(argc, argv); + +#elif defined(HAVE_CPPUNIT) + + std::cout << "Options\n"; + std::cout << " --show-name show method names before calling\n"; + std::cout << " --compiler-output output similar to compilers\n"; + + ret = run_cppunit(argc, argv); + + std::cout << "\n"; + #else - std::cout << mockpp::getLatin1(mockpp_i18n("CppUnit was not available at compile time!\n")).c_str(); + std::cout << mockpp::getLatin1(mockpp_i18n("Test framework was not available at compile time!\n")).c_str(); std::cout << mockpp::getLatin1(mockpp_i18n("Will use mockpp features only.\n\n")).c_str(); #endif |