2010-10-14 12:54:38 +08:00
|
|
|
/* ----------------------------------------------------------------------------
|
|
|
|
|
2019-02-11 22:39:48 +08:00
|
|
|
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
|
2010-10-14 12:54:38 +08:00
|
|
|
* Atlanta, Georgia 30332-0415
|
|
|
|
* All Rights Reserved
|
|
|
|
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
|
|
|
|
|
|
|
|
* See LICENSE for the license information
|
|
|
|
|
|
|
|
* -------------------------------------------------------------------------- */
|
|
|
|
|
2009-08-22 06:23:24 +08:00
|
|
|
|
|
|
|
#include "Test.h"
|
|
|
|
#include "TestRegistry.h"
|
|
|
|
#include "TestResult.h"
|
|
|
|
#include "Failure.h"
|
|
|
|
|
2012-07-18 23:43:54 +08:00
|
|
|
#include <boost/lexical_cast.hpp>
|
2009-08-22 06:23:24 +08:00
|
|
|
|
2012-07-18 23:43:54 +08:00
|
|
|
Test::Test (const std::string& testName)
|
2012-10-02 22:40:07 +08:00
|
|
|
: name_ (testName), next_(0), lineNumber_(-1), safeCheck_(true)
|
2009-08-22 06:23:24 +08:00
|
|
|
{
|
2012-10-02 22:40:07 +08:00
|
|
|
TestRegistry::addTest (this);
|
2009-08-22 06:23:24 +08:00
|
|
|
}
|
|
|
|
|
2012-07-18 23:43:55 +08:00
|
|
|
Test::Test (const std::string& testName, const std::string& filename, long lineNumber, bool safeCheck)
|
2012-10-02 22:40:07 +08:00
|
|
|
: name_(testName), next_(0), filename_(filename), lineNumber_(lineNumber), safeCheck_(safeCheck)
|
2010-07-17 03:30:38 +08:00
|
|
|
{
|
2012-10-02 22:40:07 +08:00
|
|
|
TestRegistry::addTest (this);
|
2010-07-17 03:30:38 +08:00
|
|
|
}
|
2009-08-22 06:23:24 +08:00
|
|
|
|
|
|
|
|
|
|
|
Test *Test::getNext() const
|
|
|
|
{
|
2012-10-02 22:40:07 +08:00
|
|
|
return next_;
|
2009-08-22 06:23:24 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void Test::setNext(Test *test)
|
2019-02-11 22:39:48 +08:00
|
|
|
{
|
2012-10-02 22:40:07 +08:00
|
|
|
next_ = test;
|
2009-08-22 06:23:24 +08:00
|
|
|
}
|
|
|
|
|
2012-07-18 23:43:54 +08:00
|
|
|
bool Test::check(long expected, long actual, TestResult& result, const std::string& fileName, long lineNumber)
|
2009-08-22 06:23:24 +08:00
|
|
|
{
|
2012-10-02 22:40:07 +08:00
|
|
|
if (expected == actual)
|
|
|
|
return true;
|
|
|
|
result.addFailure (
|
|
|
|
Failure (
|
2019-02-11 22:39:48 +08:00
|
|
|
name_,
|
2012-10-02 22:40:07 +08:00
|
|
|
boost::lexical_cast<std::string> (__FILE__),
|
2019-02-11 22:39:48 +08:00
|
|
|
__LINE__,
|
2012-10-02 22:40:07 +08:00
|
|
|
boost::lexical_cast<std::string> (expected),
|
|
|
|
boost::lexical_cast<std::string> (actual)));
|
|
|
|
|
|
|
|
return false;
|
2009-08-22 06:23:24 +08:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2012-07-18 23:43:54 +08:00
|
|
|
bool Test::check(const std::string& expected, const std::string& actual, TestResult& result, const std::string& fileName, long lineNumber)
|
2009-08-22 06:23:24 +08:00
|
|
|
{
|
2012-10-02 22:40:07 +08:00
|
|
|
if (expected == actual)
|
|
|
|
return true;
|
|
|
|
result.addFailure (
|
|
|
|
Failure (
|
2019-02-11 22:39:48 +08:00
|
|
|
name_,
|
2012-10-02 22:40:07 +08:00
|
|
|
boost::lexical_cast<std::string> (__FILE__),
|
2019-02-11 22:39:48 +08:00
|
|
|
__LINE__,
|
|
|
|
expected,
|
2012-10-02 22:40:07 +08:00
|
|
|
actual));
|
|
|
|
|
|
|
|
return false;
|
2009-08-22 06:23:24 +08:00
|
|
|
|
|
|
|
}
|
|
|
|
|