⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 suite.cpp

📁 Password Safe Password Safe is a password database utility. Users can keep their passwords securely
💻 CPP
字号:
// suite.cpp#include "suite.h"#include <iostream>#include <stdexcept>#include <cassert>using namespace std;class TestSuiteError : public logic_error{public:    TestSuiteError(const string& s = "")        : logic_error(s)    {}};void Suite::addTest(Test* t) throw(TestSuiteError){    // Make sure test has a stream:    if (t == 0)        throw TestSuiteError("Null test in Suite::addTest");    else if (m_osptr != 0 && t->getStream() == 0)        t->setStream(m_osptr);    m_tests.push_back(t);    t->reset();}void Suite::addSuite(const Suite& s) throw(TestSuiteError){    for (size_t i = 0; i < s.m_tests.size(); ++i)        addTest(s.m_tests[i]);}void Suite::free(){    // This is not a destructor because tests    // don't have to be on the heap.    for (size_t i = 0; i < m_tests.size(); ++i)    {        delete m_tests[i];        m_tests[i] = 0;    }}void Suite::run(){    reset();    for (size_t i = 0; i < m_tests.size(); ++i)    {        assert(m_tests[i]);        m_tests[i]->run();    }}long Suite::report() const{    if (m_osptr)    {        long totFail = 0;        *m_osptr << "Suite \"" << m_name << "\"\n=======";        size_t i;        for (i = 0; i < m_name.size(); ++i)            *m_osptr << '=';        *m_osptr << "=\n";        for (i = 0; i < m_tests.size(); ++i)        {            assert(m_tests[i]);            totFail += m_tests[i]->report();        }        *m_osptr << "=======";        for (i = 0; i < m_name.size(); ++i)            *m_osptr << '=';        *m_osptr << "=\n";        return totFail;    }    else        return getNumFailed();}long Suite::getNumPassed() const{    long totPass = 0;    for (size_t i = 0; i < m_tests.size(); ++i)    {        assert(m_tests[i]);        totPass += m_tests[i]->getNumPassed();    }    return totPass;}long Suite::getNumFailed() const{    long totFail = 0;    for (size_t i = 0; i < m_tests.size(); ++i)    {        assert(m_tests[i]);        totFail += m_tests[i]->getNumFailed();    }    return totFail;}void Suite::reset(){    for (size_t i = 0; i < m_tests.size(); ++i)    {        assert(m_tests[i]);        m_tests[i]->reset();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -