testfrmwk.hpp

来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 67 行

HPP
67
字号
#ifndef TEST_FRMWK_HPP___#define TEST_FRMWK_HPP___/* Copyright (c) 2002,2003 CrystalClear Software, Inc. * Use, modification and distribution is subject to the  * Boost Software License, Version 1.0. (See accompanying * file LICENSE-1.0 or http://www.boost.org/LICENSE-1.0) * $Date: 2004/05/23 10:39:23 $ */#include <iostream>#include <string>//! Really simple test framework for counting and printingclass TestStats{public:  static TestStats& instance() {static TestStats ts; return ts;}  void addPassingTest() {testcount_++; passcount_++;}  void addFailingTest() {testcount_++;}  unsigned int testcount() const {return testcount_;}  unsigned int passcount() const {return passcount_;}  void print(std::ostream& out = std::cout) const  {    out << testcount_ << " Tests Executed: " ;    if (passcount() != testcount()) {      out << (testcount() - passcount()) << " FAILURES";    }    else {      out << "All Succeeded" << std::endl;    }    out << std::endl;  }private:    TestStats() : testcount_(0), passcount_(0) {}  unsigned int testcount_;  unsigned int passcount_;};bool check(const std::string& testname, bool testcond) {  TestStats& stat = TestStats::instance();  if (testcond) {    std::cout << "Pass :: " << testname << " " <<  std::endl;    stat.addPassingTest();    return true;  }  else {    stat.addFailingTest();    std::cout << "FAIL :: " << testname << " " <<  std::endl;    return false;  }}int printTestStats() {  TestStats& stat = TestStats::instance();  stat.print();  return stat.testcount() - stat.passcount();}#endif

⌨️ 快捷键说明

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