20 #include "gmock/gmock.h" 23 namespace mapping_3d {
26 class MotionFilterTest :
public ::testing::Test {
31 "max_time_seconds = 0.5, " 32 "max_distance_meters = 0.2, " 33 "max_angle_radians = 2., " 45 TEST_F(MotionFilterTest, NotInitialized) {
46 MotionFilter motion_filter(
options_);
51 TEST_F(MotionFilterTest, NoChange) {
52 MotionFilter motion_filter(
options_);
53 EXPECT_FALSE(motion_filter.IsSimilar(SecondsSinceEpoch(42),
55 EXPECT_TRUE(motion_filter.IsSimilar(SecondsSinceEpoch(42),
59 TEST_F(MotionFilterTest, TimeElapsed) {
60 MotionFilter motion_filter(
options_);
61 EXPECT_FALSE(motion_filter.IsSimilar(SecondsSinceEpoch(42),
63 EXPECT_FALSE(motion_filter.IsSimilar(SecondsSinceEpoch(43),
65 EXPECT_TRUE(motion_filter.IsSimilar(SecondsSinceEpoch(43),
69 TEST_F(MotionFilterTest, LinearMotion) {
70 MotionFilter motion_filter(
options_);
71 EXPECT_FALSE(motion_filter.IsSimilar(SecondsSinceEpoch(42),
73 EXPECT_FALSE(motion_filter.IsSimilar(
74 SecondsSinceEpoch(42),
76 EXPECT_TRUE(motion_filter.IsSimilar(
77 SecondsSinceEpoch(42),
79 EXPECT_FALSE(motion_filter.IsSimilar(
80 SecondsSinceEpoch(42),
82 EXPECT_TRUE(motion_filter.IsSimilar(
83 SecondsSinceEpoch(42),
87 TEST_F(MotionFilterTest, RotationalMotion) {
88 MotionFilter motion_filter(
options_);
89 EXPECT_FALSE(motion_filter.IsSimilar(SecondsSinceEpoch(42),
91 EXPECT_TRUE(motion_filter.IsSimilar(
93 1.9, Eigen::Vector3d::UnitY()))));
94 EXPECT_FALSE(motion_filter.IsSimilar(
96 2.1, Eigen::Vector3d::UnitY()))));
97 EXPECT_TRUE(motion_filter.IsSimilar(
99 4., Eigen::Vector3d::UnitY()))));
100 EXPECT_FALSE(motion_filter.IsSimilar(
102 5.9, Eigen::Vector3d::UnitY()))));
103 EXPECT_TRUE(motion_filter.IsSimilar(SecondsSinceEpoch(42),
proto::MotionFilterOptions options_
UniversalTimeScaleClock::time_point Time
std::unique_ptr< LuaParameterDictionary > MakeDictionary(const string &code)
Time FromUniversal(const int64 ticks)
proto::MotionFilterOptions CreateMotionFilterOptions(common::LuaParameterDictionary *const parameter_dictionary)