Frobby 0.9.5
TestSuite.cpp
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#include "stdinc.h"
18#include "TestSuite.h"
19
20#include "TestVisitor.h"
21#include <algorithm>
22
24 Test(name) {
25}
26
28 ASSERT(test != 0);
29 _tests.push_back(test);
30}
31
32namespace {
36 bool comparePointedToValue(const Test* a, const Test* b) {
37 ASSERT(a != 0);
38 ASSERT(b != 0);
39 return *a < *b;
40 }
41}
42
44 std::sort(begin(), end(), comparePointedToValue);
45}
46
50
54
56 return visitor.visit(*this);
57}
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
TestSuite(const string &name)
Constructs a test suite with the given name.
Definition TestSuite.cpp:23
TestIterator begin()
Returns an iterator to the beginning of the range of added tests.
Definition TestSuite.cpp:47
vector< Test * > _tests
The collection of tests of added tests.
Definition TestSuite.h:58
vector< Test * >::iterator TestIterator
An iterator for the added tests.
Definition TestSuite.h:42
void sortTests()
Sorts the added tests in some canonical order.
Definition TestSuite.cpp:43
void add(Test *test)
Adds a test to the test suite.
Definition TestSuite.cpp:27
TestIterator end()
Returns an iterator just past the end of the range of added tests.
Definition TestSuite.cpp:51
virtual bool accept(TestVisitor &visitor)
Makes the visitor visit this object as per the Visitor Pattern.
Definition TestSuite.cpp:55
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
#define ASSERT(X)
Definition stdinc.h:86