#include <gtest/gtest.h>
#include <Eigen/Core>
#include <iostream>
#include <cmath>
Go to the source code of this file.
Namespaces | |
namespace | grid_map |
Defines | |
#define | ASSERT_DOUBLE_MX_EQ(A, B, PERCENT_TOLERANCE, MSG) |
#define | ASSERT_DOUBLE_SPARSE_MX_EQ(A, B, PERCENT_TOLERANCE, MSG) |
Functions | |
template<typename M1 , typename M2 > | |
void | grid_map::assertEqual (const M1 &A, const M2 &B, std::string const &message="") |
template<typename M1 > | |
void | grid_map::assertFinite (const M1 &A, std::string const &message="") |
template<typename M1 , typename M2 , typename T > | |
void | grid_map::assertNear (const M1 &A, const M2 &B, T tolerance, std::string const &message="") |
bool | grid_map::compareRelative (double a, double b, double percentTolerance, double *percentError=NULL) |
template<typename M1 , typename M2 , typename T > | |
void | grid_map::expectNear (const M1 &A, const M2 &B, T tolerance, std::string const &message="") |
template<int N> | |
Eigen::Matrix< double, N, N > | grid_map::randomCovariance () |
Eigen::MatrixXd | grid_map::randomCovarianceXd (int N) |
#define ASSERT_DOUBLE_MX_EQ | ( | A, | |
B, | |||
PERCENT_TOLERANCE, | |||
MSG | |||
) |
ASSERT_EQ((size_t)(A).rows(), (size_t)(B).rows()) << MSG << "\nMatrix " << #A << ":\n" << A << "\nand matrix " << #B << "\n" << B << "\nare not the same size"; \ ASSERT_EQ((size_t)(A).cols(), (size_t)(B).cols()) << MSG << "\nMatrix " << #A << ":\n" << A << "\nand matrix " << #B << "\n" << B << "\nare not the same size"; \ for(int r = 0; r < (A).rows(); r++) \ { \ for(int c = 0; c < (A).cols(); c++) \ { \ double percentError = 0.0; \ ASSERT_TRUE(grid_map::compareRelative( (A)(r,c), (B)(r,c), PERCENT_TOLERANCE, &percentError)) \ << MSG << "\nComparing:\n" \ << #A << "(" << r << "," << c << ") = " << (A)(r,c) << std::endl \ << #B << "(" << r << "," << c << ") = " << (B)(r,c) << std::endl \ << "Error was " << percentError << "% > " << PERCENT_TOLERANCE << "%\n" \ << "\nMatrix " << #A << ":\n" << A << "\nand matrix " << #B << "\n" << B; \ } \ }
Definition at line 127 of file gtest_eigen.hpp.
#define ASSERT_DOUBLE_SPARSE_MX_EQ | ( | A, | |
B, | |||
PERCENT_TOLERANCE, | |||
MSG | |||
) |
ASSERT_EQ((size_t)(A).rows(), (size_t)(B).rows()) << MSG << "\nMatrix " << #A << ":\n" << A << "\nand matrix " << #B << "\n" << B << "\nare not the same size"; \ ASSERT_EQ((size_t)(A).cols(), (size_t)(B).cols()) << MSG << "\nMatrix " << #A << ":\n" << A << "\nand matrix " << #B << "\n" << B << "\nare not the same size"; \ for(int r = 0; r < (A).rows(); r++) \ { \ for(int c = 0; c < (A).cols(); c++) \ { \ double percentError = 0.0; \ ASSERT_TRUE(grid_map::compareRelative( (A).coeff(r,c), (B).coeff(r,c), PERCENT_TOLERANCE, &percentError)) \ << MSG << "\nComparing:\n" \ << #A << "(" << r << "," << c << ") = " << (A).coeff(r,c) << std::endl \ << #B << "(" << r << "," << c << ") = " << (B).coeff(r,c) << std::endl \ << "Error was " << percentError << "% > " << PERCENT_TOLERANCE << "%\n" \ << "\nMatrix " << #A << ":\n" << A << "\nand matrix " << #B << "\n" << B; \ } \ }
Definition at line 144 of file gtest_eigen.hpp.