or { public: TestSuiteError(co

Автор admin Четверг, 7 мая 2009 11:32

or { public: TestSuiteError(const strings s = “”) : logic_error(s) {} }: class Suite { string name; ostream* osptr; vector tests: void resetO; // Запрещенные операции: Suite(const SuiteS); Suites operator=(const SuiteS); public: Suite(const strings name, ostream* osptr = Scout) : name(name) { this->osptr = osptr; } string getNameO const { return name; } long getNumPassedO const; long getNumFailedO const: const ostream* getStreamO const { return osptr; } void setStream(ostream* osptr) { this->osptr = osptr; } void addTest(Test* t) throw (TestSuiteError); void addSuite(const SuiteS); 80 Глава 2 • Защитное программирование void run(); // Многократно вызывает Test::run() long reportО const: void freeO: // Уничтожает объекты тестов }: } // namespace TestSuite #endif // SUITE_H ///:- Класс Suite хранит указатели на объекты Test в векторе. Обратите внимание на спецификацию исключений в объявлении функции addTest(). При включении нового объекта теста в контейнер функция Suite::addTest() убеждается в том, что переданный указатель отличен от null; в противном случае генерируется исключение TestSuite E


Комментарии закрыты.