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

📄 texttestresult.cpp

📁 C++ class libraries for network-centric, portable applications, integrated perfectly with the C++ St
💻 CPP
字号:
//// TextTestResult.cpp//// $Id: //poco/1.2/CppUnit/src/TextTestResult.cpp#1 $//#include "CppUnit/TextTestResult.h"#include "CppUnit/CppUnitException.h"#include "CppUnit/Test.h"#include "CppUnit/estring.h"#include <iostream>#include <iomanip>namespace CppUnit {void TextTestResult::addError(Test* test, CppUnitException* e){	TestResult::addError(test, e);	std::cerr << "ERROR" << std::flush;}void TextTestResult::addFailure(Test* test, CppUnitException* e){	TestResult::addFailure(test, e);	std::cerr << "FAILURE" << std::flush;}void TextTestResult::startTest(Test* test){	TestResult::startTest(test);	std::cerr << "\n" << shortName(test->toString()) << ": ";}void TextTestResult::printErrors(std::ostream& stream){	if (testErrors() != 0) 	{		stream << "\n";		if (testErrors() == 1)			stream << "There was " << testErrors() << " error: " << std::endl;		else			stream << "There were " << testErrors() << " errors: " << std::endl;		int i = 1;		for (std::vector<TestFailure*>::iterator it = errors().begin(); it != errors().end(); ++it)		{			TestFailure* failure = *it;			CppUnitException* e = failure->thrownException();			stream << std::setw(2) << i			       << ": "			       << failure->failedTest()->toString() << "\n"			       << "    \"" << (e ? e->what() : "") << "\"\n"			       << "    in \"" 			       << (e ? e->fileName() : std::string())			       << "\", line ";			if (e == 0)			{				stream << "0";			}			else			{				stream << e->lineNumber();				if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER)				{					stream << " data lines " << e->data1LineNumber()                                               << ", " << e->data2LineNumber();				}				else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER)				{					stream << " data line " << e->data1LineNumber();				}			}			stream << "\n";			i++;		}	}}void TextTestResult::printFailures(std::ostream& stream){	if (testFailures() != 0)	{		stream << "\n";		if (testFailures() == 1)			stream << "There was " << testFailures() << " failure: " << std::endl;		else			stream << "There were " << testFailures() << " failures: " << std::endl;		int i = 1;		for (std::vector<TestFailure*>::iterator it = failures().begin(); it != failures().end(); ++it)		{			TestFailure* failure = *it;			CppUnitException* e = failure->thrownException();			stream << std::setw(2) << i			       << ": "			       << failure->failedTest()->toString() << "\n"			       << "    \"" << (e ? e->what() : "") << "\"\n"			       << "    in \"" 			       << (e ? e->fileName() : std::string())			       << "\", line ";			if (e == 0)			{				stream << "0";			}			else			{				stream << e->lineNumber();				if (e->data2LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER)				{					stream << " data lines " 					       << e->data1LineNumber()                           << ", " << e->data2LineNumber();				}				else if (e->data1LineNumber() != CppUnitException::CPPUNIT_UNKNOWNLINENUMBER)				{					stream << " data line " << e->data1LineNumber();				}			}			stream << "\n";			i++;		}	}}void TextTestResult::print(std::ostream& stream){	printHeader(stream);	printErrors(stream);	printFailures(stream);}void TextTestResult::printHeader(std::ostream& stream){	std::cout << "\n\n";	if (wasSuccessful())		std::cout << "OK (" 		          << runTests() << " tests)" 		          << std::endl;	else		std::cout << "!!!FAILURES!!!" << std::endl		          << "Runs: "		          << runTests ()		          << "   Failures: "		          << testFailures ()		          << "   Errors: "		          << testErrors ()		          << std::endl;}std::string TextTestResult::shortName(const std::string& testName){	std::string::size_type pos = testName.rfind('.');	if (pos != std::string::npos)		return std::string(testName, pos + 1);	else		return testName;}} // namespace CppUnit

⌨️ 快捷键说明

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