TestThread.h

Go to the documentation of this file.
00001 
00002 //
00003 // This source file is a part of ParCompMark
00004 // Parallel Compositing Benchmark Framework
00005 //
00006 // for latest info see http://parcompmark.sourceforge.net
00007 
00008 //
00009 // Copyright (C) 2006 IT2 ParCompMark Dev. Team
00010 // 
00011 // This program is free software; you can redistribute it and/or
00012 // modify it under the terms of the GNU General Public License
00013 // as published by the Free Software Foundation; either version 2
00014 // of the License, or (at your option) any later version.
00015 // 
00016 // This program is distributed in the hope that it will be useful,
00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019 // GNU General Public License for more details.
00020 // 
00021 // You should have received a copy of the GNU General Public License
00022 // along with this program; if not, write to the Free Software
00023 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00024 
00027 
00028 #ifndef __TEST_THREAD_H__
00029 #  define __TEST_THREAD_H__
00030 
00031 //
00032 // CppUnit include
00033 //
00034 #  include <cppunit/extensions/HelperMacros.h>
00035 
00036 //
00037 // Tested class include
00038 //
00039 #  define PARCOMPMARK_TEST
00040 #  include "../../include/PCMThread.h"
00041 #  undef PARCOMPMARK_TEST
00042 
00043 //
00044 // Opening namespace of the tested project
00045 //
00046 using namespace ParCompMark;
00047 
00048 namespace ParCompMarkTest
00049 {
00050 
00056   class TestThread:public CppUnit::TestFixture
00057   {
00058 
00059         // First, we declare the suite, passing the class name to the macro:
00061         CPPUNIT_TEST_SUITE(TestThread);
00062 
00063         // Then, we declare each test case of the fixture:
00065         CPPUNIT_TEST(test_constructor_cstd__string);
00066         CPPUNIT_TEST(test_destructor);
00067         CPPUNIT_TEST(test_initThread_cu32_cu32_cbool_cbool);
00068         CPPUNIT_TEST(test_threadInitialize);
00069         CPPUNIT_TEST(test_threadFinalize);
00070         CPPUNIT_TEST(test_startThread);
00071         CPPUNIT_TEST(test_joinThread);
00072         CPPUNIT_TEST(test_shutDownThread);
00073         CPPUNIT_TEST(test_stopThread);
00074         CPPUNIT_TEST(test_yield);
00075         CPPUNIT_TEST(test_getUSTime);
00076         CPPUNIT_TEST(test_entryPoint_void_p);
00077         CPPUNIT_TEST(test_thread);
00078         CPPUNIT_TEST(test_iteration);
00079         CPPUNIT_TEST(test_task);
00080         CPPUNIT_TEST(test_wait);
00081         CPPUNIT_TEST(test_go);
00082 
00083         // Finally, we end the suite declaration:
00085         CPPUNIT_TEST_SUITE_END();
00086 
00087    public:
00088 
00090         void setUp();
00091 
00093         void tearDown();
00094 
00095    protected:
00096 
00097         //
00098         // Constructor & destructor tests
00099         //
00100 
00104         void test_constructor_cstd__string();
00105 
00109         void test_destructor();
00110 
00111         //
00112         // Class method tests
00113         //
00114 
00118         void test_yield();
00119 
00123         void test_getUSTime();
00124 
00128         void test_entryPoint_void_p();
00129 
00130         //
00131         // Method tests
00132         //
00133 
00137         void test_initThread_cu32_cu32_cbool_cbool();
00138 
00142         void test_threadInitialize();
00143 
00147         void test_threadFinalize();
00148 
00152         void test_startThread();
00153 
00157         void test_joinThread();
00158 
00162         void test_shutDownThread();
00163 
00167         void test_stopThread();
00168 
00172         void test_go();
00173 
00177         void test_thread();
00178 
00182         void test_iteration();
00183 
00187         void test_task();
00188 
00192         void test_wait();
00193 
00194   };
00195 
00196 }
00197 
00198 #endif