Frobby 0.9.5
Test.h
Go to the documentation of this file.
1/* Frobby: Software for monomial ideal computations.
2 Copyright (C) 2009 Bjarke Hammersholt Roune (www.broune.com)
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see http://www.gnu.org/licenses/.
16*/
17#ifndef TEST_GUARD
18#define TEST_GUARD
19
20#include <vector>
21#include <string>
22
23class TestVisitor;
24
29class Test {
30public:
32 Test(const string& name);
33 virtual ~Test();
34
38 virtual bool accept(TestVisitor& visitor) = 0;
39
41 const string& getName() const;
42
44 bool operator<(const Test& test) const;
45
46 private:
48 string _name;
49};
50
51#endif
This class is a visitor for classes derived from Test according to the Visitor Pattern.
Definition: TestVisitor.h:26
This class represents a test or a suite of tests according to the Composite Pattern.
Definition: Test.h:29
virtual bool accept(TestVisitor &visitor)=0
Makes the visitor visit this object as per the Visitor Pattern.
string _name
The name passed to the constructor.
Definition: Test.h:48
virtual ~Test()
Definition: Test.cpp:24
const string & getName() const
Returns the name passed to the constructor.
Definition: Test.cpp:27
Test(const string &name)
Construct a Test with the given name.
Definition: Test.cpp:20
bool operator<(const Test &test) const
Compares names lexicographically.
Definition: Test.cpp:31