📄 suite.h
字号:
//: TestSuite:Suite.h
#ifndef SUITE_H
#define SUITE_H
#include "../TestSuite/Test.h"
#include <vector>
#include <stdexcept>
using std::vector;
using std::logic_error;
namespace TestSuite {
class TestSuiteError : public logic_error {
public:
TestSuiteError(const string& s = "")
: logic_error(s) {}
};
class Suite {
public:
Suite(const string& name, ostream* osptr = &cout);
string getName() const;
long getNumPassed() const;
long getNumFailed() const;
const ostream* getStream() const;
void setStream(ostream* osptr);
void addTest(Test* t) throw (TestSuiteError);
void addSuite(const Suite&);
void run(); // Calls Test::run() repeatedly
long report() const;
void free(); // Deletes tests
private:
string name;
ostream* osptr;
vector<Test*> tests;
void reset();
// Disallowed ops:
Suite(const Suite&);
Suite& operator=(const Suite&);
};
inline
Suite::Suite(const string& name, ostream* osptr)
: name(name) {
this->osptr = osptr;
}
inline string Suite::getName() const {
return name;
}
inline const ostream* Suite::getStream() const {
return osptr;
}
inline void Suite::setStream(ostream* osptr) {
this->osptr = osptr;
}
} // namespace TestSuite
#endif // SUITE_H ///:~
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -