The Power in your Hands
Search Site:
About
Features
Documentation
Download
Community
Main
Classes
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
78
class
PT_UNIT_API
TestCase
:
public
Test
79
,
public
TestFixture
80
{
81
private
:
83
class
PT_UNIT_API Context :
public
TestContext
84
{
85
public
:
86
Context(
TestFixture
& fixture,
TestCase
& test)
87
:
TestContext
(fixture, test)
88
, _test(test)
89
{}
90
91
protected
:
92
virtual
void
exec()
93
{ _test.test(); }
94
95
private
:
96
TestCase
& _test;
97
};
98
99
public
:
106
TestCase
(
const
std::string& name);
107
113
virtual
void
run();
114
120
virtual
void
setUp();
121
128
virtual
void
tearDown();
129
130
protected
:
135
virtual
void
test() = 0;
136
};
137
138
}
// namespace Unit
139
140
}
// namespace Pt
141
142
#endif
Pt::Unit::TestContext
Context in which test are run.
Definition:
TestContext.h:46
Pt::Unit::TestFixture
Fixture interface for tests.
Definition:
TestFixture.h:40
Pt::Unit::Test
Test base class
Definition:
Test.h:54
Pt::Unit::TestCase
Single test with setup and teardown.
Definition:
TestCase.h:78