Fix sanity checks for empty objects
This commit is contained in:
parent
f8672d49a0
commit
c146c54bcd
@ -392,6 +392,13 @@ void Regression::verify(cv::FileNode node, cv::InputArray array, double eps, ERR
|
||||
cv::Mat expected;
|
||||
valnode >> expected;
|
||||
|
||||
if(expected.empty())
|
||||
{
|
||||
ASSERT_TRUE(actual.empty())
|
||||
<< " expected empty " << node.name() << "[" << idx<< "]";
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_EQ(expected.size(), actual.size())
|
||||
<< " " << node.name() << "[" << idx<< "] has unexpected size";
|
||||
|
||||
@ -402,8 +409,12 @@ void Regression::verify(cv::FileNode node, cv::InputArray array, double eps, ERR
|
||||
{
|
||||
if (!cv::checkRange(diff, true, 0, 0, eps))
|
||||
{
|
||||
if(expected.total() * expected.channels() < 12)
|
||||
std::cout << " Expected: " << std::endl << expected << std::endl << " Actual:" << std::endl << actual << std::endl;
|
||||
|
||||
double max;
|
||||
cv::minMaxLoc(diff.reshape(1), 0, &max);
|
||||
|
||||
FAIL() << " Absolute difference (=" << max << ") between argument \""
|
||||
<< node.name() << "[" << idx << "]\" and expected value is bugger than " << eps;
|
||||
}
|
||||
@ -420,6 +431,7 @@ void Regression::verify(cv::FileNode node, cv::InputArray array, double eps, ERR
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (valnode.isNone())
|
||||
@ -434,6 +446,13 @@ void Regression::verify(cv::FileNode node, cv::InputArray array, double eps, ERR
|
||||
valnode >> expected;
|
||||
cv::Mat actual = array.getMat();
|
||||
|
||||
if(expected.empty())
|
||||
{
|
||||
ASSERT_TRUE(actual.empty())
|
||||
<< " expected empty " << node.name();
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_EQ(expected.size(), actual.size())
|
||||
<< " Argument \"" << node.name() << "\" has unexpected size";
|
||||
|
||||
@ -444,9 +463,13 @@ void Regression::verify(cv::FileNode node, cv::InputArray array, double eps, ERR
|
||||
{
|
||||
if (!cv::checkRange(diff, true, 0, 0, eps))
|
||||
{
|
||||
if(expected.total() * expected.channels() < 12)
|
||||
std::cout << " Expected: " << std::endl << expected << std::endl << " Actual:" << std::endl << actual << std::endl;
|
||||
|
||||
double max;
|
||||
cv::minMaxLoc(diff.reshape(1), 0, &max);
|
||||
FAIL() << " Difference (=" << max << ") between argument \"" << node.name()
|
||||
|
||||
FAIL() << " Difference (=" << max << ") between argument1 \"" << node.name()
|
||||
<< "\" and expected value is bugger than " << eps;
|
||||
}
|
||||
}
|
||||
@ -463,6 +486,7 @@ void Regression::verify(cv::FileNode node, cv::InputArray array, double eps, ERR
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Regression& Regression::operator() (const std::string& name, cv::InputArray array, double eps, ERROR_TYPE err)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user