コード例 #1
0
void Test::addTestPartResult(TestPartResult *testPartResult) 
{
  TestPartResult *tmp;
  int type = testPartResult->getType();
 	
  if (testPartResult_ == 0) {
		testPartResult_ = testPartResult;
		testPartResult_->setNext(testPartResult_);
	}
	else {
		tmp = testPartResult_;
		testPartResult_ = testPartResult;
		testPartResult_->setNext(tmp->getNext());
		tmp->setNext(testPartResult_);
	}
	
	if (type == failure) {
	  failuresCount_++;
	}
	else if (type == error) {
		errorsCount_++;
	}  
	else {
		successesCount_++;	  
	}  
}  
コード例 #2
0
TestPartResult* Test::getTestPartResult() const 
{
  TestPartResult *tpr = testPartResult_;
  
  if (tpr != 0) {
  	tpr = tpr->getNext();
  }
  
  return tpr;
}  
コード例 #3
0
void DefaultTestPrinter::printResults( Test *test )
{
	char *indent = "    ";
	TestPartResult *testPR = test->getTestPartResult();
	int size = test->getFailuresCount() + test->getSuccessesCount() + test->getErrorsCount();
	int type;

	for ( int i = 0;i < size;i++ )
	{
		type = testPR->getType();

		if ( type == failure )
		{
			fprintf( output_, "%s%s%s%s%s%ld%s%s\n",
			         indent,
			         "Failure: \"",
			         testPR->getMessage().c_str(),
			         "\" " ,
			         "line ",
			         testPR->getLineNumber(),
			         " in ",
			         testPR->getFileName().c_str() );
		}
		else if ( type == error )
		{
			fprintf( output_, "%s%s%s%s%s%s\n",
			         indent,
			         "Error in ",
			         test->getTestName().c_str(),
			         ": \"",
			         testPR->getMessage().c_str(),
			         "\"" );
		}
		else if ( type == success && showSuccessDetail_ )
		{
			fprintf( output_, "%s%s%s%s%s%ld%s%s\n",
			         indent,
			         "Success: \"",
			         testPR->getMessage().c_str(),
			         "\" " ,
			         "line ",
			         testPR->getLineNumber(),
			         " in ",
			         testPR->getFileName().c_str() );
		}
		testPR = testPR->getNext();
	}
}