The Power in your Hands
Search Site:
About
Features
Documentation
Download
Community
Main
Class Index
Namespaces
Modules
include
Pt
Unit
TestCase.h
1
/*
2
* Copyright (C) 2005-2008 by Dr. Marc Boris Duerner
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* As a special exception, you may use this file as part of a free
10
* software library without restriction. Specifically, if other files
11
* instantiate templates or use macros or inline functions from this
12
* file, or you compile this file and link it with other files to
13
* produce an executable, this file does not by itself cause the
14
* resulting executable to be covered by the GNU General Public
15
* License. This exception does not however invalidate any other
16
* reasons why the executable file might be covered by the GNU Library
17
* General Public License.
18
*
19
* This library is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
* Lesser General Public License for more details.
23
*
24
* You should have received a copy of the GNU Lesser General Public
25
* License along with this library; if not, write to the Free Software
26
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
27
*/
28
#ifndef PT_UNIT_TESTCASE_H
29
#define PT_UNIT_TESTCASE_H
30
31
#include <Pt/Unit/Api.h>
32
#include <Pt/Unit/Test.h>
33
#include <Pt/Unit/TestFixture.h>
34
#include <string>
35
36
namespace
Pt
{
37
38
namespace
Unit {
39
80
class
PT_UNIT_API
TestCase
:
public
Test
81
,
public
TestFixture
82
{
83
private
:
85
class
PT_UNIT_API Context :
public
TestContext
86
{
87
public
:
88
Context(
TestFixture
& fixture,
TestCase
& test)
89
:
TestContext
(fixture, test)
90
, _test(test)
91
{}
92
93
protected
:
94
virtual
void
exec()
95
{ _test.test(); }
96
97
private
:
98
TestCase
& _test;
99
};
100
101
public
:
108
TestCase
(
const
std::string& name);
109
115
virtual
void
run
();
116
122
virtual
void
setUp
();
123
130
virtual
void
tearDown
();
131
132
protected
:
137
virtual
void
test
() = 0;
138
};
139
140
}
// namespace Unit
141
142
}
// namespace Pt
143
144
#endif
Pt
Core module.
Definition:
Allocator.h:33
Pt::Unit::TestCase::test
virtual void test()=0
Implements the actual test procedure When the test is run, this method will be called after setUp and...
Pt::Unit::TestFixture
Fixture interface for tests.
Definition:
TestFixture.h:42
Pt::Unit::TestContext
Context in which test are run.
Definition:
TestContext.h:47
Pt::Unit::TestCase
Single test with setup and teardown.
Definition:
TestCase.h:82
Pt::Unit::TestCase::TestCase
TestCase(const std::string &name)
Construct by name.
Pt::Unit::TestCase::tearDown
virtual void tearDown()
Clean up after the test run.
Pt::Unit::Test
Test base class
Definition:
Test.h:55
Pt::Unit::TestCase::run
virtual void run()
Runs the test When the test is run, 'setUp' will be called first, then 'test' and finally 'tearDown'....
Pt::Unit::TestCase::setUp
virtual void setUp()
Set up conText before running a test.