Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

TestSuite.cpp

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------
00002 // Lamp : Open source game middleware
00003 // Copyright (C) 2004  Junpei Ohtani ( Email : junpee@users.sourceforge.jp )
00004 //
00005 // This library is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public
00007 // License as published by the Free Software Foundation; either
00008 // version 2.1 of the License, or (at your option) any later version.
00009 //
00010 // This library is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with this library; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 //------------------------------------------------------------------------------
00019 
00020 /** @file
00021  * テストスィート実装
00022  * @author Junpee
00023  */
00024 
00025 #include <LampBasic.h>
00026 #include "LampUnit/TestSuite.h"
00027 #include "LampUnit/TestResult.h"
00028 
00029 namespace LampUnit{
00030 
00031 //------------------------------------------------------------------------------
00032 // コンストラクタ
00033 TestSuite::TestSuite(Lamp::String name) :
00034     name_(name), string_("Suite " + name_){
00035 }
00036 //------------------------------------------------------------------------------
00037 // デストラクタ
00038 TestSuite::~TestSuite(){
00039     int count = tests_.getCount();
00040     for(int i = 0; i < count; i++){ delete tests_[i]; }
00041     tests_.clear();
00042 }
00043 //------------------------------------------------------------------------------
00044 // テストの追加
00045 void TestSuite::addTest(Test* test){
00046     tests_.add(test);
00047 }
00048 //------------------------------------------------------------------------------
00049 // テストを実行する
00050 void TestSuite::run(TestResult* result){
00051     int count = tests_.getCount();
00052     for(int i = 0; i < count; i++){
00053         if(result->shouldStop()){ break; }
00054         tests_[i]->run(result);
00055     }
00056 }
00057 //------------------------------------------------------------------------------
00058 // テストケースの個数を取得
00059 int TestSuite::getCountTestCases() const{
00060     int testCount = 0;
00061     int count = tests_.getCount();
00062     for(int i = 0; i < count; i++){
00063         testCount += tests_[i]->getCountTestCases();
00064     }
00065     return testCount;
00066 }
00067 //------------------------------------------------------------------------------
00068 } // End of namespace LampUnit
00069 //------------------------------------------------------------------------------

Generated on Wed Mar 16 10:29:54 2005 for LampUnit by doxygen 1.3.2