From a384e8c25d1c3c9b812fbff2cb1595d2c41cb589 Mon Sep 17 00:00:00 2001 From: Joaquim Casals <jcasals@iri.upc.edu> Date: Thu, 23 May 2019 12:14:17 +0200 Subject: [PATCH] utils_gtest.h refactor --- codetemplates eclipse.xml | 2 +- test/gtest_example.cpp | 2 +- test/gtest_landmark_polyline.cpp | 2 +- test/gtest_polyline_2D.cpp | 2 +- ..._processor_tracker_feature_polyline_2D.cpp | 2 +- ...st_processor_tracker_landmark_apriltag.cpp | 2 +- test/utils_gtest.h | 146 ------------------ 7 files changed, 6 insertions(+), 152 deletions(-) delete mode 100644 test/utils_gtest.h diff --git a/codetemplates eclipse.xml b/codetemplates eclipse.xml index a83cc56bd..85f43146f 100644 --- a/codetemplates eclipse.xml +++ b/codetemplates eclipse.xml @@ -23,7 +23,7 @@ ${declarations} ${namespace_end}</template><template autoinsert="false" context="org.eclipse.cdt.core.cxxSource.contenttype_context" deleted="false" description="Default template for newly created C++ test files" enabled="true" id="org.eclipse.cdt.ui.text.codetemplates.cpptestfile" name="Default C++ test template">${filecomment} -#include "utils_gtest.h" +#include <core/utils/utils_gtest.h> ${includes} diff --git a/test/gtest_example.cpp b/test/gtest_example.cpp index 0cadea4ff..140792d53 100644 --- a/test/gtest_example.cpp +++ b/test/gtest_example.cpp @@ -1,4 +1,4 @@ -#include "utils_gtest.h" +#include <core/utils/utils_gtest.h> TEST(TestTest, DummyTestExample) { diff --git a/test/gtest_landmark_polyline.cpp b/test/gtest_landmark_polyline.cpp index daa6a21eb..4accc8b55 100644 --- a/test/gtest_landmark_polyline.cpp +++ b/test/gtest_landmark_polyline.cpp @@ -1,4 +1,4 @@ -#include "utils_gtest.h" +#include <core/utils/utils_gtest.h> #include "laser/landmark/landmark_polyline_2D.h" using namespace wolf; diff --git a/test/gtest_polyline_2D.cpp b/test/gtest_polyline_2D.cpp index 2318ad97b..39ee8f1fa 100644 --- a/test/gtest_polyline_2D.cpp +++ b/test/gtest_polyline_2D.cpp @@ -1,5 +1,5 @@ #include <stdlib.h> -#include "utils_gtest.h" +#include <core/utils/utils_gtest.h> #include "laser/processor/polyline_2D_utils.h" using namespace wolf; diff --git a/test/gtest_processor_tracker_feature_polyline_2D.cpp b/test/gtest_processor_tracker_feature_polyline_2D.cpp index 692fb4d6c..51d6b6713 100644 --- a/test/gtest_processor_tracker_feature_polyline_2D.cpp +++ b/test/gtest_processor_tracker_feature_polyline_2D.cpp @@ -8,7 +8,7 @@ #include "laser/processor/processor_tracker_feature_polyline_2D.h" #include "core/common/wolf.h" -#include "utils_gtest.h" +#include <core/utils/utils_gtest.h> #include "core/utils/logging.h" #include "core/ceres_wrapper/ceres_manager.h" diff --git a/test/gtest_processor_tracker_landmark_apriltag.cpp b/test/gtest_processor_tracker_landmark_apriltag.cpp index de375de55..cd5cc87dc 100644 --- a/test/gtest_processor_tracker_landmark_apriltag.cpp +++ b/test/gtest_processor_tracker_landmark_apriltag.cpp @@ -1,4 +1,4 @@ -#include "utils_gtest.h" +#include <core/utils/utils_gtest.h> #include "base/common/wolf.h" #include "base/utils/logging.h" diff --git a/test/utils_gtest.h b/test/utils_gtest.h deleted file mode 100644 index 9cb2166e8..000000000 --- a/test/utils_gtest.h +++ /dev/null @@ -1,146 +0,0 @@ -/** - * \file utils_gtest.h - * \brief Some utils for gtest - * \author Jeremie Deray - * Created on: 26/09/2016 - * Eigen macros extension by: Joan Sola on 26/04/2017 - */ - -#ifndef WOLF_UTILS_GTEST_H -#define WOLF_UTILS_GTEST_H - -#include <gtest/gtest.h> - -// Macros for testing equalities and inequalities. -// -// * {ASSERT|EXPECT}_EQ(expected, actual): Tests that expected == actual -// * {ASSERT|EXPECT}_NE(v1, v2): Tests that v1 != v2 -// * {ASSERT|EXPECT}_LT(v1, v2): Tests that v1 < v2 -// * {ASSERT|EXPECT}_LE(v1, v2): Tests that v1 <= v2 -// * {ASSERT|EXPECT}_GT(v1, v2): Tests that v1 > v2 -// * {ASSERT|EXPECT}_GE(v1, v2): Tests that v1 >= v2 -// -// C String Comparisons. All tests treat NULL and any non-NULL string -// as different. Two NULLs are equal. -// -// * {ASSERT|EXPECT}_STREQ(s1, s2): Tests that s1 == s2 -// * {ASSERT|EXPECT}_STRNE(s1, s2): Tests that s1 != s2 -// * {ASSERT|EXPECT}_STRCASEEQ(s1, s2): Tests that s1 == s2, ignoring case -// * {ASSERT|EXPECT}_STRCASENE(s1, s2): Tests that s1 != s2, ignoring case -// -// Macros for comparing floating-point numbers. -// -// * {ASSERT|EXPECT}_FLOAT_EQ(expected, actual): -// Tests that two float values are almost equal. -// * {ASSERT|EXPECT}_DOUBLE_EQ(expected, actual): -// Tests that two double values are almost equal. -// * {ASSERT|EXPECT}_NEAR(v1, v2, abs_error): -// Tests that v1 and v2 are within the given distance to each other. -// -// These predicate format functions work on floating-point values, and -// can be used in {ASSERT|EXPECT}_PRED_FORMAT2*(), e.g. -// -// EXPECT_PRED_FORMAT2(testing::DoubleLE, Foo(), 5.0); -// -// Macros that execute statement and check that it doesn't generate new fatal -// failures in the current thread. -// -// * {ASSERT|EXPECT}_NO_FATAL_FAILURE(statement); - -// http://stackoverflow.com/a/29155677 - -namespace testing -{ -namespace internal -{ -enum GTestColor -{ - COLOR_DEFAULT, - COLOR_RED, - COLOR_GREEN, - COLOR_YELLOW -}; - -extern void ColoredPrintf(GTestColor color, const char* fmt, ...); - -#define PRINTF(...) \ - do { testing::internal::ColoredPrintf(testing::internal::COLOR_GREEN,\ - "[ ] "); \ - testing::internal::ColoredPrintf(testing::internal::COLOR_YELLOW, __VA_ARGS__); } \ - while(0) - -#define PRINT_TEST_FINISHED \ -{ \ - const ::testing::TestInfo* const test_info = \ - ::testing::UnitTest::GetInstance()->current_test_info(); \ - PRINTF(std::string("Finished test case ").append(test_info->test_case_name()).\ - append(" of test ").append(test_info->name()).append(".\n").c_str()); \ -} - -// C++ stream interface -class TestCout : public std::stringstream -{ -public: - ~TestCout() - { - PRINTF("%s\n", str().c_str()); - } -}; - -/* Usage : - -TEST(Test, Foo) -{ - // the following works but prints default stream - EXPECT_TRUE(false) << "Testing Stream."; - - // or you can play with AINSI color code - EXPECT_TRUE(false) << "\033[1;31m" << "Testing Stream."; - - // or use the above defined macros - - PRINTF("Hello world"); - - // or - - TEST_COUT << "Hello world"; -} - -*/ -#define TEST_COUT testing::internal::TestCout() - -} // namespace internal - -/* Macros related to testing Eigen classes: - */ -#define EXPECT_MATRIX_APPROX(C_expect, C_actual, precision) EXPECT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \ - return (lhs - rhs).isMuchSmallerThan(1, precision); \ - }, \ - C_expect, C_actual); - -#define ASSERT_MATRIX_APPROX(C_expect, C_actual, precision) ASSERT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \ - return (lhs - rhs).isMuchSmallerThan(1, precision); \ - }, \ - C_expect, C_actual); - -#define EXPECT_QUATERNION_APPROX(C_expect, C_actual, precision) EXPECT_MATRIX_APPROX((C_expect).coeffs(), (C_actual).coeffs(), precision) - -#define ASSERT_QUATERNION_APPROX(C_expect, C_actual, precision) ASSERT_MATRIX_APPROX((C_expect).coeffs(), (C_actual).coeffs(), precision) - -#define EXPECT_POSE2D_APPROX(C_expect, C_actual, precision) EXPECT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \ - MatrixXs er = lhs - rhs; \ - er(2) = pi2pi((Scalar)er(2)); \ - return er.isMuchSmallerThan(1, precision); \ - }, \ - C_expect, C_actual); - -#define ASSERT_POSE2D_APPROX(C_expect, C_actual, precision) EXPECT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \ - MatrixXs er = lhs - rhs; \ - er(2) = pi2pi((Scalar)er(2)); \ - return er.isMuchSmallerThan(1, precision); \ - }, \ - C_expect, C_actual); - -} // namespace testing - -#endif /* WOLF_UTILS_GTEST_H */ -- GitLab