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_++; } }
TestPartResult* Test::getTestPartResult() const { TestPartResult *tpr = testPartResult_; if (tpr != 0) { tpr = tpr->getNext(); } return tpr; }
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(); } }